@invoicebox/ui 0.1.0-alpha.326 → 0.1.0-alpha.327

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 (58) hide show
  1. package/dist/components/common/AdaptiveModalDrawer/index.d.ts +11 -0
  2. package/dist/components/common/AdaptiveModalDrawer/index.js +31 -0
  3. package/dist/components/common/AdaptiveModalDrawer/index.stories.d.ts +5 -0
  4. package/dist/components/common/AdaptiveModalDrawer/index.stories.js +44 -0
  5. package/dist/components/common/Modal/assets/CollapseIcon.d.ts +1 -0
  6. package/dist/components/common/Modal/assets/CollapseIcon.js +42 -0
  7. package/dist/components/common/Modal/assets/ExpandIcon.d.ts +1 -0
  8. package/dist/components/common/Modal/assets/ExpandIcon.js +42 -0
  9. package/dist/components/common/Modal/context.d.ts +9 -0
  10. package/dist/components/common/Modal/context.js +14 -0
  11. package/dist/components/common/Modal/index.d.ts +15 -0
  12. package/dist/components/common/Modal/index.js +165 -0
  13. package/dist/components/common/Modal/index.stories.d.ts +6 -0
  14. package/dist/components/common/Modal/index.stories.js +76 -0
  15. package/dist/components/common/Modal/palette.d.ts +9 -0
  16. package/dist/components/common/Modal/palette.js +23 -0
  17. package/dist/components/common/Modal/styles.d.ts +25 -0
  18. package/dist/components/common/Modal/styles.js +69 -0
  19. package/dist/components/common/WentWrongModal/assets/icons.d.ts +3 -0
  20. package/dist/components/common/WentWrongModal/assets/icons.js +84 -0
  21. package/dist/components/common/WentWrongModal/assets/racoonImage.d.ts +1 -0
  22. package/dist/components/common/WentWrongModal/assets/racoonImage.js +9 -0
  23. package/dist/components/common/WentWrongModal/index.d.ts +23 -0
  24. package/dist/components/common/WentWrongModal/index.js +193 -0
  25. package/dist/components/common/WentWrongModal/index.stories.d.ts +6 -0
  26. package/dist/components/common/WentWrongModal/index.stories.js +60 -0
  27. package/dist/components/common/WentWrongModal/index.test.d.ts +1 -0
  28. package/dist/components/common/WentWrongModal/index.test.js +209 -0
  29. package/dist/components/common/WentWrongModal/palette.d.ts +11 -0
  30. package/dist/components/common/WentWrongModal/palette.js +22 -0
  31. package/dist/components/common/WentWrongModal/styles.d.ts +24 -0
  32. package/dist/components/common/WentWrongModal/styles.js +88 -0
  33. package/dist/esm/components/common/AdaptiveModalDrawer/index.js +24 -0
  34. package/dist/esm/components/common/AdaptiveModalDrawer/index.stories.js +37 -0
  35. package/dist/esm/components/common/Modal/assets/CollapseIcon.js +35 -0
  36. package/dist/esm/components/common/Modal/assets/ExpandIcon.js +35 -0
  37. package/dist/esm/components/common/Modal/context.js +8 -0
  38. package/dist/esm/components/common/Modal/index.js +147 -0
  39. package/dist/esm/components/common/Modal/index.stories.js +69 -0
  40. package/dist/esm/components/common/Modal/palette.js +16 -0
  41. package/dist/esm/components/common/Modal/styles.js +61 -0
  42. package/dist/esm/components/common/WentWrongModal/assets/icons.js +77 -0
  43. package/dist/esm/components/common/WentWrongModal/assets/racoonImage.js +3 -0
  44. package/dist/esm/components/common/WentWrongModal/index.js +186 -0
  45. package/dist/esm/components/common/WentWrongModal/index.stories.js +53 -0
  46. package/dist/esm/components/common/WentWrongModal/index.test.js +208 -0
  47. package/dist/esm/components/common/WentWrongModal/palette.js +15 -0
  48. package/dist/esm/components/common/WentWrongModal/styles.js +81 -0
  49. package/dist/esm/index.js +3 -1
  50. package/dist/esm/palette/context.js +5 -1
  51. package/dist/esm/palette/provider.js +5 -1
  52. package/dist/index.d.ts +6 -0
  53. package/dist/index.js +39 -0
  54. package/dist/palette/context.d.ts +4 -0
  55. package/dist/palette/context.js +5 -1
  56. package/dist/palette/provider.js +5 -1
  57. package/dist/palette/usePalette.d.ts +2 -0
  58. package/package.json +1 -1
@@ -0,0 +1,147 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
8
+ import { createPortal } from 'react-dom';
9
+ import { isDropdownPortalClick } from '../../../hooks/useOutsideClick';
10
+ import { useLockBodyScroll } from '../../../hooks/useLockBodyScroll';
11
+ import { useComponentPalette } from '../../../palette';
12
+ import { ErrorBoundary } from '../ErrorBoundary';
13
+ import { ExpandIcon } from './assets/ExpandIcon';
14
+ import { CollapseIcon } from './assets/CollapseIcon';
15
+ import { ModalExpansionContext } from './context';
16
+ import * as S from './styles';
17
+ var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
18
+ export var Modal = function Modal(_ref) {
19
+ var onClose = _ref.onClose,
20
+ isOpen = _ref.isOpen,
21
+ children = _ref.children,
22
+ _ref$overflow = _ref.overflow,
23
+ overflow = _ref$overflow === void 0 ? 'auto' : _ref$overflow,
24
+ width = _ref.width,
25
+ isDisabledOutsideClick = _ref.isDisabledOutsideClick,
26
+ isExpandable = _ref.isExpandable;
27
+ var palette = useComponentPalette('modal');
28
+ var contentRef = useRef(null);
29
+ var previousFocusRef = useRef(null);
30
+ var _useState = useState(false),
31
+ _useState2 = _slicedToArray(_useState, 2),
32
+ isExpanded = _useState2[0],
33
+ setIsExpanded = _useState2[1];
34
+ var expansionContextValue = useMemo(function () {
35
+ return {
36
+ isExpandable: Boolean(isExpandable),
37
+ isExpanded: isExpanded
38
+ };
39
+ }, [isExpandable, isExpanded]);
40
+ useLockBodyScroll(isOpen);
41
+ useEffect(function () {
42
+ if (!isOpen) {
43
+ setIsExpanded(false);
44
+ }
45
+ }, [isOpen]);
46
+
47
+ // Фокус переносим в окно при открытии и возвращаем на прежний элемент при закрытии
48
+ useEffect(function () {
49
+ var _contentRef$current;
50
+ if (!isOpen) return undefined;
51
+ previousFocusRef.current = document.activeElement;
52
+ (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 || _contentRef$current.focus();
53
+ return function () {
54
+ var _previousFocusRef$cur;
55
+ (_previousFocusRef$cur = previousFocusRef.current) === null || _previousFocusRef$cur === void 0 || _previousFocusRef$cur.focus();
56
+ };
57
+ }, [isOpen]);
58
+
59
+ /**
60
+ * Клик вне окна закрывает модалку. Не считаем «снаружи» клики по порталу Dropdown и по другим диалогам
61
+ * поверх неё (role="dialog"): например, Drawer с опциями Select на планшете рендерится порталом в body,
62
+ * и клик по его затемнению иначе закрывал бы и эту модалку.
63
+ */
64
+ useEffect(function () {
65
+ if (!isOpen || isDisabledOutsideClick) return undefined;
66
+ var handleMouseDown = function handleMouseDown(event) {
67
+ var content = contentRef.current;
68
+ var target = event.target;
69
+ if (!content || !(target instanceof Element) || content.contains(target)) return;
70
+ if (isDropdownPortalClick(target)) return;
71
+ var dialog = target.closest('[role="dialog"]');
72
+ if (dialog && dialog !== content) return;
73
+ onClose();
74
+ };
75
+ document.addEventListener('mousedown', handleMouseDown);
76
+ return function () {
77
+ document.removeEventListener('mousedown', handleMouseDown);
78
+ };
79
+ }, [isOpen, isDisabledOutsideClick, onClose]);
80
+
81
+ // Escape закрывает окно, Tab/Shift+Tab не выпускают фокус за его пределы
82
+ useEffect(function () {
83
+ if (!isOpen) return undefined;
84
+ var handleKeyDown = function handleKeyDown(e) {
85
+ var _document$activeEleme;
86
+ // Поверх открыта другая модалка и фокус в ней — Escape и Tab обрабатывает она, а не эта
87
+ var activeDialog = (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 ? void 0 : _document$activeEleme.closest('[role="dialog"]');
88
+ if (activeDialog && activeDialog !== contentRef.current) return;
89
+ if (e.key === 'Escape') {
90
+ onClose();
91
+ return;
92
+ }
93
+ if (e.key !== 'Tab') return;
94
+ var content = contentRef.current;
95
+ if (!content) return;
96
+ var focusable = Array.from(content.querySelectorAll(FOCUSABLE_SELECTOR));
97
+ if (!focusable.length) {
98
+ e.preventDefault();
99
+ return;
100
+ }
101
+ var first = focusable[0];
102
+ var last = focusable[focusable.length - 1];
103
+ var active = document.activeElement;
104
+ if (e.shiftKey && active === first) {
105
+ e.preventDefault();
106
+ last.focus();
107
+ } else if (!e.shiftKey && (active === last || !content.contains(active))) {
108
+ e.preventDefault();
109
+ first.focus();
110
+ }
111
+ };
112
+ document.addEventListener('keydown', handleKeyDown);
113
+ return function () {
114
+ document.removeEventListener('keydown', handleKeyDown);
115
+ };
116
+ }, [isOpen, onClose]);
117
+ if (!isOpen) return null;
118
+ return /*#__PURE__*/createPortal(/*#__PURE__*/React.createElement(S.Container, null, /*#__PURE__*/React.createElement(S.ContainerInner, {
119
+ $isExpanded: isExpanded
120
+ }, /*#__PURE__*/React.createElement(S.Backdrop, {
121
+ $palette: palette
122
+ }), /*#__PURE__*/React.createElement(S.Content, {
123
+ $palette: palette,
124
+ $overflow: overflow,
125
+ $width: width,
126
+ $isExpandable: isExpandable,
127
+ $isExpanded: isExpanded,
128
+ ref: contentRef,
129
+ role: "dialog",
130
+ "aria-modal": "true",
131
+ tabIndex: -1
132
+ }, isExpandable && /*#__PURE__*/React.createElement(S.ExpandButton, {
133
+ type: "button",
134
+ $palette: palette,
135
+ onClick: function onClick() {
136
+ return setIsExpanded(function (prev) {
137
+ return !prev;
138
+ });
139
+ },
140
+ "aria-label": isExpanded ? 'Свернуть окно' : 'Развернуть окно на весь экран',
141
+ title: isExpanded ? 'Свернуть' : 'Развернуть на весь экран'
142
+ }, isExpanded ? /*#__PURE__*/React.createElement(CollapseIcon, null) : /*#__PURE__*/React.createElement(ExpandIcon, null)), /*#__PURE__*/React.createElement(ModalExpansionContext.Provider, {
143
+ value: expansionContextValue
144
+ }, /*#__PURE__*/React.createElement(ErrorBoundary, null, children))))), document.body);
145
+ };
146
+ export { useModalExpansion } from './context';
147
+ export { modalExpansionFlexItem } from './styles';
@@ -0,0 +1,69 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
3
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
6
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
+ import React from 'react';
9
+ import { useModal } from '../../../hooks/useModal';
10
+ import { Modal } from '.';
11
+ var meta = {
12
+ title: 'common/Modal',
13
+ component: Modal,
14
+ tags: ['autodocs']
15
+ };
16
+ export default meta;
17
+ export var Default = {
18
+ args: {},
19
+ render: function Render(args) {
20
+ var _useModal = useModal(false),
21
+ _useModal2 = _slicedToArray(_useModal, 3),
22
+ isOpen = _useModal2[0],
23
+ open = _useModal2[1],
24
+ close = _useModal2[2];
25
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
26
+ type: "button",
27
+ onClick: open
28
+ }, "Open"), /*#__PURE__*/React.createElement(Modal, _extends({}, args, {
29
+ onClose: close,
30
+ isOpen: isOpen
31
+ }), /*#__PURE__*/React.createElement("div", {
32
+ style: {
33
+ padding: 24
34
+ }
35
+ }, "Content")));
36
+ }
37
+ };
38
+ export var Expandable = {
39
+ args: {},
40
+ render: function Render(args) {
41
+ var _useModal3 = useModal(false),
42
+ _useModal4 = _slicedToArray(_useModal3, 3),
43
+ isOpen = _useModal4[0],
44
+ open = _useModal4[1],
45
+ close = _useModal4[2];
46
+ return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("button", {
47
+ type: "button",
48
+ onClick: open
49
+ }, "Open"), /*#__PURE__*/React.createElement(Modal, _extends({}, args, {
50
+ onClose: close,
51
+ isOpen: isOpen,
52
+ isExpandable: true,
53
+ width: 600,
54
+ overflow: "visible"
55
+ }), /*#__PURE__*/React.createElement("div", {
56
+ style: {
57
+ width: 600,
58
+ flex: 1,
59
+ background: '#f2f4f6',
60
+ borderRadius: 20
61
+ }
62
+ }, /*#__PURE__*/React.createElement("div", {
63
+ style: {
64
+ padding: 24,
65
+ height: 200
66
+ }
67
+ }, "Content"))));
68
+ }
69
+ };
@@ -0,0 +1,16 @@
1
+ import { transformColorByHsl } from '../../../utils/transformColorByHsl';
2
+ import hexToRgba from '../../../utils/hexToRgba';
3
+ export var generateModalPalette = function generateModalPalette(abstractPalette) {
4
+ return {
5
+ bg: abstractPalette.base,
6
+ // тот же затемнённый primary, что и у подложки Drawer
7
+ backdropBg: hexToRgba(transformColorByHsl(abstractPalette.primary, {
8
+ hue: -3.3333333333333144,
9
+ saturation: -0.07435090479937062,
10
+ lightness: 0.08235294117647063
11
+ }), 0.5),
12
+ shadow: '0 10px 30px 0 rgba(53, 63, 71, 0.1)',
13
+ expandButton: hexToRgba(abstractPalette.primary, 0.7),
14
+ expandButtonHoverBg: hexToRgba(abstractPalette.primary, 0.06)
15
+ };
16
+ };
@@ -0,0 +1,61 @@
1
+ import styled, { css } from 'styled-components';
2
+ import { breakpoints } from '../../../breakpoints';
3
+ /**
4
+ * Растяжение flex-элемента по высоте внутри expandable-модалки: занимает свободное
5
+ * место и умеет сжиматься, отдавая скролл вложенному контенту. Вешается на конкретные
6
+ * обёртки по пропу (см. useModalExpansion), а не через селекторы.
7
+ */
8
+ export var modalExpansionFlexItem = css(["flex:1 1 auto;min-height:0;"]);
9
+ export var Container = styled.div.withConfig({
10
+ displayName: "styles__Container",
11
+ componentId: "sc-1kjfcg5-0"
12
+ })(["position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;"]);
13
+ export var ContainerInner = styled.div.withConfig({
14
+ displayName: "styles__ContainerInner",
15
+ componentId: "sc-1kjfcg5-1"
16
+ })(["box-sizing:border-box;width:100%;height:100%;position:relative;display:flex;justify-content:center;overflow:hidden auto;align-items:flex-start;padding:", ";@media ", "{padding:", ";}"], function (_ref) {
17
+ var $isExpanded = _ref.$isExpanded;
18
+ return $isExpanded ? '20px' : '55px 0';
19
+ }, breakpoints.sm, function (_ref2) {
20
+ var $isExpanded = _ref2.$isExpanded;
21
+ return $isExpanded ? '20px' : '15px 0';
22
+ });
23
+ export var Backdrop = styled.div.withConfig({
24
+ displayName: "styles__Backdrop",
25
+ componentId: "sc-1kjfcg5-2"
26
+ })(["position:fixed;top:0;left:0;right:0;bottom:0;z-index:-1;background-color:", ";"], function (_ref3) {
27
+ var $palette = _ref3.$palette;
28
+ return $palette.backdropBg;
29
+ });
30
+ export var Content = styled.div.withConfig({
31
+ displayName: "styles__Content",
32
+ componentId: "sc-1kjfcg5-3"
33
+ })(["margin:auto;max-width:calc(100vw - 10px);", " overflow:", ";position:relative;background-color:", ";border-radius:20px;box-shadow:", ";outline:none;", " ", " @media ", "{width:100%;}"], function (_ref4) {
34
+ var $width = _ref4.$width;
35
+ return $width && "width: ".concat($width, "px;");
36
+ }, function (_ref5) {
37
+ var $overflow = _ref5.$overflow;
38
+ return $overflow;
39
+ }, function (_ref6) {
40
+ var $palette = _ref6.$palette;
41
+ return $palette.bg;
42
+ }, function (_ref7) {
43
+ var $palette = _ref7.$palette;
44
+ return $palette.shadow;
45
+ }, function (_ref8) {
46
+ var $isExpandable = _ref8.$isExpandable;
47
+ return $isExpandable && css(["display:flex;flex-direction:column;align-items:center;max-height:100%;overflow:auto;@media ", "{display:block;max-height:none;}"], breakpoints.md);
48
+ }, function (_ref9) {
49
+ var $isExpanded = _ref9.$isExpanded;
50
+ return $isExpanded && css(["width:100%;max-width:100%;height:100%;"]);
51
+ }, breakpoints.md);
52
+ export var ExpandButton = styled.button.withConfig({
53
+ displayName: "styles__ExpandButton",
54
+ componentId: "sc-1kjfcg5-4"
55
+ })(["position:absolute;top:14px;right:14px;z-index:2;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:8px;background-color:transparent;cursor:pointer;color:", ";&:hover{background-color:", ";}@media ", "{display:none;}"], function (_ref0) {
56
+ var $palette = _ref0.$palette;
57
+ return $palette.expandButton;
58
+ }, function (_ref1) {
59
+ var $palette = _ref1.$palette;
60
+ return $palette.expandButtonHoverBg;
61
+ }, breakpoints.md);
@@ -0,0 +1,77 @@
1
+ import React from 'react';
2
+ export var PhoneIcon = function PhoneIcon() {
3
+ return /*#__PURE__*/React.createElement("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ width: "20",
6
+ height: "20",
7
+ viewBox: "0 0 20 20",
8
+ fill: "none",
9
+ "aria-hidden": true
10
+ }, /*#__PURE__*/React.createElement("path", {
11
+ fillRule: "evenodd",
12
+ clipRule: "evenodd",
13
+ d: "M3.65827 5.72852C3.86638 5.38328 5.01369 4.13 5.83127 4.16783C6.07587 4.18878 6.29208 4.33606 6.46776 4.50767C6.87047 4.90223 8.02656 6.3913 8.09143 6.70479C8.25157 7.47365 7.33467 7.91685 7.61507 8.69179C8.32996 10.4409 9.56173 11.6727 11.3117 12.3867C12.0861 12.6678 12.5293 11.7517 13.2983 11.9111C13.6117 11.9767 15.1017 13.1313 15.4956 13.5346C15.6665 13.7096 15.8152 13.9265 15.8354 14.1711C15.8658 15.0325 14.5348 16.1952 14.2753 16.3438C13.6631 16.7823 12.8644 16.7742 11.8908 16.3216C9.1739 15.1913 4.83193 10.9315 3.68057 8.11211C3.24002 7.14394 3.21029 6.33996 3.65827 5.72852Z",
14
+ stroke: "currentColor",
15
+ strokeWidth: "1.5",
16
+ strokeLinecap: "round",
17
+ strokeLinejoin: "round"
18
+ }), /*#__PURE__*/React.createElement("path", {
19
+ d: "M11.6641 4.16699C13.8548 4.45923 15.5846 6.53545 15.8307 9.16699",
20
+ stroke: "currentColor",
21
+ strokeWidth: "1.5",
22
+ strokeLinecap: "round",
23
+ strokeLinejoin: "round"
24
+ }), /*#__PURE__*/React.createElement("path", {
25
+ d: "M11.6641 7.5C12.5074 7.66438 13.1663 8.32333 13.3307 9.16667",
26
+ stroke: "currentColor",
27
+ strokeWidth: "1.5",
28
+ strokeLinecap: "round",
29
+ strokeLinejoin: "round"
30
+ }));
31
+ };
32
+ export var MailIcon = function MailIcon() {
33
+ return /*#__PURE__*/React.createElement("svg", {
34
+ xmlns: "http://www.w3.org/2000/svg",
35
+ width: "20",
36
+ height: "20",
37
+ viewBox: "0 0 20 20",
38
+ fill: "none",
39
+ "aria-hidden": true
40
+ }, /*#__PURE__*/React.createElement("path", {
41
+ d: "M14.1693 7.5L11.0274 9.69642C10.4329 10.1012 9.59935 10.1012 9.00477 9.69642L5.83594 7.5",
42
+ stroke: "currentColor",
43
+ strokeWidth: "1.5",
44
+ strokeLinecap: "round",
45
+ strokeLinejoin: "round"
46
+ }), /*#__PURE__*/React.createElement("path", {
47
+ fillRule: "evenodd",
48
+ clipRule: "evenodd",
49
+ d: "M6.31256 3.33301H13.6664C14.7267 3.34414 15.7359 3.76384 16.459 4.49434C17.182 5.22485 17.5558 6.2024 17.4932 7.19934V11.9667C17.5558 12.9636 17.182 13.9411 16.459 14.6717C15.7359 15.4022 14.7267 15.8219 13.6664 15.833H6.31256C4.03502 15.833 2.5 14.0982 2.5 11.9667V7.19934C2.5 5.06781 4.03502 3.33301 6.31256 3.33301Z",
50
+ stroke: "currentColor",
51
+ strokeWidth: "1.5",
52
+ strokeLinecap: "round",
53
+ strokeLinejoin: "round"
54
+ }));
55
+ };
56
+ export var CopyIcon = function CopyIcon() {
57
+ return /*#__PURE__*/React.createElement("svg", {
58
+ xmlns: "http://www.w3.org/2000/svg",
59
+ width: "16",
60
+ height: "16",
61
+ viewBox: "0 0 16 16",
62
+ fill: "none",
63
+ "aria-hidden": true
64
+ }, /*#__PURE__*/React.createElement("path", {
65
+ d: "M11.7317 6.59961H7.53192C7.01648 6.59961 6.59863 7.01746 6.59863 7.5329V11.7327C6.59863 12.2481 7.01648 12.666 7.53192 12.666H11.7317C12.2472 12.666 12.665 12.2481 12.665 11.7327V7.5329C12.665 7.01746 12.2472 6.59961 11.7317 6.59961Z",
66
+ stroke: "currentColor",
67
+ strokeWidth: "1.39993",
68
+ strokeLinecap: "round",
69
+ strokeLinejoin: "round"
70
+ }), /*#__PURE__*/React.createElement("path", {
71
+ d: "M4.73294 9.39938H4.2663C4.01877 9.39938 3.78139 9.30105 3.60636 9.12602C3.43134 8.951 3.33301 8.71361 3.33301 8.46609V4.2663C3.33301 4.01877 3.43134 3.78139 3.60636 3.60636C3.78139 3.43134 4.01877 3.33301 4.2663 3.33301H8.46609C8.71361 3.33301 8.951 3.43134 9.12602 3.60636C9.30105 3.78139 9.39938 4.01877 9.39938 4.2663V4.73294",
72
+ stroke: "currentColor",
73
+ strokeWidth: "1.39993",
74
+ strokeLinecap: "round",
75
+ strokeLinejoin: "round"
76
+ }));
77
+ };
@@ -0,0 +1,3 @@
1
+ // Растерянный енот для шапки WentWrongModal (webp 368×322). Инлайним data URI: библиотека собирается
2
+ // babel'ем без загрузчиков ассетов, так картинка работает в любом бандлере и в jest без моков.
3
+ export var racoonImage = 'data:image/webp;base64,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';