@itcase/ui 1.8.57 → 1.8.58

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.
@@ -34,48 +34,48 @@ var accordionAppearanceSize = {
34
34
  titleTextSize: 'h3',
35
35
  badgeAppearanceSize: 'sizeXS',
36
36
  contentTextSize: 'xxl',
37
- icon: _default.icons16.Arrow.Chevron_Down,
37
+ icon: _default.icons16.Arrow.ChevronDown,
38
38
  },
39
39
  sizeXL: {
40
40
  size: 'xl',
41
41
  titleTextSize: 'h3',
42
42
  badgeAppearanceSize: 'sizeXS',
43
43
  contentTextSize: 'l',
44
- icon: _default.icons16.Arrow.Chevron_Down,
44
+ icon: _default.icons16.Arrow.ChevronDown,
45
45
  },
46
46
  sizeL: {
47
47
  size: 'l',
48
48
  titleTextSize: 'h4',
49
49
  badgeAppearanceSize: 'sizeXS',
50
- icon: _default.icons16.Arrow.Chevron_Down,
50
+ icon: _default.icons16.Arrow.ChevronDown,
51
51
  },
52
52
  sizeM: {
53
53
  size: 'm',
54
54
  titleTextSize: 'h5',
55
55
  badgeAppearanceSize: 'sizeXS',
56
56
  contentTextSize: 'm',
57
- icon: _default.icons16.Arrow.Chevron_Down,
57
+ icon: _default.icons16.Arrow.ChevronDown,
58
58
  },
59
59
  sizeS: {
60
60
  size: 's',
61
61
  titleTextSize: 'h6',
62
62
  badgeAppearanceSize: 'sizeXS',
63
63
  contentTextSize: 's',
64
- icon: _default.icons16.Arrow.Chevron_Down,
64
+ icon: _default.icons16.Arrow.ChevronDown,
65
65
  },
66
66
  sizeXS: {
67
67
  size: 'xs',
68
68
  titleTextSize: 'h6',
69
69
  badgeAppearanceSize: 'sizeXS',
70
70
  contentTextSize: 'xs',
71
- icon: _default.icons16.Arrow.Chevron_Down,
71
+ icon: _default.icons16.Arrow.ChevronDown,
72
72
  },
73
73
  sizeXXS: {
74
74
  size: 'xxs',
75
75
  titleTextSize: 'h6',
76
76
  badgeAppearanceSize: 'sizeXS',
77
77
  contentTextSize: 'xs',
78
- icon: _default.icons16.Arrow.Chevron_Down,
78
+ icon: _default.icons16.Arrow.ChevronDown,
79
79
  },
80
80
  };
81
81
 
@@ -181,20 +181,33 @@ var menuItemConfig = {
181
181
  },
182
182
  };
183
183
  function MenuItem(props) {
184
- var className = props.className, appearance = props.appearance, label = props.label, isDisabled = props.isDisabled, href = props.href, link = props.link, LinkComponent = props.LinkComponent, rel = props.rel, target = props.target, underline = props.underline, before = props.before, after = props.after, isActive = props.isActive, onClick = props.onClick, onMouseEnter = props.onMouseEnter, children = props.children;
184
+ var className = props.className, appearance = props.appearance, label = props.label, isDisabled = props.isDisabled, href = props.href, link = props.link, LinkComponent = props.LinkComponent, rel = props.rel, showTooltip = props.showTooltip, target = props.target, tooltipAppearance = props.tooltipAppearance, underline = props.underline, before = props.before, after = props.after, isActive = props.isActive, onClick = props.onClick, children = props.children;
185
+ var tooltipRef = React.useRef(null);
186
+ var onMouseEnter = React.useCallback(function () {
187
+ var _a;
188
+ if (showTooltip) {
189
+ (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.openTooltip();
190
+ }
191
+ }, [showTooltip]);
192
+ var onMouseLeave = React.useCallback(function () {
193
+ var _a;
194
+ if (showTooltip) {
195
+ (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.closeTooltip();
196
+ }
197
+ }, [showTooltip]);
185
198
  var appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, menuItemConfig);
186
199
  var propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
187
- var directionClass = propsGenerator.directionClass, justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillActiveClass = propsGenerator.fillActiveClass, fillActiveHoverClass = propsGenerator.fillActiveHoverClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, labelStyle = propsGenerator.labelStyle, labelTextActiveColor = propsGenerator.labelTextActiveColor, labelTextActiveHoverColor = propsGenerator.labelTextActiveHoverColor, labelTextColor = propsGenerator.labelTextColor, labelTextColorDisabled = propsGenerator.labelTextColorDisabled, labelTextHoverColor = propsGenerator.labelTextHoverColor, labelTextSize = propsGenerator.labelTextSize, labelWeight = propsGenerator.labelWeight, labelWrap = propsGenerator.labelWrap, borderColorClass = propsGenerator.borderColorClass, iconAfter = propsGenerator.iconAfter, iconAfterFill = propsGenerator.iconAfterFill, iconAfterFillIcon = propsGenerator.iconAfterFillIcon, iconAfterFillSize = propsGenerator.iconAfterFillSize, iconAfterShape = propsGenerator.iconAfterShape, iconAfterSize = propsGenerator.iconAfterSize, iconAfterSrc = propsGenerator.iconAfterSrc, iconBadgeAppearance = propsGenerator.iconBadgeAppearance, iconBadgeShape = propsGenerator.iconBadgeShape, iconBadgeSize = propsGenerator.iconBadgeSize, iconBadgeTextColor = propsGenerator.iconBadgeTextColor, iconBadgeTextSize = propsGenerator.iconBadgeTextSize, iconBadgeValue = propsGenerator.iconBadgeValue, iconBefore = propsGenerator.iconBefore, iconBeforeFill = propsGenerator.iconBeforeFill, iconBeforeFillIcon = propsGenerator.iconBeforeFillIcon, iconBeforeFillSize = propsGenerator.iconBeforeFillSize, iconBeforeShape = propsGenerator.iconBeforeShape, iconBeforeSize = propsGenerator.iconBeforeSize, iconBeforeSrc = propsGenerator.iconBeforeSrc, shapeClass = propsGenerator.shapeClass, shapeStrengthClass = propsGenerator.shapeStrengthClass, sizeClass = propsGenerator.sizeClass, tooltipAppearance = propsGenerator.tooltipAppearance, tooltipFill = propsGenerator.tooltipFill, tooltipShapeStrength = propsGenerator.tooltipShapeStrength, tooltipText = propsGenerator.tooltipText, tooltipTextColor = propsGenerator.tooltipTextColor, tooltipTitleTextColor = propsGenerator.tooltipTitleTextColor, typeClass = propsGenerator.typeClass, widthClass = propsGenerator.widthClass, isSkeleton = propsGenerator.isSkeleton;
200
+ var directionClass = propsGenerator.directionClass, justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillActiveClass = propsGenerator.fillActiveClass, fillActiveHoverClass = propsGenerator.fillActiveHoverClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, labelStyle = propsGenerator.labelStyle, labelTextActiveColor = propsGenerator.labelTextActiveColor, labelTextActiveHoverColor = propsGenerator.labelTextActiveHoverColor, labelTextColor = propsGenerator.labelTextColor, labelTextColorDisabled = propsGenerator.labelTextColorDisabled, labelTextHoverColor = propsGenerator.labelTextHoverColor, labelTextSize = propsGenerator.labelTextSize, labelWeight = propsGenerator.labelWeight, labelWrap = propsGenerator.labelWrap, borderColorClass = propsGenerator.borderColorClass, iconAfter = propsGenerator.iconAfter, iconAfterFill = propsGenerator.iconAfterFill, iconAfterFillIcon = propsGenerator.iconAfterFillIcon, iconAfterFillSize = propsGenerator.iconAfterFillSize, iconAfterShape = propsGenerator.iconAfterShape, iconAfterSize = propsGenerator.iconAfterSize, iconAfterSrc = propsGenerator.iconAfterSrc, iconBadgeAppearance = propsGenerator.iconBadgeAppearance, iconBadgeShape = propsGenerator.iconBadgeShape, iconBadgeSize = propsGenerator.iconBadgeSize, iconBadgeTextColor = propsGenerator.iconBadgeTextColor, iconBadgeTextSize = propsGenerator.iconBadgeTextSize, iconBadgeValue = propsGenerator.iconBadgeValue, iconBefore = propsGenerator.iconBefore, iconBeforeFill = propsGenerator.iconBeforeFill, iconBeforeFillIcon = propsGenerator.iconBeforeFillIcon, iconBeforeFillSize = propsGenerator.iconBeforeFillSize, iconBeforeShape = propsGenerator.iconBeforeShape, iconBeforeSize = propsGenerator.iconBeforeSize, iconBeforeSrc = propsGenerator.iconBeforeSrc, shapeClass = propsGenerator.shapeClass, shapeStrengthClass = propsGenerator.shapeStrengthClass, sizeClass = propsGenerator.sizeClass, tooltipFill = propsGenerator.tooltipFill, tooltipShapeStrength = propsGenerator.tooltipShapeStrength, tooltipText = propsGenerator.tooltipText, tooltipTextColor = propsGenerator.tooltipTextColor, tooltipTitleTextColor = propsGenerator.tooltipTitleTextColor, typeClass = propsGenerator.typeClass, widthClass = propsGenerator.widthClass, isSkeleton = propsGenerator.isSkeleton;
188
201
  // @ts-expect-error
189
202
  var menuItem = useStyles.useStyles(props).styles;
190
- return (jsxRuntime.jsx("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isDisabled && "menu-item_state_disabled", directionClass && "menu-item_direction_".concat(directionClass), className, sizeClass && "menu-item_size_".concat(sizeClass), borderColorClass && "border-color_".concat(borderColorClass), !isActive
203
+ return (jsxRuntime.jsxs("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isDisabled && "menu-item_state_disabled", directionClass && "menu-item_direction_".concat(directionClass), className, sizeClass && "menu-item_size_".concat(sizeClass), borderColorClass && "border-color_".concat(borderColorClass), !isActive
191
204
  ? fillClass && "fill_".concat(fillClass)
192
205
  : fillActiveClass && "fill_active_".concat(fillActiveClass), !isActive
193
206
  ? fillHoverClass && "fill_hover_".concat(fillHoverClass)
194
207
  : fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), shapeClass && "shape_".concat(shapeClass), shapeStrengthClass
195
208
  ? "shape-strength_".concat(shapeStrengthClass)
196
209
  : shapeClass === 'rounded' && 'shape-strength_default', typeClass && "menu-item_type_".concat(typeClass), widthClass && "width_".concat(widthClass), justifyContentClass &&
197
- "menu-item_justify-content_".concat(justifyContentClass), isSkeleton && "menu-item_skeleton"), style: menuItem, onClick: onClick, onMouseEnter: onMouseEnter, children: jsxRuntime.jsxs(Link.Link, { className: clsx('menu-item__wrapper', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), href: link || href, LinkComponent: LinkComponent, rel: rel, target: target, underline: underline, children: [before, children || (jsxRuntime.jsxs(React.Fragment, { children: [(iconBefore || iconBeforeSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('menu-item__icon_before', iconBadgeValue && 'menu-item__icon_before-badge'), fill: iconBeforeFill, fillSize: iconBeforeFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_before_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconBeforeFillIcon, iconSize: iconBeforeSize, imageSrc: iconBeforeSrc, shape: iconBeforeShape, SvgImage: iconBefore })), label && (jsxRuntime.jsx(Text.Text, { className: "menu-item__label", size: labelTextSize, textColor: labelTextColor, textColorActive: labelTextActiveColor, textColorActiveHover: labelTextActiveHoverColor, textColorDisabled: labelTextColorDisabled, textColorHover: labelTextHoverColor, textStyle: labelStyle, textWeight: labelWeight, textWrap: labelWrap, isDisabled: isDisabled, isActive: isActive, children: label })), (iconAfter || iconAfterSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('menu-item__icon_after', iconBadgeValue && 'menu-item__icon_after-badge'), fill: iconAfterFill, fillSize: iconAfterFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_after_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconAfterFillIcon, iconSize: iconAfterSize, imageSrc: iconAfterSrc, shape: iconAfterShape, SvgImage: iconAfter }))] })), after, jsxRuntime.jsx(Icon.Tooltip, { className: "menu-item__tooltip", appearance: tooltipAppearance, minWidth: "auto", fill: tooltipFill, left: "100%", zIndex: "100", titleTextColor: tooltipTitleTextColor, text: tooltipText, textColor: tooltipTextColor, centering: "vertical", shapeStrength: tooltipShapeStrength })] }) }));
210
+ "menu-item_justify-content_".concat(justifyContentClass), isSkeleton && "menu-item_skeleton"), style: menuItem, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: [jsxRuntime.jsxs(Link.Link, { className: clsx('menu-item__wrapper', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), href: link || href, LinkComponent: LinkComponent, rel: rel, target: target, underline: underline, children: [before, children || (jsxRuntime.jsxs(React.Fragment, { children: [(iconBefore || iconBeforeSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('menu-item__icon_before', iconBadgeValue && 'menu-item__icon_before-badge'), fill: iconBeforeFill, fillSize: iconBeforeFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_before_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconBeforeFillIcon, iconSize: iconBeforeSize, imageSrc: iconBeforeSrc, shape: iconBeforeShape, SvgImage: iconBefore })), label && (jsxRuntime.jsx(Text.Text, { className: "menu-item__label", size: labelTextSize, textColor: labelTextColor, textColorActive: labelTextActiveColor, textColorActiveHover: labelTextActiveHoverColor, textColorDisabled: labelTextColorDisabled, textColorHover: labelTextHoverColor, textStyle: labelStyle, textWeight: labelWeight, textWrap: labelWrap, isDisabled: isDisabled, isActive: isActive, children: label })), (iconAfter || iconAfterSrc) && (jsxRuntime.jsx(Icon.Icon, { className: clsx('menu-item__icon_after', iconBadgeValue && 'menu-item__icon_after-badge'), fill: iconAfterFill, fillSize: iconAfterFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_after_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconAfterFillIcon, iconSize: iconAfterSize, imageSrc: iconAfterSrc, shape: iconAfterShape, SvgImage: iconAfter }))] })), after] }), showTooltip && (jsxRuntime.jsx(Icon.Tooltip, { className: "menu-item__tooltip", appearance: tooltipAppearance, minWidth: "auto", fill: tooltipFill, left: "100%", zIndex: "100", titleTextColor: tooltipTitleTextColor, text: tooltipText, textColor: tooltipTextColor, centering: "vertical", ref: tooltipRef, shapeStrength: tooltipShapeStrength }))] }));
198
211
  }
199
212
 
200
213
  exports.MenuItem = MenuItem;
@@ -14,11 +14,10 @@ var urlWithAssetPrefix = function (WrappedComponent) {
14
14
  var url = props[propKey];
15
15
  if (url && typeof url === 'string') {
16
16
  if (assetPrefix) {
17
- var cleanUrl = common.formatURL(url);
18
- var isNeedAssetPrefix = checkIsNeedAssetPrefix(cleanUrl, assetPrefix, ignorePathsList);
17
+ var isNeedAssetPrefix = checkIsNeedAssetPrefix(url, assetPrefix, ignorePathsList);
19
18
  if (isNeedAssetPrefix) {
20
19
  var prefixPath = common.formatURL(assetPrefix).slice(0, -1);
21
- url = "".concat(prefixPath).concat(cleanUrl);
20
+ url = "".concat(prefixPath).concat(url);
22
21
  }
23
22
  }
24
23
  resultProps[propKey] = url;
@@ -52,7 +51,7 @@ var checkIsNeedAssetPrefix = function (url, assetPrefix, ignorePathsList) {
52
51
  }
53
52
  }
54
53
  else {
55
- if (url.startsWith(common.formatURL(urlPath))) {
54
+ if (common.formatURL(url).startsWith(common.formatURL(urlPath))) {
56
55
  return false;
57
56
  }
58
57
  }
@@ -32,48 +32,48 @@ var accordionAppearanceSize = {
32
32
  titleTextSize: 'h3',
33
33
  badgeAppearanceSize: 'sizeXS',
34
34
  contentTextSize: 'xxl',
35
- icon: icons16.Arrow.Chevron_Down,
35
+ icon: icons16.Arrow.ChevronDown,
36
36
  },
37
37
  sizeXL: {
38
38
  size: 'xl',
39
39
  titleTextSize: 'h3',
40
40
  badgeAppearanceSize: 'sizeXS',
41
41
  contentTextSize: 'l',
42
- icon: icons16.Arrow.Chevron_Down,
42
+ icon: icons16.Arrow.ChevronDown,
43
43
  },
44
44
  sizeL: {
45
45
  size: 'l',
46
46
  titleTextSize: 'h4',
47
47
  badgeAppearanceSize: 'sizeXS',
48
- icon: icons16.Arrow.Chevron_Down,
48
+ icon: icons16.Arrow.ChevronDown,
49
49
  },
50
50
  sizeM: {
51
51
  size: 'm',
52
52
  titleTextSize: 'h5',
53
53
  badgeAppearanceSize: 'sizeXS',
54
54
  contentTextSize: 'm',
55
- icon: icons16.Arrow.Chevron_Down,
55
+ icon: icons16.Arrow.ChevronDown,
56
56
  },
57
57
  sizeS: {
58
58
  size: 's',
59
59
  titleTextSize: 'h6',
60
60
  badgeAppearanceSize: 'sizeXS',
61
61
  contentTextSize: 's',
62
- icon: icons16.Arrow.Chevron_Down,
62
+ icon: icons16.Arrow.ChevronDown,
63
63
  },
64
64
  sizeXS: {
65
65
  size: 'xs',
66
66
  titleTextSize: 'h6',
67
67
  badgeAppearanceSize: 'sizeXS',
68
68
  contentTextSize: 'xs',
69
- icon: icons16.Arrow.Chevron_Down,
69
+ icon: icons16.Arrow.ChevronDown,
70
70
  },
71
71
  sizeXXS: {
72
72
  size: 'xxs',
73
73
  titleTextSize: 'h6',
74
74
  badgeAppearanceSize: 'sizeXS',
75
75
  contentTextSize: 'xs',
76
- icon: icons16.Arrow.Chevron_Down,
76
+ icon: icons16.Arrow.ChevronDown,
77
77
  },
78
78
  };
79
79
 
@@ -1,5 +1,5 @@
1
- import { jsx, jsxs } from 'react/jsx-runtime';
2
- import React from 'react';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import React, { useRef, useCallback } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
5
5
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
@@ -179,20 +179,33 @@ var menuItemConfig = {
179
179
  },
180
180
  };
181
181
  function MenuItem(props) {
182
- var className = props.className, appearance = props.appearance, label = props.label, isDisabled = props.isDisabled, href = props.href, link = props.link, LinkComponent = props.LinkComponent, rel = props.rel, target = props.target, underline = props.underline, before = props.before, after = props.after, isActive = props.isActive, onClick = props.onClick, onMouseEnter = props.onMouseEnter, children = props.children;
182
+ var className = props.className, appearance = props.appearance, label = props.label, isDisabled = props.isDisabled, href = props.href, link = props.link, LinkComponent = props.LinkComponent, rel = props.rel, showTooltip = props.showTooltip, target = props.target, tooltipAppearance = props.tooltipAppearance, underline = props.underline, before = props.before, after = props.after, isActive = props.isActive, onClick = props.onClick, children = props.children;
183
+ var tooltipRef = useRef(null);
184
+ var onMouseEnter = useCallback(function () {
185
+ var _a;
186
+ if (showTooltip) {
187
+ (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.openTooltip();
188
+ }
189
+ }, [showTooltip]);
190
+ var onMouseLeave = useCallback(function () {
191
+ var _a;
192
+ if (showTooltip) {
193
+ (_a = tooltipRef.current) === null || _a === void 0 ? void 0 : _a.closeTooltip();
194
+ }
195
+ }, [showTooltip]);
183
196
  var appearanceConfig = useAppearanceConfig(appearance, menuItemConfig);
184
197
  var propsGenerator = useDevicePropsGenerator(props, appearanceConfig);
185
- var directionClass = propsGenerator.directionClass, justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillActiveClass = propsGenerator.fillActiveClass, fillActiveHoverClass = propsGenerator.fillActiveHoverClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, labelStyle = propsGenerator.labelStyle, labelTextActiveColor = propsGenerator.labelTextActiveColor, labelTextActiveHoverColor = propsGenerator.labelTextActiveHoverColor, labelTextColor = propsGenerator.labelTextColor, labelTextColorDisabled = propsGenerator.labelTextColorDisabled, labelTextHoverColor = propsGenerator.labelTextHoverColor, labelTextSize = propsGenerator.labelTextSize, labelWeight = propsGenerator.labelWeight, labelWrap = propsGenerator.labelWrap, borderColorClass = propsGenerator.borderColorClass, iconAfter = propsGenerator.iconAfter, iconAfterFill = propsGenerator.iconAfterFill, iconAfterFillIcon = propsGenerator.iconAfterFillIcon, iconAfterFillSize = propsGenerator.iconAfterFillSize, iconAfterShape = propsGenerator.iconAfterShape, iconAfterSize = propsGenerator.iconAfterSize, iconAfterSrc = propsGenerator.iconAfterSrc, iconBadgeAppearance = propsGenerator.iconBadgeAppearance, iconBadgeShape = propsGenerator.iconBadgeShape, iconBadgeSize = propsGenerator.iconBadgeSize, iconBadgeTextColor = propsGenerator.iconBadgeTextColor, iconBadgeTextSize = propsGenerator.iconBadgeTextSize, iconBadgeValue = propsGenerator.iconBadgeValue, iconBefore = propsGenerator.iconBefore, iconBeforeFill = propsGenerator.iconBeforeFill, iconBeforeFillIcon = propsGenerator.iconBeforeFillIcon, iconBeforeFillSize = propsGenerator.iconBeforeFillSize, iconBeforeShape = propsGenerator.iconBeforeShape, iconBeforeSize = propsGenerator.iconBeforeSize, iconBeforeSrc = propsGenerator.iconBeforeSrc, shapeClass = propsGenerator.shapeClass, shapeStrengthClass = propsGenerator.shapeStrengthClass, sizeClass = propsGenerator.sizeClass, tooltipAppearance = propsGenerator.tooltipAppearance, tooltipFill = propsGenerator.tooltipFill, tooltipShapeStrength = propsGenerator.tooltipShapeStrength, tooltipText = propsGenerator.tooltipText, tooltipTextColor = propsGenerator.tooltipTextColor, tooltipTitleTextColor = propsGenerator.tooltipTitleTextColor, typeClass = propsGenerator.typeClass, widthClass = propsGenerator.widthClass, isSkeleton = propsGenerator.isSkeleton;
198
+ var directionClass = propsGenerator.directionClass, justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillActiveClass = propsGenerator.fillActiveClass, fillActiveHoverClass = propsGenerator.fillActiveHoverClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, labelStyle = propsGenerator.labelStyle, labelTextActiveColor = propsGenerator.labelTextActiveColor, labelTextActiveHoverColor = propsGenerator.labelTextActiveHoverColor, labelTextColor = propsGenerator.labelTextColor, labelTextColorDisabled = propsGenerator.labelTextColorDisabled, labelTextHoverColor = propsGenerator.labelTextHoverColor, labelTextSize = propsGenerator.labelTextSize, labelWeight = propsGenerator.labelWeight, labelWrap = propsGenerator.labelWrap, borderColorClass = propsGenerator.borderColorClass, iconAfter = propsGenerator.iconAfter, iconAfterFill = propsGenerator.iconAfterFill, iconAfterFillIcon = propsGenerator.iconAfterFillIcon, iconAfterFillSize = propsGenerator.iconAfterFillSize, iconAfterShape = propsGenerator.iconAfterShape, iconAfterSize = propsGenerator.iconAfterSize, iconAfterSrc = propsGenerator.iconAfterSrc, iconBadgeAppearance = propsGenerator.iconBadgeAppearance, iconBadgeShape = propsGenerator.iconBadgeShape, iconBadgeSize = propsGenerator.iconBadgeSize, iconBadgeTextColor = propsGenerator.iconBadgeTextColor, iconBadgeTextSize = propsGenerator.iconBadgeTextSize, iconBadgeValue = propsGenerator.iconBadgeValue, iconBefore = propsGenerator.iconBefore, iconBeforeFill = propsGenerator.iconBeforeFill, iconBeforeFillIcon = propsGenerator.iconBeforeFillIcon, iconBeforeFillSize = propsGenerator.iconBeforeFillSize, iconBeforeShape = propsGenerator.iconBeforeShape, iconBeforeSize = propsGenerator.iconBeforeSize, iconBeforeSrc = propsGenerator.iconBeforeSrc, shapeClass = propsGenerator.shapeClass, shapeStrengthClass = propsGenerator.shapeStrengthClass, sizeClass = propsGenerator.sizeClass, tooltipFill = propsGenerator.tooltipFill, tooltipShapeStrength = propsGenerator.tooltipShapeStrength, tooltipText = propsGenerator.tooltipText, tooltipTextColor = propsGenerator.tooltipTextColor, tooltipTitleTextColor = propsGenerator.tooltipTitleTextColor, typeClass = propsGenerator.typeClass, widthClass = propsGenerator.widthClass, isSkeleton = propsGenerator.isSkeleton;
186
199
  // @ts-expect-error
187
200
  var menuItem = useStyles(props).styles;
188
- return (jsx("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isDisabled && "menu-item_state_disabled", directionClass && "menu-item_direction_".concat(directionClass), className, sizeClass && "menu-item_size_".concat(sizeClass), borderColorClass && "border-color_".concat(borderColorClass), !isActive
201
+ return (jsxs("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isDisabled && "menu-item_state_disabled", directionClass && "menu-item_direction_".concat(directionClass), className, sizeClass && "menu-item_size_".concat(sizeClass), borderColorClass && "border-color_".concat(borderColorClass), !isActive
189
202
  ? fillClass && "fill_".concat(fillClass)
190
203
  : fillActiveClass && "fill_active_".concat(fillActiveClass), !isActive
191
204
  ? fillHoverClass && "fill_hover_".concat(fillHoverClass)
192
205
  : fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), shapeClass && "shape_".concat(shapeClass), shapeStrengthClass
193
206
  ? "shape-strength_".concat(shapeStrengthClass)
194
207
  : shapeClass === 'rounded' && 'shape-strength_default', typeClass && "menu-item_type_".concat(typeClass), widthClass && "width_".concat(widthClass), justifyContentClass &&
195
- "menu-item_justify-content_".concat(justifyContentClass), isSkeleton && "menu-item_skeleton"), style: menuItem, onClick: onClick, onMouseEnter: onMouseEnter, children: jsxs(Link, { className: clsx('menu-item__wrapper', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), href: link || href, LinkComponent: LinkComponent, rel: rel, target: target, underline: underline, children: [before, children || (jsxs(React.Fragment, { children: [(iconBefore || iconBeforeSrc) && (jsx(Icon, { className: clsx('menu-item__icon_before', iconBadgeValue && 'menu-item__icon_before-badge'), fill: iconBeforeFill, fillSize: iconBeforeFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_before_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconBeforeFillIcon, iconSize: iconBeforeSize, imageSrc: iconBeforeSrc, shape: iconBeforeShape, SvgImage: iconBefore })), label && (jsx(Text, { className: "menu-item__label", size: labelTextSize, textColor: labelTextColor, textColorActive: labelTextActiveColor, textColorActiveHover: labelTextActiveHoverColor, textColorDisabled: labelTextColorDisabled, textColorHover: labelTextHoverColor, textStyle: labelStyle, textWeight: labelWeight, textWrap: labelWrap, isDisabled: isDisabled, isActive: isActive, children: label })), (iconAfter || iconAfterSrc) && (jsx(Icon, { className: clsx('menu-item__icon_after', iconBadgeValue && 'menu-item__icon_after-badge'), fill: iconAfterFill, fillSize: iconAfterFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_after_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconAfterFillIcon, iconSize: iconAfterSize, imageSrc: iconAfterSrc, shape: iconAfterShape, SvgImage: iconAfter }))] })), after, jsx(Tooltip, { className: "menu-item__tooltip", appearance: tooltipAppearance, minWidth: "auto", fill: tooltipFill, left: "100%", zIndex: "100", titleTextColor: tooltipTitleTextColor, text: tooltipText, textColor: tooltipTextColor, centering: "vertical", shapeStrength: tooltipShapeStrength })] }) }));
208
+ "menu-item_justify-content_".concat(justifyContentClass), isSkeleton && "menu-item_skeleton"), style: menuItem, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: [jsxs(Link, { className: clsx('menu-item__wrapper', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), href: link || href, LinkComponent: LinkComponent, rel: rel, target: target, underline: underline, children: [before, children || (jsxs(React.Fragment, { children: [(iconBefore || iconBeforeSrc) && (jsx(Icon, { className: clsx('menu-item__icon_before', iconBadgeValue && 'menu-item__icon_before-badge'), fill: iconBeforeFill, fillSize: iconBeforeFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_before_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconBeforeFillIcon, iconSize: iconBeforeSize, imageSrc: iconBeforeSrc, shape: iconBeforeShape, SvgImage: iconBefore })), label && (jsx(Text, { className: "menu-item__label", size: labelTextSize, textColor: labelTextColor, textColorActive: labelTextActiveColor, textColorActiveHover: labelTextActiveHoverColor, textColorDisabled: labelTextColorDisabled, textColorHover: labelTextHoverColor, textStyle: labelStyle, textWeight: labelWeight, textWrap: labelWrap, isDisabled: isDisabled, isActive: isActive, children: label })), (iconAfter || iconAfterSrc) && (jsx(Icon, { className: clsx('menu-item__icon_after', iconBadgeValue && 'menu-item__icon_after-badge'), fill: iconAfterFill, fillSize: iconAfterFillSize, badgeAppearance: iconBadgeAppearance, badgeClass: 'menu-item__icon_after_badge', badgeShape: iconBadgeShape, badgeSize: iconBadgeSize, badgeTextColor: iconBadgeTextColor, badgeTextSize: iconBadgeTextSize, badgeValue: iconBadgeValue, iconFill: iconAfterFillIcon, iconSize: iconAfterSize, imageSrc: iconAfterSrc, shape: iconAfterShape, SvgImage: iconAfter }))] })), after] }), showTooltip && (jsx(Tooltip, { className: "menu-item__tooltip", appearance: tooltipAppearance, minWidth: "auto", fill: tooltipFill, left: "100%", zIndex: "100", titleTextColor: tooltipTitleTextColor, text: tooltipText, textColor: tooltipTextColor, centering: "vertical", ref: tooltipRef, shapeStrength: tooltipShapeStrength }))] }));
196
209
  }
197
210
 
198
211
  export { MenuItem, menuItemAppearance, menuItemConfig };
@@ -1,4 +1,5 @@
1
1
  .menu-item {
2
+ position: relative;
2
3
  display: flex;
3
4
  align-items: center;
4
5
  &:hover {
@@ -10,7 +11,7 @@
10
11
  }
11
12
  &__wrapper {
12
13
  width: 100%;
13
- position: relative;
14
+ position: relative !important;
14
15
  display: flex;
15
16
  align-items: center;
16
17
  align-content: center;
@@ -12,11 +12,10 @@ var urlWithAssetPrefix = function (WrappedComponent) {
12
12
  var url = props[propKey];
13
13
  if (url && typeof url === 'string') {
14
14
  if (assetPrefix) {
15
- var cleanUrl = formatURL(url);
16
- var isNeedAssetPrefix = checkIsNeedAssetPrefix(cleanUrl, assetPrefix, ignorePathsList);
15
+ var isNeedAssetPrefix = checkIsNeedAssetPrefix(url, assetPrefix, ignorePathsList);
17
16
  if (isNeedAssetPrefix) {
18
17
  var prefixPath = formatURL(assetPrefix).slice(0, -1);
19
- url = "".concat(prefixPath).concat(cleanUrl);
18
+ url = "".concat(prefixPath).concat(url);
20
19
  }
21
20
  }
22
21
  resultProps[propKey] = url;
@@ -50,7 +49,7 @@ var checkIsNeedAssetPrefix = function (url, assetPrefix, ignorePathsList) {
50
49
  }
51
50
  }
52
51
  else {
53
- if (url.startsWith(formatURL(urlPath))) {
52
+ if (formatURL(url).startsWith(formatURL(urlPath))) {
54
53
  return false;
55
54
  }
56
55
  }
@@ -4,48 +4,48 @@ declare const accordionAppearanceSize: {
4
4
  titleTextSize: string;
5
5
  badgeAppearanceSize: string;
6
6
  contentTextSize: string;
7
- icon: any;
7
+ icon: string;
8
8
  };
9
9
  sizeXL: {
10
10
  size: string;
11
11
  titleTextSize: string;
12
12
  badgeAppearanceSize: string;
13
13
  contentTextSize: string;
14
- icon: any;
14
+ icon: string;
15
15
  };
16
16
  sizeL: {
17
17
  size: string;
18
18
  titleTextSize: string;
19
19
  badgeAppearanceSize: string;
20
- icon: any;
20
+ icon: string;
21
21
  };
22
22
  sizeM: {
23
23
  size: string;
24
24
  titleTextSize: string;
25
25
  badgeAppearanceSize: string;
26
26
  contentTextSize: string;
27
- icon: any;
27
+ icon: string;
28
28
  };
29
29
  sizeS: {
30
30
  size: string;
31
31
  titleTextSize: string;
32
32
  badgeAppearanceSize: string;
33
33
  contentTextSize: string;
34
- icon: any;
34
+ icon: string;
35
35
  };
36
36
  sizeXS: {
37
37
  size: string;
38
38
  titleTextSize: string;
39
39
  badgeAppearanceSize: string;
40
40
  contentTextSize: string;
41
- icon: any;
41
+ icon: string;
42
42
  };
43
43
  sizeXXS: {
44
44
  size: string;
45
45
  titleTextSize: string;
46
46
  badgeAppearanceSize: string;
47
47
  contentTextSize: string;
48
- icon: any;
48
+ icon: string;
49
49
  };
50
50
  };
51
51
  export { accordionAppearanceSize };
@@ -55,6 +55,7 @@ export interface MenuItemProps extends MenuItemThemeColor, StyleAttributes {
55
55
  label?: string;
56
56
  link?: string;
57
57
  rel?: string;
58
+ showTooltip: boolean;
58
59
  style?: CSSProperties;
59
60
  target?: string;
60
61
  type?: string;
@@ -62,7 +63,6 @@ export interface MenuItemProps extends MenuItemThemeColor, StyleAttributes {
62
63
  isHover?: boolean;
63
64
  isSkeleton?: boolean;
64
65
  onClick?: () => void;
65
- onMouseEnter?: () => void;
66
66
  set?: string;
67
67
  }
68
68
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.8.57",
3
+ "version": "1.8.58",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",