@snack-uikit/alert 0.13.5 → 0.13.7-preview-1f246c4a.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/cjs/components/Alert/Alert.js +108 -0
  3. package/dist/cjs/components/Alert/index.js +25 -0
  4. package/dist/cjs/components/AlertTop/AlertTop.js +100 -0
  5. package/dist/cjs/components/AlertTop/constants.js +23 -0
  6. package/dist/cjs/components/AlertTop/index.js +25 -0
  7. package/dist/cjs/components/index.js +26 -0
  8. package/dist/cjs/constants.js +34 -0
  9. package/dist/cjs/helperComponents/AlertButton.js +47 -0
  10. package/dist/cjs/helperComponents/index.js +25 -0
  11. package/dist/cjs/index.js +25 -0
  12. package/dist/cjs/types.js +5 -0
  13. package/dist/cjs/utils.js +31 -0
  14. package/dist/esm/components/Alert/Alert.d.ts +42 -0
  15. package/dist/esm/components/Alert/index.js +1 -0
  16. package/dist/esm/components/AlertTop/AlertTop.d.ts +35 -0
  17. package/dist/esm/components/AlertTop/constants.d.ts +8 -0
  18. package/dist/esm/components/AlertTop/index.js +1 -0
  19. package/dist/esm/components/index.js +2 -0
  20. package/dist/esm/constants.d.ts +16 -0
  21. package/dist/esm/helperComponents/AlertButton.d.ts +24 -0
  22. package/dist/esm/helperComponents/index.js +1 -0
  23. package/dist/esm/index.js +1 -0
  24. package/dist/esm/types.d.ts +4 -0
  25. package/dist/esm/utils.d.ts +2 -0
  26. package/package.json +12 -10
  27. package/dist/components/Alert/styles.module.css +0 -198
  28. package/dist/components/AlertTop/styles.module.css +0 -135
  29. package/dist/helperComponents/styles.module.css +0 -171
  30. /package/dist/{components → cjs/components}/Alert/Alert.d.ts +0 -0
  31. /package/dist/{components → cjs/components}/Alert/index.d.ts +0 -0
  32. /package/dist/{components → cjs/components}/AlertTop/AlertTop.d.ts +0 -0
  33. /package/dist/{components → cjs/components}/AlertTop/constants.d.ts +0 -0
  34. /package/dist/{components → cjs/components}/AlertTop/index.d.ts +0 -0
  35. /package/dist/{components → cjs/components}/index.d.ts +0 -0
  36. /package/dist/{constants.d.ts → cjs/constants.d.ts} +0 -0
  37. /package/dist/{helperComponents → cjs/helperComponents}/AlertButton.d.ts +0 -0
  38. /package/dist/{helperComponents → cjs/helperComponents}/index.d.ts +0 -0
  39. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  40. /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
  41. /package/dist/{utils.d.ts → cjs/utils.d.ts} +0 -0
  42. /package/dist/{components → esm/components}/Alert/Alert.js +0 -0
  43. /package/dist/{components/Alert/index.js → esm/components/Alert/index.d.ts} +0 -0
  44. /package/dist/{components → esm/components}/AlertTop/AlertTop.js +0 -0
  45. /package/dist/{components → esm/components}/AlertTop/constants.js +0 -0
  46. /package/dist/{components/AlertTop/index.js → esm/components/AlertTop/index.d.ts} +0 -0
  47. /package/dist/{components/index.js → esm/components/index.d.ts} +0 -0
  48. /package/dist/{constants.js → esm/constants.js} +0 -0
  49. /package/dist/{helperComponents → esm/helperComponents}/AlertButton.js +0 -0
  50. /package/dist/{helperComponents/index.js → esm/helperComponents/index.d.ts} +0 -0
  51. /package/dist/{index.js → esm/index.d.ts} +0 -0
  52. /package/dist/{types.js → esm/types.js} +0 -0
  53. /package/dist/{utils.js → esm/utils.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 0.13.6 (2024-09-26)
7
+
8
+ ### Only dependencies have been changed
9
+ * [@snack-uikit/link@0.13.4](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/link/CHANGELOG.md)
10
+ * [@snack-uikit/truncate-string@0.4.24](https://github.com/cloud-ru-tech/snack-uikit/blob/master/packages/truncate-string/CHANGELOG.md)
11
+
12
+
13
+
14
+
15
+
6
16
  ## 0.13.5 (2024-09-24)
7
17
 
8
18
  ### Only dependencies have been changed
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
4
+ var t = {};
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
+ }
9
+ return t;
10
+ };
11
+ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
12
+ return mod && mod.__esModule ? mod : {
13
+ "default": mod
14
+ };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.Alert = Alert;
20
+ const jsx_runtime_1 = require("react/jsx-runtime");
21
+ const classnames_1 = __importDefault(require("classnames"));
22
+ const icons_1 = require("@snack-uikit/icons");
23
+ const link_1 = require("@snack-uikit/link");
24
+ const truncate_string_1 = require("@snack-uikit/truncate-string");
25
+ const utils_1 = require("@snack-uikit/utils");
26
+ const constants_1 = require("../../constants");
27
+ const helperComponents_1 = require("../../helperComponents");
28
+ const utils_2 = require("../../utils");
29
+ const styles_module_scss_1 = __importDefault({});
30
+ /**
31
+ * Компонент для отображения уведомления.
32
+ */
33
+ function Alert(_a) {
34
+ var _b;
35
+ var {
36
+ icon = true,
37
+ title,
38
+ truncate,
39
+ link,
40
+ description,
41
+ onClose,
42
+ appearance = constants_1.APPEARANCE.Neutral,
43
+ className,
44
+ actions,
45
+ outline,
46
+ size = 'm'
47
+ } = _a,
48
+ rest = __rest(_a, ["icon", "title", "truncate", "link", "description", "onClose", "appearance", "className", "actions", "outline", "size"]);
49
+ return (0, jsx_runtime_1.jsxs)("div", Object.assign({
50
+ className: (0, classnames_1.default)(styles_module_scss_1.default.alert, {
51
+ [styles_module_scss_1.default.alertOutline]: outline
52
+ }, className)
53
+ }, (0, utils_1.extractSupportProps)(rest), {
54
+ "data-color": constants_1.APPEARANCE_TO_COLOR_MAP[appearance],
55
+ "data-size": size,
56
+ children: [(0, jsx_runtime_1.jsxs)("div", {
57
+ className: styles_module_scss_1.default.body,
58
+ "data-size": size,
59
+ children: [icon && (0, jsx_runtime_1.jsx)("div", {
60
+ className: styles_module_scss_1.default.icon,
61
+ "data-color": constants_1.APPEARANCE_TO_COLOR_MAP[appearance],
62
+ "data-test-id": 'alert__icon',
63
+ "data-size": size,
64
+ children: (0, utils_2.getIcon)(appearance, size === 's' ? 16 : 24)
65
+ }), (0, jsx_runtime_1.jsxs)("div", {
66
+ className: styles_module_scss_1.default.contentLayout,
67
+ "data-size": size,
68
+ children: [title && (0, jsx_runtime_1.jsx)(truncate_string_1.TruncateString, {
69
+ text: title,
70
+ maxLines: (_b = truncate === null || truncate === void 0 ? void 0 : truncate.title) !== null && _b !== void 0 ? _b : 1,
71
+ className: styles_module_scss_1.default.title,
72
+ "data-test-id": 'alert__title',
73
+ "data-size": size
74
+ }), (0, jsx_runtime_1.jsx)("span", {
75
+ "data-test-id": 'alert__description',
76
+ className: styles_module_scss_1.default.description,
77
+ "data-size": size,
78
+ children: description
79
+ }), link && (0, jsx_runtime_1.jsx)("span", {
80
+ children: (0, jsx_runtime_1.jsx)(link_1.Link, Object.assign({}, link, {
81
+ appearance: constants_1.APPEARANCE_TO_LINK_COLOR_MAP[appearance],
82
+ textMode: 'default',
83
+ size: size,
84
+ "data-test-id": 'alert__link'
85
+ }))
86
+ })]
87
+ }), onClose && (0, jsx_runtime_1.jsx)(helperComponents_1.AlertButton, {
88
+ onClick: onClose,
89
+ appearance: constants_1.APPEARANCE_TO_COLOR_MAP[appearance],
90
+ icon: (0, jsx_runtime_1.jsx)(icons_1.CrossSVG, {}),
91
+ variant: 'simple',
92
+ dataTestId: 'alert__close-button'
93
+ })]
94
+ }), actions && (0, jsx_runtime_1.jsxs)("div", {
95
+ className: styles_module_scss_1.default.footer,
96
+ "data-size": size,
97
+ children: [actions.primary && (0, jsx_runtime_1.jsx)(helperComponents_1.AlertButton, Object.assign({}, actions.primary, {
98
+ appearance: constants_1.APPEARANCE_TO_COLOR_MAP[appearance],
99
+ variant: 'simple',
100
+ size: size
101
+ })), (actions === null || actions === void 0 ? void 0 : actions.secondary) && (0, jsx_runtime_1.jsx)(helperComponents_1.AlertButton, Object.assign({}, actions.secondary, {
102
+ appearance: constants_1.APPEARANCE_TO_COLOR_MAP[appearance],
103
+ variant: 'simple',
104
+ size: size
105
+ }))]
106
+ })]
107
+ }));
108
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./Alert"), exports);
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
4
+ var t = {};
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
8
+ }
9
+ return t;
10
+ };
11
+ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
12
+ return mod && mod.__esModule ? mod : {
13
+ "default": mod
14
+ };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.AlertTop = AlertTop;
20
+ const jsx_runtime_1 = require("react/jsx-runtime");
21
+ const classnames_1 = __importDefault(require("classnames"));
22
+ const icons_1 = require("@snack-uikit/icons");
23
+ const link_1 = require("@snack-uikit/link");
24
+ const truncate_string_1 = require("@snack-uikit/truncate-string");
25
+ const utils_1 = require("@snack-uikit/utils");
26
+ const constants_1 = require("../../constants");
27
+ const helperComponents_1 = require("../../helperComponents");
28
+ const utils_2 = require("../../utils");
29
+ const constants_2 = require("./constants");
30
+ const styles_module_scss_1 = __importDefault({});
31
+ /**
32
+ * Компонент для отображения уведомления вверху экрана.
33
+ */
34
+ function AlertTop(_a) {
35
+ var _b;
36
+ var {
37
+ icon = true,
38
+ title,
39
+ description,
40
+ link,
41
+ onClose,
42
+ truncate,
43
+ appearance = constants_1.APPEARANCE.Neutral,
44
+ action,
45
+ className
46
+ } = _a,
47
+ rest = __rest(_a, ["icon", "title", "description", "link", "onClose", "truncate", "appearance", "action", "className"]);
48
+ return (0, jsx_runtime_1.jsxs)("div", Object.assign({
49
+ className: (0, classnames_1.default)(styles_module_scss_1.default.alertTop, className)
50
+ }, (0, utils_1.extractSupportProps)(rest), {
51
+ "data-color": constants_2.APPEARANCE_TO_COLOR_MAP_INVERT[appearance],
52
+ children: [(0, jsx_runtime_1.jsxs)("div", {
53
+ className: styles_module_scss_1.default.contentWrapper,
54
+ children: [icon && (0, jsx_runtime_1.jsx)("div", {
55
+ className: styles_module_scss_1.default.icon,
56
+ "data-color": constants_2.APPEARANCE_TO_COLOR_MAP_INVERT[appearance],
57
+ "data-test-id": 'alert-top__icon',
58
+ children: (0, utils_2.getIcon)(appearance, 24)
59
+ }), (0, jsx_runtime_1.jsxs)("div", {
60
+ className: styles_module_scss_1.default.contentLayout,
61
+ children: [(0, jsx_runtime_1.jsxs)("div", {
62
+ className: styles_module_scss_1.default.textLayout,
63
+ children: [title && (0, jsx_runtime_1.jsx)("div", {
64
+ className: styles_module_scss_1.default.title,
65
+ "data-color": constants_2.APPEARANCE_TO_COLOR_MAP_INVERT[appearance],
66
+ "data-test-id": 'alert-top__title',
67
+ children: (0, jsx_runtime_1.jsx)(truncate_string_1.TruncateString, {
68
+ text: title,
69
+ maxLines: (_b = truncate === null || truncate === void 0 ? void 0 : truncate.title) !== null && _b !== void 0 ? _b : 1
70
+ })
71
+ }), (0, jsx_runtime_1.jsx)("span", {
72
+ className: styles_module_scss_1.default.description,
73
+ "data-color": constants_2.APPEARANCE_TO_COLOR_MAP_INVERT[appearance],
74
+ "data-test-id": 'alert-top__description',
75
+ children: description
76
+ })]
77
+ }), link && (0, jsx_runtime_1.jsx)("span", {
78
+ children: (0, jsx_runtime_1.jsx)(link_1.Link, Object.assign({}, link, {
79
+ appearance: constants_1.APPEARANCE_TO_COLOR_MAP[appearance],
80
+ textMode: 'on-accent',
81
+ size: 'm',
82
+ "data-test-id": 'alert-top__link'
83
+ }))
84
+ })]
85
+ })]
86
+ }), (0, jsx_runtime_1.jsxs)("div", {
87
+ className: styles_module_scss_1.default.actions,
88
+ children: [action && (0, jsx_runtime_1.jsx)(helperComponents_1.AlertButton, Object.assign({}, action, {
89
+ appearance: constants_2.APPEARANCE_TO_COLOR_MAP_INVERT[appearance],
90
+ variant: 'tonal'
91
+ })), onClose && (0, jsx_runtime_1.jsx)(helperComponents_1.AlertButton, {
92
+ onClick: onClose,
93
+ appearance: constants_2.APPEARANCE_TO_COLOR_MAP_INVERT[appearance],
94
+ icon: (0, jsx_runtime_1.jsx)(icons_1.CrossSVG, {}),
95
+ variant: 'tonal',
96
+ dataTestId: 'alert-top__close-button'
97
+ })]
98
+ })]
99
+ }));
100
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.APPEARANCE_TO_COLOR_MAP_INVERT = void 0;
7
+ const constants_1 = require("../../constants");
8
+ const COLOR = {
9
+ InvertNeutral: 'invert-neutral',
10
+ Primary: 'primary',
11
+ Red: 'red',
12
+ Yellow: 'yellow',
13
+ Green: 'green',
14
+ Blue: 'blue'
15
+ };
16
+ exports.APPEARANCE_TO_COLOR_MAP_INVERT = {
17
+ [constants_1.APPEARANCE.Neutral]: COLOR.InvertNeutral,
18
+ [constants_1.APPEARANCE.Primary]: COLOR.Primary,
19
+ [constants_1.APPEARANCE.Error]: COLOR.Red,
20
+ [constants_1.APPEARANCE.Warning]: COLOR.Yellow,
21
+ [constants_1.APPEARANCE.Success]: COLOR.Green,
22
+ [constants_1.APPEARANCE.Info]: COLOR.Blue
23
+ };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./AlertTop"), exports);
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./Alert"), exports);
26
+ __exportStar(require("./AlertTop"), exports);
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.APPEARANCE_TO_LINK_COLOR_MAP = exports.APPEARANCE_TO_COLOR_MAP = exports.SIZE = exports.APPEARANCE = void 0;
7
+ exports.APPEARANCE = {
8
+ Neutral: 'neutral',
9
+ Primary: 'primary',
10
+ Error: 'error',
11
+ Warning: 'warning',
12
+ Success: 'success',
13
+ Info: 'info'
14
+ };
15
+ exports.SIZE = {
16
+ S: 's',
17
+ M: 'm'
18
+ };
19
+ exports.APPEARANCE_TO_COLOR_MAP = {
20
+ [exports.APPEARANCE.Neutral]: 'neutral',
21
+ [exports.APPEARANCE.Primary]: 'primary',
22
+ [exports.APPEARANCE.Error]: 'red',
23
+ [exports.APPEARANCE.Warning]: 'yellow',
24
+ [exports.APPEARANCE.Success]: 'green',
25
+ [exports.APPEARANCE.Info]: 'blue'
26
+ };
27
+ exports.APPEARANCE_TO_LINK_COLOR_MAP = {
28
+ [exports.APPEARANCE.Neutral]: 'primary',
29
+ [exports.APPEARANCE.Primary]: 'primary',
30
+ [exports.APPEARANCE.Error]: 'red',
31
+ [exports.APPEARANCE.Warning]: 'yellow',
32
+ [exports.APPEARANCE.Success]: 'green',
33
+ [exports.APPEARANCE.Info]: 'blue'
34
+ };
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
4
+ return mod && mod.__esModule ? mod : {
5
+ "default": mod
6
+ };
7
+ };
8
+ Object.defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports.AlertButton = AlertButton;
12
+ const jsx_runtime_1 = require("react/jsx-runtime");
13
+ const loaders_1 = require("@snack-uikit/loaders");
14
+ const styles_module_scss_1 = __importDefault({});
15
+ function AlertButton(_ref) {
16
+ let {
17
+ appearance,
18
+ text,
19
+ icon,
20
+ onClick,
21
+ variant = 'simple',
22
+ dataTestId,
23
+ loading = false,
24
+ size = 's'
25
+ } = _ref;
26
+ return (0, jsx_runtime_1.jsxs)("button", {
27
+ type: 'button',
28
+ onClick: onClick,
29
+ className: styles_module_scss_1.default.alertButton,
30
+ "data-variant": variant,
31
+ "data-appearance": appearance,
32
+ "data-test-id": dataTestId || 'alert__action-button',
33
+ "data-icon-only": !text || undefined,
34
+ "data-loading": loading,
35
+ "data-size": size,
36
+ children: [text && (0, jsx_runtime_1.jsx)("span", {
37
+ className: styles_module_scss_1.default.text,
38
+ "data-size": size,
39
+ children: text
40
+ }), icon && (loading ? (0, jsx_runtime_1.jsx)(loaders_1.Sun, {
41
+ size: 's'
42
+ }) : (0, jsx_runtime_1.jsx)("span", {
43
+ className: styles_module_scss_1.default.icon,
44
+ children: icon
45
+ }))]
46
+ });
47
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./AlertButton"), exports);
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = {
8
+ enumerable: true,
9
+ get: function () {
10
+ return m[k];
11
+ }
12
+ };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ } : function (o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ });
19
+ var __exportStar = void 0 && (void 0).__exportStar || function (m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", {
23
+ value: true
24
+ });
25
+ __exportStar(require("./components"), exports);
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getIcon = getIcon;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const icons_1 = require("@snack-uikit/icons");
9
+ const constants_1 = require("./constants");
10
+ function getIcon(appearance, size) {
11
+ switch (appearance) {
12
+ case constants_1.APPEARANCE.Success:
13
+ return (0, jsx_runtime_1.jsx)(icons_1.CheckFilledSVG, {
14
+ size: size
15
+ });
16
+ case constants_1.APPEARANCE.Error:
17
+ return (0, jsx_runtime_1.jsx)(icons_1.CrossFilledSVG, {
18
+ size: size
19
+ });
20
+ case constants_1.APPEARANCE.Warning:
21
+ return (0, jsx_runtime_1.jsx)(icons_1.AlarmFilledSVG, {
22
+ size: size
23
+ });
24
+ case constants_1.APPEARANCE.Primary:
25
+ case constants_1.APPEARANCE.Neutral:
26
+ default:
27
+ return (0, jsx_runtime_1.jsx)(icons_1.InfoFilledSVG, {
28
+ size: size
29
+ });
30
+ }
31
+ }
@@ -0,0 +1,42 @@
1
+ import { ReactNode } from 'react';
2
+ import { LinkProps } from '@snack-uikit/link';
3
+ import { WithSupportProps } from '@snack-uikit/utils';
4
+ import { AlertButtonProps } from '../../helperComponents';
5
+ import { Appearance, Size } from '../../types';
6
+ export type AlertProps = WithSupportProps<{
7
+ /** Отображать иконку */
8
+ icon?: boolean;
9
+ /** Заголовок */
10
+ title?: string;
11
+ /**
12
+ * Максимальное кол-во строк
13
+ * <br> - `title` - в заголовке
14
+ * @default '{ <br>title: 1 }'
15
+ */
16
+ truncate?: {
17
+ title?: number;
18
+ };
19
+ /** Описание */
20
+ description: ReactNode;
21
+ /** Cсылка */
22
+ link?: Pick<LinkProps, 'text' | 'target' | 'onClick' | 'href' | 'appearance'>;
23
+ /** Колбек закрытия */
24
+ onClose?: () => void;
25
+ /** Внешний вид */
26
+ appearance?: Appearance;
27
+ /** Внешний бордер */
28
+ outline?: boolean;
29
+ /** Размер */
30
+ size?: Size;
31
+ /** CSS-класс */
32
+ className?: string;
33
+ /** Кнопки в футере алерта */
34
+ actions?: {
35
+ primary: Omit<AlertButtonProps, 'appearance'>;
36
+ secondary?: Omit<AlertButtonProps, 'appearance'>;
37
+ };
38
+ }>;
39
+ /**
40
+ * Компонент для отображения уведомления.
41
+ */
42
+ export declare function Alert({ icon, title, truncate, link, description, onClose, appearance, className, actions, outline, size, ...rest }: AlertProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Alert';
@@ -0,0 +1,35 @@
1
+ import { ReactNode } from 'react';
2
+ import { LinkProps } from '@snack-uikit/link';
3
+ import { WithSupportProps } from '@snack-uikit/utils';
4
+ import { AlertButtonProps } from '../../helperComponents';
5
+ import { Appearance } from '../../types';
6
+ export type AlertTopProps = WithSupportProps<{
7
+ /** Отображать иконку */
8
+ icon?: boolean;
9
+ /** Заголовок */
10
+ title?: string;
11
+ /**
12
+ * Максимальное кол-во строк
13
+ * <br> - `title` - в заголовке
14
+ * @default '{ <br>title: 1 }'
15
+ */
16
+ truncate?: {
17
+ title?: number;
18
+ };
19
+ /** Описание */
20
+ description: ReactNode;
21
+ /** Cсылка */
22
+ link?: Pick<LinkProps, 'text' | 'target' | 'onClick' | 'href' | 'appearance'>;
23
+ /** Кнопка дополнительного действия */
24
+ action?: AlertButtonProps;
25
+ /** Колбек закрытия */
26
+ onClose?: () => void;
27
+ /** Внешний вид */
28
+ appearance?: Appearance;
29
+ /** CSS-класс */
30
+ className?: string;
31
+ }>;
32
+ /**
33
+ * Компонент для отображения уведомления вверху экрана.
34
+ */
35
+ export declare function AlertTop({ icon, title, description, link, onClose, truncate, appearance, action, className, ...rest }: AlertTopProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ export declare const APPEARANCE_TO_COLOR_MAP_INVERT: {
2
+ readonly neutral: "invert-neutral";
3
+ readonly primary: "primary";
4
+ readonly error: "red";
5
+ readonly warning: "yellow";
6
+ readonly success: "green";
7
+ readonly info: "blue";
8
+ };
@@ -0,0 +1 @@
1
+ export * from './AlertTop';
@@ -0,0 +1,2 @@
1
+ export * from './Alert';
2
+ export * from './AlertTop';
@@ -0,0 +1,16 @@
1
+ import { LinkProps } from '@snack-uikit/link';
2
+ import { ValueOf } from '@snack-uikit/utils';
3
+ export declare const APPEARANCE: {
4
+ readonly Neutral: "neutral";
5
+ readonly Primary: "primary";
6
+ readonly Error: "error";
7
+ readonly Warning: "warning";
8
+ readonly Success: "success";
9
+ readonly Info: "info";
10
+ };
11
+ export declare const SIZE: {
12
+ readonly S: "s";
13
+ readonly M: "m";
14
+ };
15
+ export declare const APPEARANCE_TO_COLOR_MAP: Record<ValueOf<typeof APPEARANCE>, LinkProps['appearance']>;
16
+ export declare const APPEARANCE_TO_LINK_COLOR_MAP: Record<ValueOf<typeof APPEARANCE>, LinkProps['appearance']>;
@@ -0,0 +1,24 @@
1
+ import { MouseEvent, ReactElement } from 'react';
2
+ import { LinkProps } from '@snack-uikit/link';
3
+ import { Size } from '../types';
4
+ type PrivateAlertButtonProps = {
5
+ /** Внешний вид */
6
+ appearance?: LinkProps['appearance'] | 'invert-neutral';
7
+ /** Текст кнопки */
8
+ text?: string;
9
+ /** Иконка в кнопке */
10
+ icon?: ReactElement;
11
+ /** Вариант отображения */
12
+ variant?: 'simple' | 'tonal';
13
+ /** Колбек клика */
14
+ onClick?(e: MouseEvent<HTMLButtonElement>): void;
15
+ /** Дата тест айди */
16
+ dataTestId?: string;
17
+ /** Управление состоянием загрузки */
18
+ loading?: boolean;
19
+ /** Размер */
20
+ size?: Size;
21
+ };
22
+ export type AlertButtonProps = Omit<PrivateAlertButtonProps, 'appearance' | 'variant'>;
23
+ export declare function AlertButton({ appearance, text, icon, onClick, variant, dataTestId, loading, size, }: PrivateAlertButtonProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
@@ -0,0 +1 @@
1
+ export * from './AlertButton';
@@ -0,0 +1 @@
1
+ export * from './components';
@@ -0,0 +1,4 @@
1
+ import { ValueOf } from '@snack-uikit/utils';
2
+ import { APPEARANCE, SIZE } from './constants';
3
+ export type Appearance = ValueOf<typeof APPEARANCE>;
4
+ export type Size = ValueOf<typeof SIZE>;
@@ -0,0 +1,2 @@
1
+ import { Appearance } from './types';
2
+ export declare function getIcon(appearance: Appearance, size: number): import("react/jsx-runtime").JSX.Element;