@itcase/ui 1.4.2 → 1.4.6
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/dist/{Badge-CGHosmYx.js → Badge-C68XnlcL.js} +3 -4
- package/dist/{Badge-BX4N91_C.js → Badge-C6SNRExV.js} +3 -4
- package/dist/{Button-BtAUGGPc.js → Button-Bsrw4D7p.js} +3 -3
- package/dist/{Button-HKkjJ38v.js → Button-WZZpsxTk.js} +3 -3
- package/dist/{Group-Chtnas-J.js → Group-Cq4AQPqb.js} +2 -4
- package/dist/{Group-DiMnEfge.js → Group-Dz8xytje.js} +2 -4
- package/dist/{Label-XTFwl1aq.js → Label-DF2a2Mlx.js} +2 -2
- package/dist/{Label-Dpeq55TV.js → Label-I9WNpCXa.js} +2 -2
- package/dist/{Loader-CsPvc-9g.js → Loader-D4_r7LML.js} +6 -6
- package/dist/{Loader-CBEbIRnd.js → Loader-DpYaDhe9.js} +6 -6
- package/dist/cjs/components/Badge.js +1 -1
- package/dist/cjs/components/Button.js +2 -2
- package/dist/cjs/components/Cell.js +1 -1
- package/dist/cjs/components/Checkbox.js +12 -10
- package/dist/cjs/components/Checkmark.js +36 -9
- package/dist/cjs/components/Chips.js +3 -3
- package/dist/cjs/components/Choice.js +19 -11
- package/dist/cjs/components/CookiesWarning.js +3 -3
- package/dist/cjs/components/DatePicker.js +3 -3
- package/dist/cjs/components/Group.js +1 -1
- package/dist/cjs/components/Label.js +1 -1
- package/dist/cjs/components/Loader.js +1 -1
- package/dist/cjs/components/MenuItem.js +39 -11
- package/dist/cjs/components/Modal.js +21 -13
- package/dist/cjs/components/Panel.js +1 -1
- package/dist/cjs/components/Response.js +90 -105
- package/dist/cjs/components/Select.js +2 -2
- package/dist/cjs/components/Tab.js +1 -1
- package/dist/cjs/components/Tile.js +1 -1
- package/dist/components/Badge.js +1 -1
- package/dist/components/Button.js +2 -2
- package/dist/components/Cell.js +1 -1
- package/dist/components/Checkbox.js +12 -10
- package/dist/components/Checkmark.js +36 -9
- package/dist/components/Chips.js +3 -3
- package/dist/components/Choice.js +19 -11
- package/dist/components/CookiesWarning.js +3 -3
- package/dist/components/DatePicker.js +3 -3
- package/dist/components/Group.js +1 -1
- package/dist/components/Label.js +1 -1
- package/dist/components/Loader.js +1 -1
- package/dist/components/MenuItem.js +40 -8
- package/dist/components/Modal.js +21 -13
- package/dist/components/Panel.js +1 -1
- package/dist/components/Response.js +90 -105
- package/dist/components/Select.js +2 -2
- package/dist/components/Tab.js +1 -1
- package/dist/components/Tile.js +1 -1
- package/dist/css/components/Badge/Badge.css +50 -0
- package/dist/css/components/Button/Button.css +24 -0
- package/dist/css/components/Checkbox/Checkbox.css +25 -2
- package/dist/css/components/Checkmark/Checkmark.css +6 -8
- package/dist/css/components/Label/Label.css +11 -13
- package/dist/css/components/Loader/Loader.css +40 -3
- package/dist/css/components/Response/Response.css +5 -12
- package/dist/css/components/Video/Video.css +0 -14
- package/dist/css/styles/svg-color/svg_path_fill.css +1 -2
- package/dist/stories/Cell.mdx +1 -17
- package/dist/types/components/Checkmark/appearance/checkmarkAccent.d.ts +9 -0
- package/dist/types/components/Checkmark/appearance/checkmarkDisabled.d.ts +9 -0
- package/dist/types/components/Checkmark/appearance/checkmarkStyle.d.ts +16 -0
- package/dist/types/components/Checkmark/appearance/checkmarkSurface.d.ts +11 -0
- package/dist/types/components/Flex/stories/args.d.ts +8 -8
- package/dist/types/components/Grid/stories/args.d.ts +5 -5
- package/dist/types/components/Group/stories/args.d.ts +5 -5
- package/dist/types/components/Loader/appearance/loaderAccent.d.ts +1 -1
- package/dist/types/components/Loader/appearance/loaderPrimary.d.ts +1 -1
- package/dist/types/components/Loader/appearance/loaderSecondary.d.ts +1 -1
- package/dist/types/components/Modal/Modal.appearance.d.ts +2 -2
- package/dist/types/components/Modal/Modal.interface.d.ts +3 -3
- package/dist/types/components/Modal/appearance/modalSurface.d.ts +7 -0
- package/dist/types/components/Response/Response.interface.d.ts +12 -10
- package/dist/types/components/Tab/stories/args.d.ts +13 -13
- package/dist/types/types/componentProps/align.d.ts +1 -1
- package/dist/types/types/componentProps/alignDirection.d.ts +1 -1
- package/dist/types/types/componentProps/alignment.d.ts +1 -1
- package/dist/types/types/componentProps/appearanceKeys.d.ts +1 -1
- package/dist/types/types/componentProps/borderColor.d.ts +1 -1
- package/dist/types/types/componentProps/borderColorHover.d.ts +1 -1
- package/dist/types/types/componentProps/borderType.d.ts +1 -1
- package/dist/types/types/componentProps/borderWidth.d.ts +1 -1
- package/dist/types/types/componentProps/elevation.d.ts +1 -1
- package/dist/types/types/componentProps/fill.d.ts +1 -1
- package/dist/types/types/componentProps/fillGradient.d.ts +1 -1
- package/dist/types/types/componentProps/fillHover.d.ts +1 -1
- package/dist/types/types/componentProps/fillType.d.ts +1 -1
- package/dist/types/types/componentProps/flexAlign.d.ts +1 -1
- package/dist/types/types/componentProps/flexGrow.d.ts +1 -1
- package/dist/types/types/componentProps/flexJustifyContent.d.ts +1 -1
- package/dist/types/types/componentProps/flexWrap.d.ts +1 -1
- package/dist/types/types/componentProps/gridAlign.d.ts +1 -1
- package/dist/types/types/componentProps/gridAlignSelf.d.ts +1 -1
- package/dist/types/types/componentProps/gridJustifyItems.d.ts +1 -1
- package/dist/types/types/componentProps/gridJustifySelf.d.ts +1 -1
- package/dist/types/types/componentProps/height.d.ts +1 -1
- package/dist/types/types/componentProps/horizontalContentAlign.d.ts +1 -1
- package/dist/types/types/componentProps/horizontalResizeMode.d.ts +1 -1
- package/dist/types/types/componentProps/iconFillSize.d.ts +1 -1
- package/dist/types/types/componentProps/iconSize.d.ts +1 -1
- package/dist/types/types/componentProps/itemColor.d.ts +1 -1
- package/dist/types/types/componentProps/justifyContent.d.ts +1 -1
- package/dist/types/types/componentProps/overflow.d.ts +1 -1
- package/dist/types/types/componentProps/position.d.ts +1 -1
- package/dist/types/types/componentProps/resizeMode.d.ts +1 -1
- package/dist/types/types/componentProps/shape.d.ts +1 -1
- package/dist/types/types/componentProps/size.d.ts +1 -1
- package/dist/types/types/componentProps/sizeOption.d.ts +1 -1
- package/dist/types/types/componentProps/sizePX.d.ts +1 -1
- package/dist/types/types/componentProps/stacking.d.ts +1 -1
- package/dist/types/types/componentProps/state.d.ts +1 -1
- package/dist/types/types/componentProps/svgFill.d.ts +1 -1
- package/dist/types/types/componentProps/textAlign.d.ts +1 -1
- package/dist/types/types/componentProps/textGradient.d.ts +1 -1
- package/dist/types/types/componentProps/textSize.d.ts +1 -1
- package/dist/types/types/componentProps/textStyle.d.ts +1 -1
- package/dist/types/types/componentProps/textTag.d.ts +1 -1
- package/dist/types/types/componentProps/textWeight.d.ts +1 -1
- package/dist/types/types/componentProps/textWrap.d.ts +1 -1
- package/dist/types/types/componentProps/titleSize.d.ts +4 -2
- package/dist/types/types/componentProps/type.d.ts +1 -1
- package/dist/types/types/componentProps/underline.d.ts +1 -1
- package/dist/types/types/componentProps/verticalContentAlign.d.ts +1 -1
- package/dist/types/types/componentProps/verticalResizeMode.d.ts +1 -1
- package/dist/types/types/componentProps/width.d.ts +1 -1
- package/dist/types/types/componentProps/wrap.d.ts +1 -1
- package/dist/types/types/index.d.ts +0 -2
- package/package.json +12 -12
- package/dist/MenuItem-Cjlnmfwh.js +0 -40
- package/dist/MenuItem-PJkuGghn.js +0 -44
- package/dist/cjs/components/Menu.js +0 -45
- package/dist/components/Menu.js +0 -41
- package/dist/css/components/Menu/Menu.css +0 -65
- package/dist/stories/Checkbox.mdx +0 -23
- package/dist/stories/Checkmark.mdx +0 -15
- package/dist/stories/Chips.mdx +0 -31
- package/dist/stories/DevMode.mdx +0 -9
- package/dist/stories/Label.mdx +0 -31
- package/dist/stories/Loader.mdx +0 -31
- package/dist/stories/Message.mdx +0 -15
- package/dist/stories/Response.mdx +0 -23
- package/dist/stories/Tile.mdx +0 -19
- package/dist/stories/WithTooltip.mdx +0 -9
- package/dist/types/components/Button/stories/args.d.ts +0 -200
- package/dist/types/components/Chips/stories/args.d.ts +0 -45
- package/dist/types/components/Menu/Menu.appearance.d.ts +0 -2
- package/dist/types/components/Menu/Menu.d.ts +0 -4
- package/dist/types/components/Menu/Menu.interface.d.ts +0 -35
- package/dist/types/components/Menu/index.d.ts +0 -2
- package/dist/types/components/Response/stories/args.d.ts +0 -174
- package/dist/types/types/componentProps/captionPosition.d.ts +0 -3
- package/dist/types/types/componentProps/emojiSize.d.ts +0 -3
- /package/dist/stories/{colors.mdx → Colors.mdx} +0 -0
- /package/dist/stories/{elevation.mdx → Elevation.mdx} +0 -0
- /package/dist/stories/{settings.mdx → Settings.mdx} +0 -0
- /package/dist/stories/{typography.mdx → Typography.mdx} +0 -0
|
@@ -5,7 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
7
7
|
var Icon = require('../../Icon-GVGrUu_Z.js');
|
|
8
|
-
var Loader = require('../../Loader-
|
|
8
|
+
var Loader = require('../../Loader-DpYaDhe9.js');
|
|
9
9
|
var Text = require('../../Text-C49zj3jO.js');
|
|
10
10
|
require('../../tslib.es6-CCZ3TN_7.js');
|
|
11
11
|
require('lodash/camelCase');
|
|
@@ -54,17 +54,18 @@ var choiceConfig = {
|
|
|
54
54
|
},
|
|
55
55
|
};
|
|
56
56
|
function Choice(props) {
|
|
57
|
-
var
|
|
57
|
+
var className = props.className, type = props.type, name = props.name, appearance = props.appearance, _a = props.size, size = _a === void 0 ? 'normal' : _a, labelTextActiveColor = props.labelTextActiveColor, labelTextColor = props.labelTextColor, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, iconFillDisabled = props.iconFillDisabled, labelTextActiveColorDisabled = props.labelTextActiveColorDisabled, labelTextColorDisabled = props.labelTextColorDisabled, _b = props.active, active = _b === void 0 ? { value: undefined } : _b, activeIcon = props.activeIcon, activeIconItemFill = props.activeIconItemFill, icon = props.icon, iconItemFill = props.iconItemFill, iconSize = props.iconSize, _c = props.options, options = _c === void 0 ? [] : _c, before = props.before, after = props.after, _d = props.isCheckbox, isCheckbox = _d === void 0 ? false : _d, _e = props.isDisabled, isDisabled = _e === void 0 ? false : _e, _f = props.isLoading, isLoading = _f === void 0 ? false : _f, set = props.set, setActiveSegment = props.setActiveSegment;
|
|
58
58
|
var controlRef = React.useRef(null);
|
|
59
|
-
var optionsRefs = React.useMemo(function () {
|
|
59
|
+
var optionsRefs = React.useMemo(function () {
|
|
60
|
+
return new Map(options.map(function (item) { return [item.value, React.createRef()]; }));
|
|
61
|
+
}, [options]);
|
|
60
62
|
var onChange = React.useCallback(function (event, item) {
|
|
61
63
|
var isChecked = isCheckbox ? event.target.checked : true;
|
|
62
64
|
setActiveSegment && setActiveSegment(item, isChecked);
|
|
63
65
|
}, [isCheckbox, setActiveSegment]);
|
|
64
|
-
// @ts-expect-error
|
|
65
66
|
var appearanceConfig = choiceConfig.appearance && choiceConfig.appearance[appearance];
|
|
66
67
|
var propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
67
|
-
var
|
|
68
|
+
var fillActiveClass = propsGenerator.fillActiveClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, fillActiveDisabledClass = propsGenerator.fillActiveDisabledClass, fillDisabledClass = propsGenerator.fillDisabledClass, columnGapClass = propsGenerator.columnGapClass, gapClass = propsGenerator.gapClass, rowGapClass = propsGenerator.rowGapClass, shapeClass = propsGenerator.shapeClass, wrapClass = propsGenerator.wrapClass;
|
|
68
69
|
return (jsxRuntime.jsx("div", { className: clsx(className, 'choice', shapeClass && "choice_shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), set && "choice_set_".concat(set), size && "choice_size_".concat(size), type && "choice_type_".concat(type)), ref: controlRef, children: isLoading ? (jsxRuntime.jsx(Loader.Loader, { width: "fill", height: "fill", fill: "surfacePrimary", itemFill: "surfaceItemAccent", set: "simple" })) : (jsxRuntime.jsx("div", { className: clsx(className, 'choice__wrapper', gapClass && "gap_".concat(gapClass), rowGapClass && "row-gap_".concat(rowGapClass), columnGapClass && "column-gap_".concat(columnGapClass), wrapClass && "choice_wrap_".concat(wrapClass)), children: options.map(function (item) {
|
|
69
70
|
// prettier-ignore
|
|
70
71
|
var isActive = typeof active === 'object'
|
|
@@ -72,21 +73,28 @@ function Choice(props) {
|
|
|
72
73
|
: String(item.value) === String(active);
|
|
73
74
|
return (jsxRuntime.jsxs("div", { className: clsx('choice__item', !isDisabled
|
|
74
75
|
? fillClass && "fill_".concat(fillClass)
|
|
75
|
-
: fillDisabledClass && "fill_disabled_".concat(fillDisabledClass), !isDisabled
|
|
76
|
+
: fillDisabledClass && "fill_disabled_".concat(fillDisabledClass), !isDisabled
|
|
77
|
+
? fillHoverClass && "fill_hover_".concat(fillHoverClass)
|
|
78
|
+
: null, !isActive && isDisabled && 'choice__item_state_disabled', isActive
|
|
76
79
|
? !isDisabled
|
|
77
80
|
? fillActiveClass && "fill_active_".concat(fillActiveClass)
|
|
78
|
-
: fillActiveDisabledClass &&
|
|
81
|
+
: fillActiveDisabledClass &&
|
|
82
|
+
"fill_active_disabled_".concat(fillActiveDisabledClass)
|
|
79
83
|
: !isDisabled
|
|
80
84
|
? fillClass && "fill_".concat(fillClass)
|
|
81
|
-
: fillDisabledClass &&
|
|
85
|
+
: fillDisabledClass &&
|
|
86
|
+
"fill_disabled_".concat(fillDisabledClass), isActive &&
|
|
87
|
+
isDisabled &&
|
|
88
|
+
'choice__item_active_state_disabled', isActive && 'choice__item_active'), ref: optionsRefs.get(item.value), children: [jsxRuntime.jsx("input", { id: "".concat(name, "-").concat(item.value), className: "choice__item-radio", type: isCheckbox ? 'checkbox' : 'radio', name: name, disabled: isDisabled, checked: isActive, value: item.value, onChange: function (event) { return onChange(event, item); } }), jsxRuntime.jsxs("label", { className: clsx('choice__item-label', isDisabled && 'choice__item-label_state_disabled'), htmlFor: "".concat(name, "-").concat(item.value), children: [before, item.label && (jsxRuntime.jsx(Text.Text, { size: labelTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextSize), textColor: isActive
|
|
82
89
|
? !isDisabled
|
|
83
|
-
? labelTextActiveColor ||
|
|
90
|
+
? labelTextActiveColor ||
|
|
91
|
+
(appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextActiveColor)
|
|
84
92
|
: labelTextActiveColorDisabled
|
|
85
93
|
: !isDisabled
|
|
86
94
|
? labelTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColor)
|
|
87
|
-
: labelTextColorDisabled, children: item.label })), (icon || activeIcon) && (jsxRuntime.jsx(Icon.Icon, { className: "choice__item-icon", iconFillDisabled: isDisabled ? iconFillDisabled : undefined,
|
|
95
|
+
: labelTextColorDisabled, textWeight: labelTextWeight, children: item.label })), (icon || activeIcon) && (jsxRuntime.jsx(Icon.Icon, { className: "choice__item-icon", iconFillDisabled: isDisabled ? iconFillDisabled : undefined, iconFill: isActive
|
|
88
96
|
? activeIconItemFill || item.activeIconItemFill
|
|
89
|
-
: iconItemFill || item.iconItemFill })), after] })] }, "".concat(name, "-").concat(item.value)));
|
|
97
|
+
: iconItemFill || item.iconItemFill, iconSize: iconSize, SvgImage: isActive ? activeIcon : icon })), after] })] }, "".concat(name, "-").concat(item.value)));
|
|
90
98
|
}) })) }));
|
|
91
99
|
}
|
|
92
100
|
|
|
@@ -5,8 +5,8 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var Cookies = require('js-cookie');
|
|
7
7
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
8
|
-
var Button = require('../../Button-
|
|
9
|
-
var Group = require('../../Group-
|
|
8
|
+
var Button = require('../../Button-WZZpsxTk.js');
|
|
9
|
+
var Group = require('../../Group-Cq4AQPqb.js');
|
|
10
10
|
var Text = require('../../Text-C49zj3jO.js');
|
|
11
11
|
require('../../tslib.es6-CCZ3TN_7.js');
|
|
12
12
|
require('lodash/camelCase');
|
|
@@ -24,7 +24,7 @@ require('react-inlinesvg');
|
|
|
24
24
|
require('../../Link-B38Hn4G2.js');
|
|
25
25
|
require('../../Tooltip-DpBQQoNo.js');
|
|
26
26
|
require('../../Title-BWWyRwLY.js');
|
|
27
|
-
require('../../Loader-
|
|
27
|
+
require('../../Loader-DpYaDhe9.js');
|
|
28
28
|
|
|
29
29
|
function CookiesWarning(props) {
|
|
30
30
|
var _a = props.isHideOnScroll, isHideOnScroll = _a === void 0 ? false : _a, buttonFill = props.buttonFill, buttonFillHover = props.buttonFillHover, _b = props.buttonLabel, buttonLabel = _b === void 0 ? 'I agree' : _b, buttonLabelSize = props.buttonLabelSize, buttonLabelTextColor = props.buttonLabelTextColor, buttonShape = props.buttonShape, buttonSize = props.buttonSize, buttonWidth = props.buttonWidth, className = props.className, _c = props.message, message = _c === void 0 ? 'The site uses cookies to collect technical information, to optimize the design and improvement of the website, and to provide certain functions. By using the website, you agree to the use of «cookies».' : _c, textColor = props.textColor, textSize = props.textSize;
|
|
@@ -8,10 +8,10 @@ var locale = require('date-fns/locale');
|
|
|
8
8
|
var DatePicker = require('react-datepicker');
|
|
9
9
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
10
10
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
11
|
-
var Button = require('../../Button-
|
|
11
|
+
var Button = require('../../Button-WZZpsxTk.js');
|
|
12
12
|
var Icon = require('../../Icon-GVGrUu_Z.js');
|
|
13
13
|
var Input = require('../../Input-Dwvk-poq.js');
|
|
14
|
-
var Label = require('../../Label-
|
|
14
|
+
var Label = require('../../Label-DF2a2Mlx.js');
|
|
15
15
|
var Text = require('../../Text-C49zj3jO.js');
|
|
16
16
|
require('lodash/camelCase');
|
|
17
17
|
require('lodash/castArray');
|
|
@@ -23,7 +23,7 @@ require('../utils/setViewportProperty.js');
|
|
|
23
23
|
require('lodash/maxBy');
|
|
24
24
|
require('../hooks/useStyles/styleAttributes.js');
|
|
25
25
|
require('../../Link-B38Hn4G2.js');
|
|
26
|
-
require('../../Loader-
|
|
26
|
+
require('../../Loader-DpYaDhe9.js');
|
|
27
27
|
require('react-inlinesvg');
|
|
28
28
|
require('../../Tooltip-DpBQQoNo.js');
|
|
29
29
|
require('../../Title-BWWyRwLY.js');
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('react
|
|
5
|
-
require('
|
|
6
|
-
require('
|
|
7
|
-
require('../hooks/
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
7
|
+
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
8
|
+
var Link = require('../../Link-B38Hn4G2.js');
|
|
9
|
+
var Text = require('../../Text-C49zj3jO.js');
|
|
8
10
|
require('../../tslib.es6-CCZ3TN_7.js');
|
|
9
11
|
require('lodash/camelCase');
|
|
10
12
|
require('lodash/castArray');
|
|
@@ -13,14 +15,40 @@ require('../context/UIContext.js');
|
|
|
13
15
|
require('../hooks/useMediaQueries/useMediaQueries.js');
|
|
14
16
|
require('react-responsive');
|
|
15
17
|
require('../utils/setViewportProperty.js');
|
|
16
|
-
require('../hooks/useStyles/useStyles.js');
|
|
17
18
|
require('lodash/maxBy');
|
|
18
19
|
require('../hooks/useStyles/styleAttributes.js');
|
|
19
|
-
require('../../Link-B38Hn4G2.js');
|
|
20
|
-
require('../../Text-C49zj3jO.js');
|
|
21
20
|
|
|
21
|
+
var menuItemAppearance = {
|
|
22
|
+
any: {
|
|
23
|
+
fill: 'surfacePrimary',
|
|
24
|
+
textColor: 'surfaceTextPrimary',
|
|
25
|
+
textColorActive: 'surfaceTextAccent',
|
|
26
|
+
textColorHover: 'surfaceTextAccent',
|
|
27
|
+
},
|
|
28
|
+
};
|
|
22
29
|
|
|
30
|
+
var menuItemConfig = {
|
|
31
|
+
appearance: menuItemAppearance,
|
|
32
|
+
setAppearance: function (newComponent) {
|
|
33
|
+
menuItemConfig.appearance = newComponent;
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
function MenuItem(props) {
|
|
37
|
+
var children = props.children, isActive = props.isActive, isHover = props.isHover, after = props.after, appearance = props.appearance, before = props.before, className = props.className, desc = props.desc, descTextColor = props.descTextColor, descTextColorHover = props.descTextColorHover, descTextGradient = props.descTextGradient, descTextSize = props.descTextSize, descTextStyle = props.descTextStyle, descTextWeight = props.descTextWeight, descTextWrap = props.descTextWrap, href = props.href, label = props.label, link = props.link, linkFill = props.linkFill, rel = props.rel, set = props.set, target = props.target, textColor = props.textColor, textColorActive = props.textColorActive, textColorHover = props.textColorHover, textGradient = props.textGradient, textSize = props.textSize, textStyle = props.textStyle, textWeight = props.textWeight, textWrap = props.textWrap, underline = props.underline, onClick = props.onClick, onMouseEnter = props.onMouseEnter;
|
|
38
|
+
// @ts-expect-error
|
|
39
|
+
var appearanceConfig = menuItemConfig.appearance && menuItemConfig.appearance[appearance];
|
|
40
|
+
var propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
41
|
+
var alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, directionClass = propsGenerator.directionClass, fillActiveClass = propsGenerator.fillActiveClass, fillActiveHoverClass = propsGenerator.fillActiveHoverClass, fillClass = propsGenerator.fillClass, fillDisabledClass = propsGenerator.fillDisabledClass, fillHoverClass = propsGenerator.fillHoverClass, justifyContentClass = propsGenerator.justifyContentClass, shapeClass = propsGenerator.shapeClass, sizeClass = propsGenerator.sizeClass, typeClass = propsGenerator.typeClass, widthClass = propsGenerator.widthClass;
|
|
42
|
+
// @ts-expect-error
|
|
43
|
+
var menuItem = useStyles.useStyles(props).styles;
|
|
44
|
+
return (jsxRuntime.jsx("div", { className: clsx('menu-item', isActive && 'menu-item_state_active', isHover && 'menu-item_state_hover', directionClass && "menu-item_direction_".concat(directionClass), className, sizeClass && "menu-item_size_".concat(sizeClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), fillActiveClass && "fill_active_".concat(fillActiveClass), fillActiveHoverClass && "fill_active_hover_".concat(fillActiveHoverClass), fillDisabledClass && "fill_disabled_".concat(fillDisabledClass), shapeClass && "menu-item_shape_".concat(shapeClass), typeClass && "menu-item_type_".concat(typeClass), widthClass && "width_".concat(widthClass), set && "menu-item_set_".concat(set), justifyContentClass && "menu-item_justify-content_".concat(justifyContentClass)), style: menuItem, onClick: onClick, onMouseEnter: onMouseEnter, children: jsxRuntime.jsx(Link.Link, { className: clsx('menu-item__label', alignDirectionClass && "align_".concat(alignDirectionClass), alignClass && "align_".concat(alignClass)), fill: linkFill, href: link || href, rel: rel, target: target, underline: underline, children: jsxRuntime.jsxs(React.Fragment, { children: [before, children || (jsxRuntime.jsxs(React.Fragment, { children: [label && (jsxRuntime.jsx(Text.Text, { className: "menu-item__label", size: textSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.textSize), textColor: textColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.textColor), textColorGradient: textGradient, textColorHover: textColorHover || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.textColorHover), textStyle: textStyle, textWeight: textWeight, textWrap: textWrap, textColorActive: isActive && (textColorActive || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.textColorActive)), children: label })), desc && (jsxRuntime.jsx(Text.Text, { className: "menu-item__desc", size: descTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextSize), textColor: descTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextColor), textColorGradient: descTextGradient, textColorHover: descTextColorHover || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextColorHover), textStyle: descTextStyle, textWeight: descTextWeight, textWrap: descTextWrap, children: desc }))] })), after] }) }) }));
|
|
45
|
+
}
|
|
46
|
+
MenuItem.defaultProps = {
|
|
47
|
+
direction: 'horizontal',
|
|
48
|
+
LinkComponent: 'a',
|
|
49
|
+
size: 'm',
|
|
50
|
+
};
|
|
23
51
|
|
|
24
|
-
exports.MenuItem = MenuItem
|
|
25
|
-
exports.menuItemAppearance =
|
|
26
|
-
exports.menuItemConfig =
|
|
52
|
+
exports.MenuItem = MenuItem;
|
|
53
|
+
exports.menuItemAppearance = menuItemAppearance;
|
|
54
|
+
exports.menuItemConfig = menuItemConfig;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var tslib_es6 = require('../../tslib.es6-CCZ3TN_7.js');
|
|
3
4
|
var jsxRuntime = require('react/jsx-runtime');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
var clsx = require('clsx');
|
|
@@ -7,8 +8,8 @@ var ReactDOM = require('react-dom');
|
|
|
7
8
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
8
9
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
9
10
|
var Overlay = require('../../Overlay-DiCjwUv4.js');
|
|
10
|
-
var
|
|
11
|
-
require('../../
|
|
11
|
+
var Title = require('../../Title-BWWyRwLY.js');
|
|
12
|
+
var Loader = require('../../Loader-DpYaDhe9.js');
|
|
12
13
|
require('lodash/camelCase');
|
|
13
14
|
require('lodash/castArray');
|
|
14
15
|
require('lodash/upperFirst');
|
|
@@ -20,14 +21,19 @@ require('lodash/maxBy');
|
|
|
20
21
|
require('../hooks/useStyles/styleAttributes.js');
|
|
21
22
|
require('../../Text-C49zj3jO.js');
|
|
22
23
|
|
|
23
|
-
var
|
|
24
|
-
|
|
24
|
+
var modalAppearanceSurface = {
|
|
25
|
+
surfacePrimary: {
|
|
26
|
+
fill: 'surfacePrimary',
|
|
27
|
+
fillHover: 'surfacePrimaryHover',
|
|
28
|
+
},
|
|
25
29
|
};
|
|
26
30
|
|
|
31
|
+
var modalAppearance = tslib_es6.__assign({}, modalAppearanceSurface);
|
|
32
|
+
|
|
27
33
|
var modalConfig = {
|
|
28
34
|
appearance: modalAppearance,
|
|
29
|
-
setAppearance: function (
|
|
30
|
-
modalConfig.appearance =
|
|
35
|
+
setAppearance: function (appearanceConfig) {
|
|
36
|
+
modalConfig.appearance = appearanceConfig;
|
|
31
37
|
},
|
|
32
38
|
};
|
|
33
39
|
var getOrCreateModalElement = function (modalQuerySelector, className) {
|
|
@@ -52,7 +58,7 @@ var getOrCreateModalElement = function (modalQuerySelector, className) {
|
|
|
52
58
|
};
|
|
53
59
|
// Modal component that is an abstraction around the portal API.
|
|
54
60
|
var Modal = React.forwardRef(function Modal(props, ref) {
|
|
55
|
-
var id = props.id,
|
|
61
|
+
var id = props.id, className = props.className, appearance = props.appearance, title = props.title, contentClassName = props.contentClassName, dataTestId = props.dataTestId, dataTour = props.dataTour, _a = props.modalQuerySelector, modalQuerySelector = _a === void 0 ? '#modal-global' : _a, overlayClassName = props.overlayClassName, closeButton = props.closeButton, _b = props.isCloseOnBlur, isCloseOnBlur = _b === void 0 ? true : _b, _c = props.isOpen, initialIsOpen = _c === void 0 ? false : _c, _d = props.isOverlay, isOverlay = _d === void 0 ? true : _d, _e = props.isScrollOnOpen, isScrollOnOpen = _e === void 0 ? true : _e, _f = props.isSetFocusOnOpen, isSetFocusOnOpen = _f === void 0 ? true : _f, isSkeleton = props.isSkeleton, onClickOverlay = props.onClickOverlay, onCloseModal = props.onCloseModal, onOpenModal = props.onOpenModal, children = props.children;
|
|
56
62
|
// Query DOM element
|
|
57
63
|
var _g = React.useState(null), modalElement = _g[0], setModalElement = _g[1];
|
|
58
64
|
var _h = React.useState(initialIsOpen), isOpen = _h[0], setIsOpen = _h[1];
|
|
@@ -133,20 +139,22 @@ var Modal = React.forwardRef(function Modal(props, ref) {
|
|
|
133
139
|
}
|
|
134
140
|
}, []);
|
|
135
141
|
// Save ref things
|
|
136
|
-
React.useImperativeHandle(ref, function () { return ({
|
|
137
|
-
|
|
138
|
-
|
|
142
|
+
React.useImperativeHandle(ref, function () { return ({ modalElement: modalElement, openModal: openModal, closeModal: closeModal, isOpen: isOpen }); }, [isOpen, openModal, closeModal, modalElement]);
|
|
143
|
+
var appearanceConfig = appearance === null || appearance === void 0 ? void 0 : appearance.split(' ').reduce(function (resultAppearance, appearance) {
|
|
144
|
+
var _a;
|
|
145
|
+
return (tslib_es6.__assign(tslib_es6.__assign({}, resultAppearance), (_a = modalConfig.appearance) === null || _a === void 0 ? void 0 : _a[appearance]));
|
|
146
|
+
}, {});
|
|
139
147
|
var propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
140
|
-
var borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, elevationClass = propsGenerator.elevationClass,
|
|
148
|
+
var fillClass = propsGenerator.fillClass, titleTextColor = propsGenerator.titleTextColor, titleTextColorHover = propsGenerator.titleTextColorHover, titleTextSize = propsGenerator.titleTextSize, titleTextTruncate = propsGenerator.titleTextTruncate, titleTextWeight = propsGenerator.titleTextWeight, titleTextWidth = propsGenerator.titleTextWidth, titleTextWrap = propsGenerator.titleTextWrap, borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, elevationClass = propsGenerator.elevationClass, overlayFill = propsGenerator.overlayFill, overlayFillGradient = propsGenerator.overlayFillGradient, overlayOpacity = propsGenerator.overlayOpacity, shapeClass = propsGenerator.shapeClass;
|
|
141
149
|
// @ts-expect-error
|
|
142
150
|
var modalStyles = useStyles.useStyles(props).styles;
|
|
143
151
|
// Use a portal to render the children into the element
|
|
144
152
|
return (modalElement &&
|
|
145
153
|
ReactDOM.createPortal(
|
|
146
154
|
// Any valid React child: JSX, strings, arrays, etc.
|
|
147
|
-
isOpen ? (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { className: clsx('modal-content', contentClassName, fillClass && "fill_".concat(fillClass), shapeClass && "modal-shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass)), "data-testid": dataTestId, "data-tour": dataTour, ref: modalContentRef,
|
|
155
|
+
isOpen ? (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { id: id, className: clsx('modal-content', contentClassName, fillClass && "fill_".concat(fillClass), shapeClass && "modal-shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), isSkeleton && 'modal_skeleton'), "data-testid": dataTestId, "data-tour": dataTour, ref: modalContentRef, style: modalStyles, tabIndex: 0, onBlur: isCloseOnBlur ? closeModal : undefined, children: [title && (jsxRuntime.jsx(Title.Title, { className: "modal-content__title", width: titleTextWidth, size: titleTextSize, textColor: titleTextColor, textColorHover: titleTextColorHover, textTruncate: titleTextTruncate, textWeight: titleTextWeight, textWrap: titleTextWrap, children: title })), closeButton && (jsxRuntime.jsx("div", { className: "modal-content__close", onClick: closeModal, children: closeButton })), jsxRuntime.jsx("div", { className: "modal-content__wrapper", children: children })] }), jsxRuntime.jsx(Overlay.Overlay, { className: clsx('modal__overlay', 'overlay_type_modal', overlayClassName),
|
|
148
156
|
// ref={modalOverlayRef}
|
|
149
|
-
fill: overlayFill
|
|
157
|
+
fill: overlayFill, fillGradient: overlayFillGradient, opacity: overlayOpacity, isOverlay: isOverlay, onClick: onClickOverlay })] })) : null,
|
|
150
158
|
// A DOM element
|
|
151
159
|
modalElement));
|
|
152
160
|
});
|
|
@@ -5,7 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var clsx = require('clsx');
|
|
6
6
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
7
7
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
8
|
-
var Group = require('../../Group-
|
|
8
|
+
var Group = require('../../Group-Cq4AQPqb.js');
|
|
9
9
|
var Text = require('../../Text-C49zj3jO.js');
|
|
10
10
|
require('../../tslib.es6-CCZ3TN_7.js');
|
|
11
11
|
require('lodash/camelCase');
|