@itcase/ui 1.8.141 → 1.8.142
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/{Group_cjs_DxyobxPf.js → Group_cjs_CLE5_jDA.js} +3 -3
- package/dist/{Group_es_DJ6GHMrs.js → Group_es_ZTwafPX1.js} +3 -3
- package/dist/cjs/components/AvatarStack.js +1 -1
- package/dist/cjs/components/Group.js +1 -1
- package/dist/cjs/components/Notification.js +17 -16
- package/dist/cjs/components/Response.js +1 -1
- package/dist/cjs/components/Select.js +1 -1
- package/dist/cjs/context/Notifications.js +25 -1
- package/dist/components/AvatarStack.js +1 -1
- package/dist/components/Group.js +1 -1
- package/dist/components/Notification.js +17 -16
- package/dist/components/Response.js +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/context/Notifications.js +25 -1
- package/dist/css/components/Notification/Notification.css +35 -50
- package/dist/css/components/Notification/css/__item/notification__item.css +10 -12
- package/dist/css/components/Notification/css/__item/notification__item_float.css +10 -0
- package/dist/css/components/Notification/css/__item/notification__item_global.css +10 -0
- package/dist/css/components/Notification/css/__item/notification__item_toast.css +10 -0
- package/dist/css/components/Swiper/Swiper.css +30 -4
- package/dist/types/components/Notification/appearance/notificationError.d.ts +2 -2
- package/dist/types/components/Notification/appearance/notificationInfo.d.ts +2 -1
- package/dist/types/components/Notification/appearance/notificationSuccess.d.ts +2 -1
- package/dist/types/components/Notification/appearance/notificationWarning.d.ts +2 -1
- package/dist/types/context/Notifications.interface.d.ts +14 -0
- package/package.json +14 -14
- package/dist/css/components/Notification/css/__item/notification__item_position_float.css +0 -13
- package/dist/css/components/Notification/css/__item/notification__item_position_toast.css +0 -17
|
@@ -24,13 +24,13 @@ const groupConfig = {
|
|
|
24
24
|
},
|
|
25
25
|
};
|
|
26
26
|
const Group = React.forwardRef(function Group(props, ref) {
|
|
27
|
-
const { id,
|
|
27
|
+
const { id, appearance, className, dataTestId, dataTour, name, easing, htmlFor, scroll, style, tag: Tag = 'div', isActive, isDisabled, onClick, onMouseDown, children, } = props;
|
|
28
28
|
const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, groupConfig);
|
|
29
29
|
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
30
30
|
const { directionClass, flexGrowClass, justifyContentClass, alignClass, alignDirectionClass, fillActiveClass, fillActiveHoverClass, fillClass, fillDisabledClass, fillHoverClass, borderColorActiveClass, borderColorActiveHoverClass, borderColorClass, borderColorHoverClass, borderTypeClass, borderWidthClass, textColorActiveClass, textColorClass, textColorHoverClass, columnsClass, elevationClass, heightClass, iconFillHoverClass, shapeClass, stackingClass, widthClass, wrapClass, } = propsGenerator;
|
|
31
31
|
// @ts-expect-error
|
|
32
32
|
const { styles: groupStyles } = useStyles.useStyles(props);
|
|
33
|
-
return (jsxRuntime.jsx(Tag, { id: id,
|
|
33
|
+
return (jsxRuntime.jsx(Tag, { id: id, className: clsx(className, 'group', easing && `easing_${easing}`, widthClass && `width_${widthClass}`, heightClass && `height_${heightClass}`, columnsClass && `group_columns_${columnsClass}`, alignDirectionClass && `align_${alignDirectionClass}`, directionClass && `group_direction_${directionClass}`, alignClass && `align_${alignClass}`, justifyContentClass && `justify-content_${justifyContentClass}`, textColorClass && `group_text-color_${textColorClass}`, textColorActiveClass &&
|
|
34
34
|
`group_text-color_active_${textColorActiveClass}`, textColorHoverClass && `group_text-color_hover_${textColorHoverClass}`, iconFillHoverClass && `group_icon_fill_hover_${iconFillHoverClass}`, !isDisabled
|
|
35
35
|
? !isActive
|
|
36
36
|
? fillClass && `fill_${fillClass}`
|
|
@@ -51,7 +51,7 @@ const Group = React.forwardRef(function Group(props, ref) {
|
|
|
51
51
|
`border-color_hover_${borderColorHoverClass}`
|
|
52
52
|
: borderColorActiveHoverClass &&
|
|
53
53
|
`border-color_active_hover_${borderColorActiveHoverClass}`
|
|
54
|
-
: fillDisabledClass && `fill_${fillDisabledClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderTypeClass && `border_type_${borderTypeClass}`, elevationClass && `elevation_${elevationClass}`, onClick && 'cursor_type_pointer'), name: name, ref: ref, htmlFor: htmlFor, style: Object.assign({}, groupStyles, style), onClick: onClick, onMouseDown: onMouseDown, children: children }));
|
|
54
|
+
: fillDisabledClass && `fill_${fillDisabledClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderTypeClass && `border_type_${borderTypeClass}`, elevationClass && `elevation_${elevationClass}`, onClick && 'cursor_type_pointer'), name: name, ref: ref, "data-test-id": dataTestId, "data-tour": dataTour, htmlFor: htmlFor, style: Object.assign({}, groupStyles, style), onClick: onClick, onMouseDown: onMouseDown, children: children }));
|
|
55
55
|
});
|
|
56
56
|
|
|
57
57
|
exports.Group = Group;
|
|
@@ -22,13 +22,13 @@ const groupConfig = {
|
|
|
22
22
|
},
|
|
23
23
|
};
|
|
24
24
|
const Group = React.forwardRef(function Group(props, ref) {
|
|
25
|
-
const { id,
|
|
25
|
+
const { id, appearance, className, dataTestId, dataTour, name, easing, htmlFor, scroll, style, tag: Tag = 'div', isActive, isDisabled, onClick, onMouseDown, children, } = props;
|
|
26
26
|
const appearanceConfig = useAppearanceConfig(appearance, groupConfig);
|
|
27
27
|
const propsGenerator = useDevicePropsGenerator(props, appearanceConfig);
|
|
28
28
|
const { directionClass, flexGrowClass, justifyContentClass, alignClass, alignDirectionClass, fillActiveClass, fillActiveHoverClass, fillClass, fillDisabledClass, fillHoverClass, borderColorActiveClass, borderColorActiveHoverClass, borderColorClass, borderColorHoverClass, borderTypeClass, borderWidthClass, textColorActiveClass, textColorClass, textColorHoverClass, columnsClass, elevationClass, heightClass, iconFillHoverClass, shapeClass, stackingClass, widthClass, wrapClass, } = propsGenerator;
|
|
29
29
|
// @ts-expect-error
|
|
30
30
|
const { styles: groupStyles } = useStyles(props);
|
|
31
|
-
return (jsx(Tag, { id: id,
|
|
31
|
+
return (jsx(Tag, { id: id, className: clsx(className, 'group', easing && `easing_${easing}`, widthClass && `width_${widthClass}`, heightClass && `height_${heightClass}`, columnsClass && `group_columns_${columnsClass}`, alignDirectionClass && `align_${alignDirectionClass}`, directionClass && `group_direction_${directionClass}`, alignClass && `align_${alignClass}`, justifyContentClass && `justify-content_${justifyContentClass}`, textColorClass && `group_text-color_${textColorClass}`, textColorActiveClass &&
|
|
32
32
|
`group_text-color_active_${textColorActiveClass}`, textColorHoverClass && `group_text-color_hover_${textColorHoverClass}`, iconFillHoverClass && `group_icon_fill_hover_${iconFillHoverClass}`, !isDisabled
|
|
33
33
|
? !isActive
|
|
34
34
|
? fillClass && `fill_${fillClass}`
|
|
@@ -49,7 +49,7 @@ const Group = React.forwardRef(function Group(props, ref) {
|
|
|
49
49
|
`border-color_hover_${borderColorHoverClass}`
|
|
50
50
|
: borderColorActiveHoverClass &&
|
|
51
51
|
`border-color_active_hover_${borderColorActiveHoverClass}`
|
|
52
|
-
: fillDisabledClass && `fill_${fillDisabledClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderTypeClass && `border_type_${borderTypeClass}`, elevationClass && `elevation_${elevationClass}`, onClick && 'cursor_type_pointer'), name: name, ref: ref, htmlFor: htmlFor, style: Object.assign({}, groupStyles, style), onClick: onClick, onMouseDown: onMouseDown, children: children }));
|
|
52
|
+
: fillDisabledClass && `fill_${fillDisabledClass}`, borderWidthClass && `border-width_${borderWidthClass}`, borderTypeClass && `border_type_${borderTypeClass}`, elevationClass && `elevation_${elevationClass}`, onClick && 'cursor_type_pointer'), name: name, ref: ref, "data-test-id": dataTestId, "data-tour": dataTour, htmlFor: htmlFor, style: Object.assign({}, groupStyles, style), onClick: onClick, onMouseDown: onMouseDown, children: children }));
|
|
53
53
|
});
|
|
54
54
|
|
|
55
55
|
export { Group as G, groupAppearance as a, groupConfig as g };
|
|
@@ -6,7 +6,7 @@ var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceCon
|
|
|
6
6
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
7
7
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
8
8
|
var Avatar = require('../../Avatar_cjs_D-M9sW20.js');
|
|
9
|
-
var Group = require('../../
|
|
9
|
+
var Group = require('../../Group_cjs_CLE5_jDA.js');
|
|
10
10
|
var Text = require('../../Text_cjs_DaH5tVvz.js');
|
|
11
11
|
require('react');
|
|
12
12
|
require('lodash/camelCase');
|
|
@@ -5,6 +5,7 @@ var clsx = require('clsx');
|
|
|
5
5
|
var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
6
6
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
7
7
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
8
|
+
var Button = require('../../Button_cjs_CrbH_HYn.js');
|
|
8
9
|
var Icon = require('../../Icon_cjs_DKzT-zmQ.js');
|
|
9
10
|
var Text = require('../../Text_cjs_DaH5tVvz.js');
|
|
10
11
|
var _default = require('@itcase/icons/default');
|
|
@@ -22,17 +23,18 @@ require('../hooks/useMediaQueries/useMediaQueries.js');
|
|
|
22
23
|
require('react-responsive');
|
|
23
24
|
require('../utils/setViewportProperty.js');
|
|
24
25
|
require('lodash/maxBy');
|
|
26
|
+
require('../../Link_cjs_qKXVfU8e.js');
|
|
27
|
+
require('../../Loader_cjs_CRiUlTC3.js');
|
|
25
28
|
require('react-inlinesvg');
|
|
26
29
|
require('../hoc/urlWithAssetPrefix.js');
|
|
27
30
|
require('../context/UrlAssetPrefix.js');
|
|
28
|
-
require('../../Link_cjs_qKXVfU8e.js');
|
|
29
31
|
|
|
30
32
|
const notificationAppearanceDefault = {
|
|
31
33
|
defaultPrimary: {
|
|
32
34
|
fill: 'surfacePrimary',
|
|
33
35
|
fillHover: 'surfacePrimaryHover',
|
|
34
36
|
titleTextColor: 'surfaceTextPrimary',
|
|
35
|
-
titleTextSize: '
|
|
37
|
+
titleTextSize: 'xxl',
|
|
36
38
|
descTextColor: 'surfaceTextPrimary',
|
|
37
39
|
descTextSize: 'm',
|
|
38
40
|
borderColor: 'surfaceBorderPrimary',
|
|
@@ -53,9 +55,9 @@ const notificationAppearanceError = {
|
|
|
53
55
|
descTextSize: 'm',
|
|
54
56
|
borderColor: 'errorBorderPrimary',
|
|
55
57
|
textColor: 'errorTextPrimary',
|
|
56
|
-
|
|
58
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
57
59
|
closeIcon: _default.icons20.Action.Close,
|
|
58
|
-
|
|
60
|
+
closeIconAppearance: 'errorPrimary size_20_20 solid circular',
|
|
59
61
|
},
|
|
60
62
|
};
|
|
61
63
|
|
|
@@ -69,9 +71,10 @@ const notificationAppearanceInfo = {
|
|
|
69
71
|
descTextSize: 'm',
|
|
70
72
|
borderColor: 'infoBorderPrimary',
|
|
71
73
|
textColor: 'infoTextPrimary',
|
|
74
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
72
75
|
iconSize: 20,
|
|
73
76
|
closeIcon: _default.icons20.Action.Close,
|
|
74
|
-
|
|
77
|
+
closeIconAppearance: 'infoPrimary size_20_20 solid circular',
|
|
75
78
|
},
|
|
76
79
|
};
|
|
77
80
|
|
|
@@ -101,9 +104,10 @@ const notificationAppearanceSuccess = {
|
|
|
101
104
|
descTextSize: 'm',
|
|
102
105
|
borderColor: 'successBorderPrimary',
|
|
103
106
|
textColor: 'successTextPrimary',
|
|
107
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
104
108
|
iconSize: 20,
|
|
105
109
|
closeIcon: _default.icons20.Action.Close,
|
|
106
|
-
|
|
110
|
+
closeIconAppearance: 'successPrimary size_20_20 solid circular',
|
|
107
111
|
},
|
|
108
112
|
};
|
|
109
113
|
|
|
@@ -117,9 +121,10 @@ const notificationAppearanceWarning = {
|
|
|
117
121
|
descTextSize: 'm',
|
|
118
122
|
borderColor: 'surfaceBorderPrimary',
|
|
119
123
|
textColor: 'warningTextPrimary',
|
|
124
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
120
125
|
iconSize: 20,
|
|
121
126
|
closeIcon: _default.icons20.Action.Close,
|
|
122
|
-
|
|
127
|
+
closeIconAppearance: 'warningPrimary size_20_20 solid circular',
|
|
123
128
|
},
|
|
124
129
|
};
|
|
125
130
|
|
|
@@ -140,24 +145,20 @@ const notificationConfig = {
|
|
|
140
145
|
},
|
|
141
146
|
};
|
|
142
147
|
function Notification(props) {
|
|
143
|
-
const { id, appearance, className, dataTestId, dataTour, title, text, before, after,
|
|
144
|
-
// type,
|
|
145
|
-
isSkeleton, onClickClose, } = props;
|
|
148
|
+
const { id, appearance, className, dataTestId, dataTour, title, text, float, global, toast, before, after, isSkeleton, onClickButton, onClickClose, } = props;
|
|
146
149
|
const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, notificationConfig);
|
|
147
150
|
const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
|
|
148
|
-
const { fillClass, titleTextColor, titleTextSize, descTextColor, descTextSize,
|
|
151
|
+
const { fillClass, fillHoverClass, titleTextColor, titleTextSize, descTextColor, descTextSize, buttonAppearance, buttonLabel, elevationClass, widthClass, closeIcon, closeIconAppearance, closeIconSrc, } = propsGenerator;
|
|
149
152
|
// @ts-expect-error
|
|
150
153
|
const { styles: notificationStyles } = useStyles.useStyles(props);
|
|
151
|
-
return (jsxRuntime.jsxs("div", { className: clsx('notification__item',
|
|
154
|
+
return (jsxRuntime.jsxs("div", { className: clsx('notification__item', float && 'notification__item_float', toast && 'notification__item_toast', global && 'notification__item_global', widthClass && `width_${widthClass}`, elevationClass && `elevation_${elevationClass}`, fillClass && `fill_${fillClass}`, fillHoverClass && `fill_${fillHoverClass}`, isSkeleton && `notification__item_skeleton`), "data-test-id": dataTestId, "data-tour": dataTour, style: notificationStyles, children: [before, jsxRuntime.jsxs("div", { className: clsx(className, 'notification__item-wrapper'), children: [title && (jsxRuntime.jsx(Text.Text, { className: "notification__item-title", size: titleTextSize, textColor: titleTextColor, children: title })), text && (jsxRuntime.jsx(Text.Text, { className: "notification__item-text", size: descTextSize, textColor: descTextColor, children: text })), onClickClose && (jsxRuntime.jsx(Icon.Icon, { appearance: closeIconAppearance, className: clsx('notification__item-close', 'cursor_type_pointer'), imageSrc: closeIconSrc, SvgImage: closeIcon, onClick: () => onClickClose && onClickClose(id) })), (onClickButton || buttonLabel) && (jsxRuntime.jsx(Button.Button, { appearance: buttonAppearance, className: "notification__item-button", width: "fill", label: buttonLabel, onClick: onClickButton }))] }), after] }));
|
|
152
155
|
}
|
|
153
156
|
|
|
154
157
|
function NotificationWrapper(props) {
|
|
155
158
|
const notifications = Notifications.useNotifications();
|
|
156
159
|
const { hideNotifications } = Notifications.useNotificationsAPI();
|
|
157
|
-
const { className
|
|
158
|
-
return (jsxRuntime.jsx("div", { className: clsx('notification', className), children: jsxRuntime.jsx("div", { className: "notification__wrapper", children: notifications.map((notification, i) => (jsxRuntime.jsx(Notification, { id: notification.id, appearance: notification.appearance, title: notification.title, status: notification.status, text: notification.text,
|
|
159
|
-
// type={notification.type}
|
|
160
|
-
after: notification.after, close: close, onClickClose: hideNotifications }, i))) }) }));
|
|
160
|
+
const { className } = props;
|
|
161
|
+
return (jsxRuntime.jsx("div", { className: clsx('notification', className), children: jsxRuntime.jsx("div", { className: "notification__wrapper", children: notifications.map((notification, i) => (jsxRuntime.jsx(Notification, { id: notification.id, appearance: notification.appearance, title: notification.title, status: notification.status, text: notification.text, buttonLabel: notification.buttonLabel, float: notification.float, global: notification.global, toast: notification.toast, after: notification.after, closeIcon: notification.closeIcon, closeIconSrc: notification.closeIconSrc, onClickButton: notification.onClickButton, onClickClose: hideNotifications }, i))) }) }));
|
|
161
162
|
}
|
|
162
163
|
|
|
163
164
|
exports.Notification = Notification;
|
|
@@ -9,7 +9,7 @@ var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceCon
|
|
|
9
9
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
10
10
|
var useStyles = require('../hooks/useStyles/useStyles.js');
|
|
11
11
|
var Button = require('../../Button_cjs_CrbH_HYn.js');
|
|
12
|
-
var Group = require('../../
|
|
12
|
+
var Group = require('../../Group_cjs_CLE5_jDA.js');
|
|
13
13
|
var Text = require('../../Text_cjs_DaH5tVvz.js');
|
|
14
14
|
require('@itcase/common');
|
|
15
15
|
require('../context/UrlAssetPrefix.js');
|
|
@@ -6,7 +6,7 @@ var Icon = require('../../Icon_cjs_DKzT-zmQ.js');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var clsx = require('clsx');
|
|
8
8
|
var CreatableSelect = require('react-select/creatable');
|
|
9
|
-
var Group = require('../../
|
|
9
|
+
var Group = require('../../Group_cjs_CLE5_jDA.js');
|
|
10
10
|
var Text = require('../../Text_cjs_DaH5tVvz.js');
|
|
11
11
|
var useAppearanceConfig = require('../hooks/useAppearanceConfig/useAppearanceConfig.js');
|
|
12
12
|
var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
|
|
@@ -122,11 +122,18 @@ function createNotification(notification, onClose) {
|
|
|
122
122
|
let id = uuid.v4().split('-')[0];
|
|
123
123
|
let title = '';
|
|
124
124
|
let text = '';
|
|
125
|
+
let float = null;
|
|
126
|
+
let toast = null;
|
|
127
|
+
let global = null;
|
|
128
|
+
let closeIcon = '';
|
|
129
|
+
let closeIconSrc = '';
|
|
130
|
+
let buttonLabel = '';
|
|
125
131
|
let status = STATUSES.warning;
|
|
126
|
-
// let appearance = STATUSES.appearance
|
|
127
132
|
let closeByTime = 4500;
|
|
128
133
|
let appearance = '';
|
|
129
134
|
let after = null;
|
|
135
|
+
let closeIconAppearance = '';
|
|
136
|
+
let onClickButton = null;
|
|
130
137
|
if (typeof notification === 'string') {
|
|
131
138
|
text = notification;
|
|
132
139
|
}
|
|
@@ -134,6 +141,15 @@ function createNotification(notification, onClose) {
|
|
|
134
141
|
id = notification.id ?? id;
|
|
135
142
|
title = notification.title ?? title;
|
|
136
143
|
text = notification.text ?? text;
|
|
144
|
+
float = notification.float ?? float;
|
|
145
|
+
toast = notification.toast ?? toast;
|
|
146
|
+
closeIconAppearance =
|
|
147
|
+
notification.closeIconAppearance ?? closeIconAppearance;
|
|
148
|
+
global = notification.global ?? global;
|
|
149
|
+
closeIcon = notification.closeIcon ?? closeIcon;
|
|
150
|
+
closeIconSrc = notification.closeIconSrc ?? closeIconSrc;
|
|
151
|
+
buttonLabel = notification.buttonLabel ?? buttonLabel;
|
|
152
|
+
onClickButton = notification.onClickButton ?? onClickButton;
|
|
137
153
|
status = notification.status ?? status;
|
|
138
154
|
closeByTime = notification.closeByTime ?? closeByTime;
|
|
139
155
|
after = notification.after ?? after;
|
|
@@ -158,8 +174,16 @@ function createNotification(notification, onClose) {
|
|
|
158
174
|
title: title,
|
|
159
175
|
status: status,
|
|
160
176
|
text: text,
|
|
177
|
+
buttonLabel: buttonLabel,
|
|
178
|
+
float: float,
|
|
179
|
+
global: global,
|
|
180
|
+
toast: toast,
|
|
161
181
|
after: after,
|
|
162
182
|
closeByTime: closeByTime,
|
|
183
|
+
closeIcon: closeIcon,
|
|
184
|
+
closeIconAppearance: closeIconAppearance,
|
|
185
|
+
closeIconSrc: closeIconSrc,
|
|
186
|
+
onClickButton: onClickButton,
|
|
163
187
|
onClose: onClose,
|
|
164
188
|
};
|
|
165
189
|
}
|
|
@@ -4,7 +4,7 @@ import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceC
|
|
|
4
4
|
import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
|
|
5
5
|
import { useStyles } from '../hooks/useStyles/useStyles.js';
|
|
6
6
|
import { A as Avatar } from '../Avatar_es_BTvbT36l.js';
|
|
7
|
-
import { G as Group } from '../
|
|
7
|
+
import { G as Group } from '../Group_es_ZTwafPX1.js';
|
|
8
8
|
import { T as Text } from '../Text_es_RDU9GLCV.js';
|
|
9
9
|
import 'react';
|
|
10
10
|
import 'lodash/camelCase';
|
package/dist/components/Group.js
CHANGED
|
@@ -3,6 +3,7 @@ import clsx from 'clsx';
|
|
|
3
3
|
import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
|
|
4
4
|
import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
|
|
5
5
|
import { useStyles } from '../hooks/useStyles/useStyles.js';
|
|
6
|
+
import { B as Button } from '../Button_es_qNbDsXQg.js';
|
|
6
7
|
import { I as Icon } from '../Icon_es_5JUPM7bP.js';
|
|
7
8
|
import { T as Text } from '../Text_es_RDU9GLCV.js';
|
|
8
9
|
import { icons20 } from '@itcase/icons/default';
|
|
@@ -20,17 +21,18 @@ import '../hooks/useMediaQueries/useMediaQueries.js';
|
|
|
20
21
|
import 'react-responsive';
|
|
21
22
|
import '../utils/setViewportProperty.js';
|
|
22
23
|
import 'lodash/maxBy';
|
|
24
|
+
import '../Link_es_P2b6ya7P.js';
|
|
25
|
+
import '../Loader_es_Dq2-7sn2.js';
|
|
23
26
|
import 'react-inlinesvg';
|
|
24
27
|
import '../hoc/urlWithAssetPrefix.js';
|
|
25
28
|
import '../context/UrlAssetPrefix.js';
|
|
26
|
-
import '../Link_es_P2b6ya7P.js';
|
|
27
29
|
|
|
28
30
|
const notificationAppearanceDefault = {
|
|
29
31
|
defaultPrimary: {
|
|
30
32
|
fill: 'surfacePrimary',
|
|
31
33
|
fillHover: 'surfacePrimaryHover',
|
|
32
34
|
titleTextColor: 'surfaceTextPrimary',
|
|
33
|
-
titleTextSize: '
|
|
35
|
+
titleTextSize: 'xxl',
|
|
34
36
|
descTextColor: 'surfaceTextPrimary',
|
|
35
37
|
descTextSize: 'm',
|
|
36
38
|
borderColor: 'surfaceBorderPrimary',
|
|
@@ -51,9 +53,9 @@ const notificationAppearanceError = {
|
|
|
51
53
|
descTextSize: 'm',
|
|
52
54
|
borderColor: 'errorBorderPrimary',
|
|
53
55
|
textColor: 'errorTextPrimary',
|
|
54
|
-
|
|
56
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
55
57
|
closeIcon: icons20.Action.Close,
|
|
56
|
-
|
|
58
|
+
closeIconAppearance: 'errorPrimary size_20_20 solid circular',
|
|
57
59
|
},
|
|
58
60
|
};
|
|
59
61
|
|
|
@@ -67,9 +69,10 @@ const notificationAppearanceInfo = {
|
|
|
67
69
|
descTextSize: 'm',
|
|
68
70
|
borderColor: 'infoBorderPrimary',
|
|
69
71
|
textColor: 'infoTextPrimary',
|
|
72
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
70
73
|
iconSize: 20,
|
|
71
74
|
closeIcon: icons20.Action.Close,
|
|
72
|
-
|
|
75
|
+
closeIconAppearance: 'infoPrimary size_20_20 solid circular',
|
|
73
76
|
},
|
|
74
77
|
};
|
|
75
78
|
|
|
@@ -99,9 +102,10 @@ const notificationAppearanceSuccess = {
|
|
|
99
102
|
descTextSize: 'm',
|
|
100
103
|
borderColor: 'successBorderPrimary',
|
|
101
104
|
textColor: 'successTextPrimary',
|
|
105
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
102
106
|
iconSize: 20,
|
|
103
107
|
closeIcon: icons20.Action.Close,
|
|
104
|
-
|
|
108
|
+
closeIconAppearance: 'successPrimary size_20_20 solid circular',
|
|
105
109
|
},
|
|
106
110
|
};
|
|
107
111
|
|
|
@@ -115,9 +119,10 @@ const notificationAppearanceWarning = {
|
|
|
115
119
|
descTextSize: 'm',
|
|
116
120
|
borderColor: 'surfaceBorderPrimary',
|
|
117
121
|
textColor: 'warningTextPrimary',
|
|
122
|
+
buttonAppearance: 'surfacePrimary sizeXXL solid rounded',
|
|
118
123
|
iconSize: 20,
|
|
119
124
|
closeIcon: icons20.Action.Close,
|
|
120
|
-
|
|
125
|
+
closeIconAppearance: 'warningPrimary size_20_20 solid circular',
|
|
121
126
|
},
|
|
122
127
|
};
|
|
123
128
|
|
|
@@ -138,24 +143,20 @@ const notificationConfig = {
|
|
|
138
143
|
},
|
|
139
144
|
};
|
|
140
145
|
function Notification(props) {
|
|
141
|
-
const { id, appearance, className, dataTestId, dataTour, title, text, before, after,
|
|
142
|
-
// type,
|
|
143
|
-
isSkeleton, onClickClose, } = props;
|
|
146
|
+
const { id, appearance, className, dataTestId, dataTour, title, text, float, global, toast, before, after, isSkeleton, onClickButton, onClickClose, } = props;
|
|
144
147
|
const appearanceConfig = useAppearanceConfig(appearance, notificationConfig);
|
|
145
148
|
const propsGenerator = useDevicePropsGenerator(props, appearanceConfig);
|
|
146
|
-
const { fillClass, titleTextColor, titleTextSize, descTextColor, descTextSize,
|
|
149
|
+
const { fillClass, fillHoverClass, titleTextColor, titleTextSize, descTextColor, descTextSize, buttonAppearance, buttonLabel, elevationClass, widthClass, closeIcon, closeIconAppearance, closeIconSrc, } = propsGenerator;
|
|
147
150
|
// @ts-expect-error
|
|
148
151
|
const { styles: notificationStyles } = useStyles(props);
|
|
149
|
-
return (jsxs("div", { className: clsx('notification__item',
|
|
152
|
+
return (jsxs("div", { className: clsx('notification__item', float && 'notification__item_float', toast && 'notification__item_toast', global && 'notification__item_global', widthClass && `width_${widthClass}`, elevationClass && `elevation_${elevationClass}`, fillClass && `fill_${fillClass}`, fillHoverClass && `fill_${fillHoverClass}`, isSkeleton && `notification__item_skeleton`), "data-test-id": dataTestId, "data-tour": dataTour, style: notificationStyles, children: [before, jsxs("div", { className: clsx(className, 'notification__item-wrapper'), children: [title && (jsx(Text, { className: "notification__item-title", size: titleTextSize, textColor: titleTextColor, children: title })), text && (jsx(Text, { className: "notification__item-text", size: descTextSize, textColor: descTextColor, children: text })), onClickClose && (jsx(Icon, { appearance: closeIconAppearance, className: clsx('notification__item-close', 'cursor_type_pointer'), imageSrc: closeIconSrc, SvgImage: closeIcon, onClick: () => onClickClose && onClickClose(id) })), (onClickButton || buttonLabel) && (jsx(Button, { appearance: buttonAppearance, className: "notification__item-button", width: "fill", label: buttonLabel, onClick: onClickButton }))] }), after] }));
|
|
150
153
|
}
|
|
151
154
|
|
|
152
155
|
function NotificationWrapper(props) {
|
|
153
156
|
const notifications = useNotifications();
|
|
154
157
|
const { hideNotifications } = useNotificationsAPI();
|
|
155
|
-
const { className
|
|
156
|
-
return (jsx("div", { className: clsx('notification', className), children: jsx("div", { className: "notification__wrapper", children: notifications.map((notification, i) => (jsx(Notification, { id: notification.id, appearance: notification.appearance, title: notification.title, status: notification.status, text: notification.text,
|
|
157
|
-
// type={notification.type}
|
|
158
|
-
after: notification.after, close: close, onClickClose: hideNotifications }, i))) }) }));
|
|
158
|
+
const { className } = props;
|
|
159
|
+
return (jsx("div", { className: clsx('notification', className), children: jsx("div", { className: "notification__wrapper", children: notifications.map((notification, i) => (jsx(Notification, { id: notification.id, appearance: notification.appearance, title: notification.title, status: notification.status, text: notification.text, buttonLabel: notification.buttonLabel, float: notification.float, global: notification.global, toast: notification.toast, after: notification.after, closeIcon: notification.closeIcon, closeIconSrc: notification.closeIconSrc, onClickButton: notification.onClickButton, onClickClose: hideNotifications }, i))) }) }));
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
export { Notification, NotificationWrapper, notificationAppearance, notificationConfig };
|
|
@@ -7,7 +7,7 @@ import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceC
|
|
|
7
7
|
import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
|
|
8
8
|
import { useStyles } from '../hooks/useStyles/useStyles.js';
|
|
9
9
|
import { B as Button } from '../Button_es_qNbDsXQg.js';
|
|
10
|
-
import { G as Group } from '../
|
|
10
|
+
import { G as Group } from '../Group_es_ZTwafPX1.js';
|
|
11
11
|
import { T as Text } from '../Text_es_RDU9GLCV.js';
|
|
12
12
|
import '@itcase/common';
|
|
13
13
|
import '../context/UrlAssetPrefix.js';
|
|
@@ -4,7 +4,7 @@ import { I as Icon, B as Badge } from '../Icon_es_5JUPM7bP.js';
|
|
|
4
4
|
import React, { useRef, useEffect, useMemo } from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import CreatableSelect from 'react-select/creatable';
|
|
7
|
-
import { G as Group } from '../
|
|
7
|
+
import { G as Group } from '../Group_es_ZTwafPX1.js';
|
|
8
8
|
import { T as Text } from '../Text_es_RDU9GLCV.js';
|
|
9
9
|
import { useAppearanceConfig } from '../hooks/useAppearanceConfig/useAppearanceConfig.js';
|
|
10
10
|
import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
|
|
@@ -120,11 +120,18 @@ function createNotification(notification, onClose) {
|
|
|
120
120
|
let id = v4().split('-')[0];
|
|
121
121
|
let title = '';
|
|
122
122
|
let text = '';
|
|
123
|
+
let float = null;
|
|
124
|
+
let toast = null;
|
|
125
|
+
let global = null;
|
|
126
|
+
let closeIcon = '';
|
|
127
|
+
let closeIconSrc = '';
|
|
128
|
+
let buttonLabel = '';
|
|
123
129
|
let status = STATUSES.warning;
|
|
124
|
-
// let appearance = STATUSES.appearance
|
|
125
130
|
let closeByTime = 4500;
|
|
126
131
|
let appearance = '';
|
|
127
132
|
let after = null;
|
|
133
|
+
let closeIconAppearance = '';
|
|
134
|
+
let onClickButton = null;
|
|
128
135
|
if (typeof notification === 'string') {
|
|
129
136
|
text = notification;
|
|
130
137
|
}
|
|
@@ -132,6 +139,15 @@ function createNotification(notification, onClose) {
|
|
|
132
139
|
id = notification.id ?? id;
|
|
133
140
|
title = notification.title ?? title;
|
|
134
141
|
text = notification.text ?? text;
|
|
142
|
+
float = notification.float ?? float;
|
|
143
|
+
toast = notification.toast ?? toast;
|
|
144
|
+
closeIconAppearance =
|
|
145
|
+
notification.closeIconAppearance ?? closeIconAppearance;
|
|
146
|
+
global = notification.global ?? global;
|
|
147
|
+
closeIcon = notification.closeIcon ?? closeIcon;
|
|
148
|
+
closeIconSrc = notification.closeIconSrc ?? closeIconSrc;
|
|
149
|
+
buttonLabel = notification.buttonLabel ?? buttonLabel;
|
|
150
|
+
onClickButton = notification.onClickButton ?? onClickButton;
|
|
135
151
|
status = notification.status ?? status;
|
|
136
152
|
closeByTime = notification.closeByTime ?? closeByTime;
|
|
137
153
|
after = notification.after ?? after;
|
|
@@ -156,8 +172,16 @@ function createNotification(notification, onClose) {
|
|
|
156
172
|
title: title,
|
|
157
173
|
status: status,
|
|
158
174
|
text: text,
|
|
175
|
+
buttonLabel: buttonLabel,
|
|
176
|
+
float: float,
|
|
177
|
+
global: global,
|
|
178
|
+
toast: toast,
|
|
159
179
|
after: after,
|
|
160
180
|
closeByTime: closeByTime,
|
|
181
|
+
closeIcon: closeIcon,
|
|
182
|
+
closeIconAppearance: closeIconAppearance,
|
|
183
|
+
closeIconSrc: closeIconSrc,
|
|
184
|
+
onClickButton: onClickButton,
|
|
161
185
|
onClose: onClose,
|
|
162
186
|
};
|
|
163
187
|
}
|
|
@@ -8,93 +8,78 @@
|
|
|
8
8
|
top: 0;
|
|
9
9
|
right: 0;
|
|
10
10
|
z-index: 1000;
|
|
11
|
+
@media (--mobile) {
|
|
12
|
+
left: 0;
|
|
13
|
+
top: inherit;
|
|
14
|
+
right: 0;
|
|
15
|
+
bottom: 0;
|
|
16
|
+
}
|
|
11
17
|
^&__wrapper {
|
|
12
18
|
width: 100%;
|
|
13
19
|
position: relative;
|
|
14
20
|
display: flex;
|
|
15
21
|
flex-flow: column nowrap;
|
|
16
22
|
align-items: flex-end;
|
|
17
|
-
top:
|
|
18
|
-
right:
|
|
19
|
-
gap:
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
top: 56px;
|
|
24
|
+
right: 48px;
|
|
25
|
+
gap: 24px;
|
|
26
|
+
@media (--mobile) {
|
|
27
|
+
align-items: center;
|
|
28
|
+
left: 0;
|
|
29
|
+
top: inherit;
|
|
30
|
+
right: 0;
|
|
31
|
+
bottom: 72px;
|
|
22
32
|
}
|
|
23
33
|
}
|
|
24
34
|
}
|
|
25
35
|
}
|
|
26
|
-
.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
top: 0;
|
|
32
|
-
right: 0;
|
|
33
|
-
z-index: 1000;
|
|
34
|
-
^&__wrapper {
|
|
35
|
-
width: 100%;
|
|
36
|
-
position: relative;
|
|
36
|
+
.notification__item {
|
|
37
|
+
&_float {
|
|
38
|
+
@mixin elevation-8;
|
|
39
|
+
^&-wrapper {
|
|
40
|
+
padding: 12px;
|
|
37
41
|
display: flex;
|
|
38
|
-
flex-
|
|
39
|
-
align-items: flex-end;
|
|
40
|
-
top: 20px;
|
|
41
|
-
right: 40px;
|
|
42
|
-
gap: 20px;
|
|
43
|
-
^^&__item {
|
|
44
|
-
width: 320px;
|
|
45
|
-
}
|
|
42
|
+
flex-direction: column;
|
|
46
43
|
}
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
46
|
.notification__item {
|
|
50
|
-
&
|
|
47
|
+
&_toast {
|
|
51
48
|
width: 100%;
|
|
52
|
-
border-radius: var(--notification-item-set-float-border-radius);
|
|
53
49
|
@mixin elevation-8;
|
|
54
|
-
|
|
55
|
-
padding: var(--notification-item-set-float-padding);
|
|
50
|
+
^&-wrapper {
|
|
56
51
|
display: flex;
|
|
57
52
|
flex-direction: column;
|
|
58
|
-
gap: 4px;
|
|
59
53
|
}
|
|
60
54
|
}
|
|
61
55
|
}
|
|
62
56
|
.notification__item {
|
|
63
|
-
&
|
|
57
|
+
&_global {
|
|
64
58
|
width: 100%;
|
|
65
|
-
background: var(--color-surface-fill-primary);
|
|
66
|
-
border-radius: var(--notification-item-set-toast-border-radius);
|
|
67
|
-
display: flex;
|
|
68
|
-
flex-direction: column;
|
|
69
|
-
gap: 24px;
|
|
70
59
|
@mixin elevation-8;
|
|
71
|
-
|
|
72
|
-
padding: var(--notification-item-set-toast-padding);
|
|
60
|
+
^&-wrapper {
|
|
73
61
|
display: flex;
|
|
74
62
|
flex-direction: column;
|
|
75
|
-
gap: 4px;
|
|
76
63
|
}
|
|
77
64
|
}
|
|
78
65
|
}
|
|
79
66
|
.notification__item {
|
|
80
|
-
|
|
81
|
-
padding: 12px;
|
|
82
|
-
gap: 8px;
|
|
83
|
-
display: flex;
|
|
84
|
-
flex-direction: column;
|
|
67
|
+
width: 340px;
|
|
85
68
|
&-wrapper {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
69
|
+
position: relative;
|
|
70
|
+
display: flex;
|
|
71
|
+
flex-direction: column;
|
|
72
|
+
gap: 8px;
|
|
89
73
|
^&-title {
|
|
90
|
-
grid-row-start: 1;
|
|
91
74
|
}
|
|
92
75
|
^&-text {
|
|
93
|
-
|
|
76
|
+
}
|
|
77
|
+
^&-button {
|
|
94
78
|
}
|
|
95
79
|
^&-close {
|
|
96
|
-
|
|
97
|
-
|
|
80
|
+
position: absolute;
|
|
81
|
+
top: 12px;
|
|
82
|
+
right: 12px;
|
|
98
83
|
}
|
|
99
84
|
}
|
|
100
85
|
}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
.notification__item {
|
|
2
|
-
|
|
3
|
-
padding: 12px;
|
|
4
|
-
gap: 8px;
|
|
5
|
-
display: flex;
|
|
6
|
-
flex-direction: column;
|
|
2
|
+
width: 340px;
|
|
7
3
|
&-wrapper {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
position: relative;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: 8px;
|
|
11
8
|
^&-title {
|
|
12
|
-
grid-row-start: 1;
|
|
13
9
|
}
|
|
14
10
|
^&-text {
|
|
15
|
-
|
|
11
|
+
}
|
|
12
|
+
^&-button {
|
|
16
13
|
}
|
|
17
14
|
^&-close {
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
position: absolute;
|
|
16
|
+
top: 12px;
|
|
17
|
+
right: 12px;
|
|
20
18
|
}
|
|
21
19
|
}
|
|
22
20
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Swiper 12.0.
|
|
2
|
+
* Swiper 12.0.2
|
|
3
3
|
* Most modern mobile touch slider and framework with hardware accelerated transitions
|
|
4
4
|
* https://swiperjs.com
|
|
5
5
|
*
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Released under the MIT License
|
|
9
9
|
*
|
|
10
|
-
* Released on: September
|
|
10
|
+
* Released on: September 18, 2025
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
13
|
:root {
|
|
@@ -340,6 +340,25 @@
|
|
|
340
340
|
display: none;
|
|
341
341
|
}
|
|
342
342
|
|
|
343
|
+
.swiper-button-prev,
|
|
344
|
+
.swiper-button-next {
|
|
345
|
+
top: var(--swiper-navigation-top-offset, 50%);
|
|
346
|
+
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
.swiper-button-prev {
|
|
350
|
+
left: var(--swiper-navigation-sides-offset, 4px);
|
|
351
|
+
right: auto;
|
|
352
|
+
.swiper-navigation-icon {
|
|
353
|
+
transform: rotate(180deg);
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
.swiper-button-next {
|
|
358
|
+
right: var(--swiper-navigation-sides-offset, 4px);
|
|
359
|
+
left: auto;
|
|
360
|
+
}
|
|
361
|
+
|
|
343
362
|
.swiper-horizontal {
|
|
344
363
|
.swiper-button-prev,
|
|
345
364
|
.swiper-button-next,
|
|
@@ -347,6 +366,7 @@
|
|
|
347
366
|
~ .swiper-button-next {
|
|
348
367
|
top: var(--swiper-navigation-top-offset, 50%);
|
|
349
368
|
margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
|
|
369
|
+
margin-left: 0;
|
|
350
370
|
}
|
|
351
371
|
.swiper-button-prev,
|
|
352
372
|
& ~ .swiper-button-prev,
|
|
@@ -384,19 +404,25 @@
|
|
|
384
404
|
~ .swiper-button-prev,
|
|
385
405
|
~ .swiper-button-next {
|
|
386
406
|
left: var(--swiper-navigation-top-offset, 50%);
|
|
407
|
+
right: auto;
|
|
387
408
|
margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
|
|
409
|
+
margin-top: 0;
|
|
388
410
|
}
|
|
389
411
|
.swiper-button-prev,
|
|
390
412
|
~ .swiper-button-prev {
|
|
391
413
|
top: var(--swiper-navigation-sides-offset, 4px);
|
|
392
414
|
bottom: auto;
|
|
393
|
-
|
|
415
|
+
.swiper-navigation-icon {
|
|
416
|
+
transform: rotate(-90deg);
|
|
417
|
+
}
|
|
394
418
|
}
|
|
395
419
|
.swiper-button-next,
|
|
396
420
|
~ .swiper-button-next {
|
|
397
421
|
bottom: var(--swiper-navigation-sides-offset, 4px);
|
|
398
422
|
top: auto;
|
|
399
|
-
|
|
423
|
+
.swiper-navigation-icon {
|
|
424
|
+
transform: rotate(90deg);
|
|
425
|
+
}
|
|
400
426
|
}
|
|
401
427
|
}
|
|
402
428
|
|
|
@@ -8,9 +8,9 @@ declare const notificationAppearanceError: {
|
|
|
8
8
|
descTextSize: string;
|
|
9
9
|
borderColor: string;
|
|
10
10
|
textColor: string;
|
|
11
|
-
|
|
11
|
+
buttonAppearance: string;
|
|
12
12
|
closeIcon: string;
|
|
13
|
-
|
|
13
|
+
closeIconAppearance: string;
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
export { notificationAppearanceError };
|
|
@@ -8,9 +8,10 @@ declare const notificationAppearanceInfo: {
|
|
|
8
8
|
descTextSize: string;
|
|
9
9
|
borderColor: string;
|
|
10
10
|
textColor: string;
|
|
11
|
+
buttonAppearance: string;
|
|
11
12
|
iconSize: number;
|
|
12
13
|
closeIcon: string;
|
|
13
|
-
|
|
14
|
+
closeIconAppearance: string;
|
|
14
15
|
};
|
|
15
16
|
};
|
|
16
17
|
export { notificationAppearanceInfo };
|
|
@@ -8,9 +8,10 @@ declare const notificationAppearanceSuccess: {
|
|
|
8
8
|
descTextSize: string;
|
|
9
9
|
borderColor: string;
|
|
10
10
|
textColor: string;
|
|
11
|
+
buttonAppearance: string;
|
|
11
12
|
iconSize: number;
|
|
12
13
|
closeIcon: string;
|
|
13
|
-
|
|
14
|
+
closeIconAppearance: string;
|
|
14
15
|
};
|
|
15
16
|
};
|
|
16
17
|
export { notificationAppearanceSuccess };
|
|
@@ -8,9 +8,10 @@ declare const notificationAppearanceWarning: {
|
|
|
8
8
|
descTextSize: string;
|
|
9
9
|
borderColor: string;
|
|
10
10
|
textColor: string;
|
|
11
|
+
buttonAppearance: string;
|
|
11
12
|
iconSize: number;
|
|
12
13
|
closeIcon: string;
|
|
13
|
-
|
|
14
|
+
closeIconAppearance: string;
|
|
14
15
|
};
|
|
15
16
|
};
|
|
16
17
|
export { notificationAppearanceWarning };
|
|
@@ -4,21 +4,35 @@ interface Notification {
|
|
|
4
4
|
id: Id;
|
|
5
5
|
_closeTimeout?: ReturnType<typeof setTimeout>;
|
|
6
6
|
after: React.ReactNode;
|
|
7
|
+
buttonLabel: string;
|
|
7
8
|
closeByTime: number | false;
|
|
9
|
+
closeIcon?: string;
|
|
10
|
+
closeIconSrc?: string;
|
|
11
|
+
float?: boolean;
|
|
12
|
+
global?: boolean;
|
|
8
13
|
status: 'error' | 'info' | 'success' | 'warning';
|
|
9
14
|
text: string;
|
|
10
15
|
textColor: string;
|
|
11
16
|
title: string;
|
|
17
|
+
toast?: boolean;
|
|
18
|
+
onClickButton?: () => void;
|
|
12
19
|
onClose?: () => void;
|
|
13
20
|
}
|
|
14
21
|
interface CreatedNotification {
|
|
15
22
|
id?: Notification['id'];
|
|
16
23
|
after?: Notification['after'];
|
|
24
|
+
buttonLabel?: Notification['buttonLabel'];
|
|
17
25
|
closeByTime?: Notification['closeByTime'];
|
|
26
|
+
closeIcon?: Notification['closeIcon'];
|
|
27
|
+
closeIconSrc?: Notification['closeIconSrc'];
|
|
28
|
+
float?: Notification['float'];
|
|
29
|
+
global?: Notification['global'];
|
|
18
30
|
status?: Notification['status'];
|
|
19
31
|
text?: Notification['text'];
|
|
20
32
|
textColor?: Notification['textColor'];
|
|
21
33
|
title?: Notification['title'];
|
|
34
|
+
toast?: Notification['toast'];
|
|
35
|
+
onClickButton?: Notification['onClickButton'];
|
|
22
36
|
onClose?: Notification['onClose'];
|
|
23
37
|
}
|
|
24
38
|
interface NotificationsProviderProps {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itcase/ui",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.142",
|
|
4
4
|
"description": "UI components (Modal, Loader, Popup, etc)",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"Modal",
|
|
@@ -103,17 +103,17 @@
|
|
|
103
103
|
"@emotion/is-prop-valid": "^1.4.0",
|
|
104
104
|
"@itcase/common": "^1.2.32",
|
|
105
105
|
"@itcase/icons": "^1.2.23",
|
|
106
|
-
"@itcase/storybook-config": "^1.2.
|
|
107
|
-
"@itcase/tokens-am": "^1.1.
|
|
106
|
+
"@itcase/storybook-config": "^1.2.12",
|
|
107
|
+
"@itcase/tokens-am": "^1.1.20",
|
|
108
108
|
"@itcase/tokens-baikal": "^1.1.17",
|
|
109
|
-
"@itcase/tokens-palette": "^1.1.
|
|
109
|
+
"@itcase/tokens-palette": "^1.1.20",
|
|
110
110
|
"clsx": "^2.1.1",
|
|
111
111
|
"date-fns": "^4.1.0",
|
|
112
|
-
"framer-motion": "^12.23.
|
|
112
|
+
"framer-motion": "^12.23.18",
|
|
113
113
|
"js-cookie": "^3.0.5",
|
|
114
114
|
"lodash": "^4.17.21",
|
|
115
115
|
"luxon": "^3.7.2",
|
|
116
|
-
"motion": "^12.23.
|
|
116
|
+
"motion": "^12.23.18",
|
|
117
117
|
"rc-slider": "^11.1.9",
|
|
118
118
|
"react": "^18.3.1",
|
|
119
119
|
"react-dadata": "^2.27.4",
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"react-scrollbars-custom": "^4.1.1",
|
|
131
131
|
"react-select": "^5.10.2",
|
|
132
132
|
"simplebar-react": "^3.3.2",
|
|
133
|
-
"swiper": "^12.0.
|
|
133
|
+
"swiper": "^12.0.2",
|
|
134
134
|
"uuid": "^13.0.0"
|
|
135
135
|
},
|
|
136
136
|
"devDependencies": {
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
"@commitlint/cli": "^19.8.1",
|
|
141
141
|
"@commitlint/config-conventional": "^19.8.1",
|
|
142
142
|
"@itcase/config": "^1.0.57",
|
|
143
|
-
"@itcase/lint": "^1.1.
|
|
143
|
+
"@itcase/lint": "^1.1.67",
|
|
144
144
|
"@itcase/types": "^1.0.45",
|
|
145
145
|
"@rollup/plugin-alias": "^5.1.1",
|
|
146
146
|
"@rollup/plugin-babel": "^6.0.4",
|
|
@@ -160,24 +160,24 @@
|
|
|
160
160
|
"@types/react-datepicker": "^7.0.0",
|
|
161
161
|
"@types/react-dom": "^19.0.2",
|
|
162
162
|
"@types/react-scroll": "^1.8.10",
|
|
163
|
-
"@types/uuid": "^
|
|
163
|
+
"@types/uuid": "^11.0.0",
|
|
164
164
|
"babel-loader": "^10.0.0",
|
|
165
165
|
"babel-plugin-inline-react-svg": "^2.0.2",
|
|
166
166
|
"babel-plugin-react-docgen": "^4.2.1",
|
|
167
167
|
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
|
168
168
|
"conventional-changelog-conventionalcommits": "^9.1.0",
|
|
169
|
-
"eslint": "9.
|
|
169
|
+
"eslint": "9.36.0",
|
|
170
170
|
"husky": "^9.1.7",
|
|
171
|
-
"lint-staged": "^16.
|
|
171
|
+
"lint-staged": "^16.2.0",
|
|
172
172
|
"prettier": "^3.6.2",
|
|
173
173
|
"react-docgen-typescript": "^2.4.0",
|
|
174
|
-
"rollup": "^4.
|
|
174
|
+
"rollup": "^4.52.0",
|
|
175
175
|
"rollup-plugin-copy": "^3.5.0",
|
|
176
176
|
"rollup-plugin-dts": "^6.2.3",
|
|
177
177
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
178
178
|
"rollup-preserve-directives": "^1.1.3",
|
|
179
|
-
"semantic-release": "^24.2.
|
|
180
|
-
"storybook": "^9.1.
|
|
179
|
+
"semantic-release": "^24.2.9",
|
|
180
|
+
"storybook": "^9.1.7",
|
|
181
181
|
"stylelint": "^16.24.0",
|
|
182
182
|
"typescript": "^5.9.2"
|
|
183
183
|
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
.notification__item {
|
|
2
|
-
&_float {
|
|
3
|
-
width: 100%;
|
|
4
|
-
border-radius: var(--notification-item-set-float-border-radius);
|
|
5
|
-
@mixin elevation-8;
|
|
6
|
-
^^&-wrapper {
|
|
7
|
-
padding: var(--notification-item-set-float-padding);
|
|
8
|
-
display: flex;
|
|
9
|
-
flex-direction: column;
|
|
10
|
-
gap: 4px;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
.notification__item {
|
|
2
|
-
&_toast {
|
|
3
|
-
width: 100%;
|
|
4
|
-
background: var(--color-surface-fill-primary);
|
|
5
|
-
border-radius: var(--notification-item-set-toast-border-radius);
|
|
6
|
-
display: flex;
|
|
7
|
-
flex-direction: column;
|
|
8
|
-
gap: 24px;
|
|
9
|
-
@mixin elevation-8;
|
|
10
|
-
^^&-wrapper {
|
|
11
|
-
padding: var(--notification-item-set-toast-padding);
|
|
12
|
-
display: flex;
|
|
13
|
-
flex-direction: column;
|
|
14
|
-
gap: 4px;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|