@prom-ui/core 1.5.0 → 1.6.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 (63) hide show
  1. package/Avatar/package.json +1 -1
  2. package/Backdrop/package.json +1 -1
  3. package/Body/package.json +1 -1
  4. package/BodyContext/package.json +1 -1
  5. package/BodyProvider/cjs/index.development.js +90 -0
  6. package/BodyProvider/cjs/index.development.v2.js +90 -0
  7. package/BodyProvider/cjs/index.production.js +1 -1
  8. package/BodyProvider/cjs/index.production.v2.js +1 -1
  9. package/BodyProvider/package.json +1 -1
  10. package/Box/package.json +1 -1
  11. package/Button/package.json +1 -1
  12. package/ButtonPageUp/package.json +1 -1
  13. package/Checkbox/package.json +1 -1
  14. package/Flex/package.json +1 -1
  15. package/Grid/package.json +1 -1
  16. package/Icon/package.json +1 -1
  17. package/Image/package.json +1 -1
  18. package/ImageEmoji/package.json +1 -1
  19. package/Input/package.json +1 -1
  20. package/InputField/package.json +1 -1
  21. package/KeyPress/package.json +1 -1
  22. package/Line/package.json +1 -1
  23. package/Link/package.json +1 -1
  24. package/List/package.json +1 -1
  25. package/Media/package.json +1 -1
  26. package/OutsideClick/package.json +1 -1
  27. package/Overlay/cjs/index.development.js +216 -25
  28. package/Overlay/cjs/index.development.v2.js +216 -25
  29. package/Overlay/cjs/index.production.js +1 -1
  30. package/Overlay/cjs/index.production.v2.js +1 -1
  31. package/Overlay/cjs/style.development.css +1 -1
  32. package/Overlay/cjs/style.development.v2.css +1 -1
  33. package/Overlay/cjs/style.production.css +1 -1
  34. package/Overlay/cjs/style.production.v2.css +1 -1
  35. package/Overlay/components/OverlayErrCatch.d.ts +7 -0
  36. package/Overlay/index.d.ts +2 -0
  37. package/Overlay/package.json +2 -1
  38. package/Overlay/utils.d.ts +2 -0
  39. package/Picture/package.json +1 -1
  40. package/Portal/package.json +1 -1
  41. package/QRCode/package.json +1 -1
  42. package/Rating/package.json +1 -1
  43. package/RatingSelect/package.json +1 -1
  44. package/SafeQuery/package.json +1 -1
  45. package/Scroll/package.json +1 -1
  46. package/ScrollControls/package.json +1 -1
  47. package/SimpleSlider/package.json +1 -1
  48. package/Skeleton/package.json +1 -1
  49. package/Spinner/package.json +1 -1
  50. package/Text/package.json +1 -1
  51. package/TextEmoji/package.json +1 -1
  52. package/Tooltip/package.json +1 -1
  53. package/Tumbler/package.json +1 -1
  54. package/package.json +2 -2
  55. package/useBodyTTag/package.json +1 -1
  56. package/useDebounce/package.json +1 -1
  57. package/useId/package.json +1 -1
  58. package/useIsMounted/package.json +1 -1
  59. package/useKeyPress/package.json +1 -1
  60. package/useMedia/package.json +1 -1
  61. package/useOutsideClick/package.json +1 -1
  62. package/usePortal/package.json +1 -1
  63. package/useScrollPosition/package.json +1 -1
@@ -12,10 +12,13 @@ var Portal = require('@prom-ui/core/Portal');
12
12
  var Media = require('@prom-ui/core/Media');
13
13
  var Button = require('@prom-ui/core/Button');
14
14
  var Icon = require('@prom-ui/core/Icon');
15
- var Text = require('@prom-ui/core/Text');
16
15
  var useBodyTTag = require('@prom-ui/core/useBodyTTag');
17
16
  var Close = require('@prom-ui/icons/Close');
18
17
  var ArrowBack = require('@prom-ui/icons/ArrowBack');
18
+ var errcatch = require('@evo/errcatch');
19
+ var Link = require('@prom-ui/core/Link');
20
+ var PromTroubleHappens = require('@prom-ui/icons/colors/PromTroubleHappens');
21
+ var PromNoSignal = require('@prom-ui/icons/colors/PromNoSignal');
19
22
  var utils = require('react-scrolllock/dist/utils');
20
23
  var Swipe = require('react-easy-swipe');
21
24
 
@@ -44,6 +47,47 @@ var ScrollLock__default = /*#__PURE__*/_interopDefaultCompat(ScrollLock);
44
47
  var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
45
48
  var Swipe__default = /*#__PURE__*/_interopDefaultCompat(Swipe);
46
49
 
50
+ function _iterableToArrayLimit(arr, i) {
51
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
52
+ if (null != _i) {
53
+ var _s,
54
+ _e,
55
+ _x,
56
+ _r,
57
+ _arr = [],
58
+ _n = !0,
59
+ _d = !1;
60
+ try {
61
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
62
+ if (Object(_i) !== _i) return;
63
+ _n = !1;
64
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
65
+ } catch (err) {
66
+ _d = !0, _e = err;
67
+ } finally {
68
+ try {
69
+ if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
70
+ } finally {
71
+ if (_d) throw _e;
72
+ }
73
+ }
74
+ return _arr;
75
+ }
76
+ }
77
+ function _defineProperty(obj, key, value) {
78
+ key = _toPropertyKey(key);
79
+ if (key in obj) {
80
+ Object.defineProperty(obj, key, {
81
+ value: value,
82
+ enumerable: true,
83
+ configurable: true,
84
+ writable: true
85
+ });
86
+ } else {
87
+ obj[key] = value;
88
+ }
89
+ return obj;
90
+ }
47
91
  function _extends() {
48
92
  _extends = Object.assign ? Object.assign.bind() : function (target) {
49
93
  for (var i = 1; i < arguments.length; i++) {
@@ -95,10 +139,46 @@ function _taggedTemplateLiteral(strings, raw) {
95
139
  }
96
140
  }));
97
141
  }
142
+ function _slicedToArray(arr, i) {
143
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
144
+ }
145
+ function _arrayWithHoles(arr) {
146
+ if (Array.isArray(arr)) return arr;
147
+ }
148
+ function _unsupportedIterableToArray(o, minLen) {
149
+ if (!o) return;
150
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
151
+ var n = Object.prototype.toString.call(o).slice(8, -1);
152
+ if (n === "Object" && o.constructor) n = o.constructor.name;
153
+ if (n === "Map" || n === "Set") return Array.from(o);
154
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
155
+ }
156
+ function _arrayLikeToArray(arr, len) {
157
+ if (len == null || len > arr.length) len = arr.length;
158
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
159
+ return arr2;
160
+ }
161
+ function _nonIterableRest() {
162
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
163
+ }
164
+ function _toPrimitive(input, hint) {
165
+ if (typeof input !== "object" || input === null) return input;
166
+ var prim = input[Symbol.toPrimitive];
167
+ if (prim !== undefined) {
168
+ var res = prim.call(input, hint || "default");
169
+ if (typeof res !== "object") return res;
170
+ throw new TypeError("@@toPrimitive must return a primitive value.");
171
+ }
172
+ return (hint === "string" ? String : Number)(input);
173
+ }
174
+ function _toPropertyKey(arg) {
175
+ var key = _toPrimitive(arg, "string");
176
+ return typeof key === "symbol" ? key : String(key);
177
+ }
98
178
 
99
- var css = {"root":"Overlay__root___v0oYp","backdrop":"Overlay__backdrop___RvRWz","popup":"Overlay__popup___elIqJ","popup_placement_top":"Overlay__popup_placement_top___Llv4b","popup_placement_bottom":"Overlay__popup_placement_bottom___DJyNc","popup_placement_right":"Overlay__popup_placement_right___4DX3c","popup_placement_left":"Overlay__popup_placement_left___OwkR7","content":"Overlay__content___5qQ0k","header":"Overlay__header___LIk9z","header__grid":"Overlay__header__grid___SShy4","header__item":"Overlay__header__item___9fUzS","header__title":"Overlay__header__title___Vuilz Overlay__header__item___9fUzS","header__action":"Overlay__header__action___c-A8d Overlay__header__item___9fUzS","header__actionButton":"Overlay__header__actionButton___yYG24","header__actionIcon":"Overlay__header__actionIcon___La2ok","footer":"Overlay__footer___3Ca-G","enter":"Overlay__enter___OjeZp","exit":"Overlay__exit___HiHMU","enterActive":"Overlay__enterActive___Ne-Vn","exitActive":"Overlay__exitActive___6f7f1"};
179
+ var css = {"root":"Overlay__root___v0oYp","backdrop":"Overlay__backdrop___RvRWz","popup":"Overlay__popup___elIqJ","popup_placement_top":"Overlay__popup_placement_top___Llv4b","popup_placement_bottom":"Overlay__popup_placement_bottom___DJyNc","popup_placement_right":"Overlay__popup_placement_right___4DX3c","popup_placement_left":"Overlay__popup_placement_left___OwkR7","content":"Overlay__content___5qQ0k","header":"Overlay__header___LIk9z","header__grid":"Overlay__header__grid___SShy4","header__item":"Overlay__header__item___9fUzS","header__title":"Overlay__header__title___Vuilz Overlay__header__item___9fUzS","header__titleText":"Overlay__header__titleText___pW2Vz","header__action":"Overlay__header__action___c-A8d Overlay__header__item___9fUzS","header__actionButton":"Overlay__header__actionButton___yYG24","header__actionIcon":"Overlay__header__actionIcon___La2ok","footer":"Overlay__footer___3Ca-G","enter":"Overlay__enter___OjeZp","exit":"Overlay__exit___HiHMU","enterActive":"Overlay__enterActive___Ne-Vn","exitActive":"Overlay__exitActive___6f7f1","errorContainer":"Overlay__errorContainer___8HVeJ","errorContainerLoading":"Overlay__errorContainerLoading___zsRUN","errorIcon":"Overlay__errorIcon___w5VL8","errorTitle":"Overlay__errorTitle___DJcp4","errorDescription":"Overlay__errorDescription___5bUeF","errorWrapReloadButton":"Overlay__errorWrapReloadButton___gwpLD","errorWrapCloseButton":"Overlay__errorWrapCloseButton___jM9l9","errorCloseButtonLoading":"Overlay__errorCloseButtonLoading___IXlT4"};
100
180
 
101
- var _templateObject, _templateObject2;
181
+ var _templateObject$1, _templateObject2$1;
102
182
  var OverlayHeader = function OverlayHeader(_ref) {
103
183
  var isShowPrevButton = _ref.isShowPrevButton,
104
184
  isShowCloseButton = _ref.isShowCloseButton,
@@ -119,18 +199,15 @@ var OverlayHeader = function OverlayHeader(_ref) {
119
199
  "button-theme": "black-inherit",
120
200
  type: "button",
121
201
  onClick: onPrev,
122
- "aria-label": t(_templateObject || (_templateObject = _taggedTemplateLiteral(["\u041D\u0430\u0437\u0430\u0434"]))),
202
+ "aria-label": t(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\u041D\u0430\u0437\u0430\u0434"]))),
123
203
  "data-qaid": "prev"
124
204
  }, /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
125
205
  "icon-as": ArrowBack.SvgArrowBack,
126
206
  className: css.header__actionIcon
127
207
  }))), /*#__PURE__*/React__namespace.default.createElement("div", {
128
208
  className: css.header__title
129
- }, typeof title === 'string' ? /*#__PURE__*/React__namespace.default.createElement(Text.Text, {
130
- "text-align": "center",
131
- "text-size": "h4",
132
- "text-wrap": "ellipsis",
133
- "text-weight": "bold",
209
+ }, typeof title === 'string' ? /*#__PURE__*/React__namespace.default.createElement("span", {
210
+ className: css.header__titleText,
134
211
  "data-qaid": "title"
135
212
  }, title) : title), /*#__PURE__*/React__namespace.default.createElement("div", {
136
213
  className: css.header__action
@@ -139,7 +216,7 @@ var OverlayHeader = function OverlayHeader(_ref) {
139
216
  "button-theme": "black-inherit",
140
217
  type: "button",
141
218
  onClick: onClose,
142
- "aria-label": t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\u0417\u0430\u043A\u0440\u044B\u0442\u044C"]))),
219
+ "aria-label": t(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\u0417\u0430\u043A\u0440\u044B\u0442\u044C"]))),
143
220
  "data-qaid": "close"
144
221
  }, /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
145
222
  "icon-as": Close.SvgClose,
@@ -147,6 +224,128 @@ var OverlayHeader = function OverlayHeader(_ref) {
147
224
  })))));
148
225
  };
149
226
 
227
+ var getPopupStyle = function getPopupStyle(placement, size, maxSize) {
228
+ if (['top', 'bottom'].includes(placement)) {
229
+ return {
230
+ height: size,
231
+ maxHeight: maxSize
232
+ };
233
+ }
234
+ return {
235
+ width: size,
236
+ maxWidth: maxSize
237
+ };
238
+ };
239
+ var TIMEOUT_RELOAD_ERROR = 600;
240
+ var getErrorType = function getErrorType() {
241
+ var _navigator;
242
+ return Boolean((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.onLine) ? 'default' : 'offline';
243
+ };
244
+
245
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
246
+ var ErrorComponent = function ErrorComponent(_ref) {
247
+ var onClickReload = _ref.onClickReload,
248
+ onClose = _ref.onClose,
249
+ _ref$errorType = _ref.errorType,
250
+ errorType = _ref$errorType === void 0 ? 'default' : _ref$errorType,
251
+ _ref$loading = _ref.loading,
252
+ loading = _ref$loading === void 0 ? false : _ref$loading;
253
+ var _useBodyTTag = useBodyTTag.useBodyTTag(),
254
+ t = _useBodyTTag.t;
255
+ var errorData = {
256
+ "default": {
257
+ icon: PromTroubleHappens.SvgPromTroubleHappens,
258
+ title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["\u041E\u0439, \u043A\u0430\u0436\u0435\u0442\u0441\u044F \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A"]))),
259
+ description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\u041C\u044B \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043C\u0441\u044F \u0441 \u044D\u0442\u0438\u043C"])))
260
+ },
261
+ offline: {
262
+ icon: PromNoSignal.SvgPromNoSignal,
263
+ title: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\u041D\u0435\u0442 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F"]))),
264
+ description: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A \u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443"])))
265
+ }
266
+ };
267
+ return /*#__PURE__*/React__namespace.default.createElement("div", {
268
+ className: classNames__default.default(css.errorContainer, _defineProperty({}, css.errorContainerLoading, loading)),
269
+ "data-qaid": "overlay_error_catch",
270
+ "data-testid": "overlay_error_catch"
271
+ }, /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
272
+ className: css.errorIcon,
273
+ "icon-as": errorData[errorType].icon,
274
+ "data-qaid": "overlay_error_catch_icon",
275
+ "data-testid": "overlay_error_catch_icon"
276
+ }), /*#__PURE__*/React__namespace.default.createElement("div", {
277
+ className: css.errorTitle,
278
+ "data-qaid": "overlay_error_catch_title",
279
+ "data-testid": "overlay_error_catch_title"
280
+ }, errorData[errorType].title), /*#__PURE__*/React__namespace.default.createElement("div", {
281
+ className: css.errorDescription,
282
+ "data-qaid": "overlay_error_catch_description",
283
+ "data-testid": "overlay_error_catch_description"
284
+ }, errorData[errorType].description), /*#__PURE__*/React__namespace.default.createElement("div", {
285
+ className: css.errorWrapReloadButton
286
+ }, /*#__PURE__*/React__namespace.default.createElement(Button.Button, {
287
+ "button-theme": "violet",
288
+ "button-padding-left": "4xl",
289
+ "button-padding-right": "4xl",
290
+ type: "button",
291
+ onClick: onClickReload,
292
+ loading: loading,
293
+ "data-qaid": "overlay_error_catch_reload_button",
294
+ "data-testid": "overlay_error_catch_reload_button"
295
+ }, t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0435\u0449\u0435 \u0440\u0430\u0437"]))))), /*#__PURE__*/React__namespace.default.createElement("div", {
296
+ className: css.errorWrapCloseButton
297
+ }, /*#__PURE__*/React__namespace.default.createElement(Link.Link, {
298
+ className: loading ? css.errorCloseButtonLoading : undefined,
299
+ "link-as": "button",
300
+ "link-color": "blue-500",
301
+ type: "button",
302
+ onClick: onClose,
303
+ "data-qaid": "overlay_error_catch_close_button",
304
+ "data-testid": "overlay_error_catch_close_button"
305
+ }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\u0417\u0430\u043A\u0440\u044B\u0442\u044C"]))))));
306
+ };
307
+ ErrorComponent.displayName = 'ErrorComponent';
308
+ var OverlayErrCatch = function OverlayErrCatch(_ref2) {
309
+ var children = _ref2.children,
310
+ name = _ref2.name,
311
+ onClose = _ref2.onClose;
312
+ var _useState = React.useState(false),
313
+ _useState2 = _slicedToArray(_useState, 2),
314
+ isReload = _useState2[0],
315
+ setReload = _useState2[1];
316
+ var _useState3 = React.useState('default'),
317
+ _useState4 = _slicedToArray(_useState3, 2),
318
+ errorType = _useState4[0],
319
+ setErrorType = _useState4[1];
320
+ React.useEffect(function () {
321
+ if (isReload) {
322
+ setTimeout(function () {
323
+ setErrorType(getErrorType());
324
+ setReload(false);
325
+ }, TIMEOUT_RELOAD_ERROR);
326
+ } else {
327
+ setErrorType(getErrorType());
328
+ }
329
+ }, [isReload]);
330
+ if (isReload) {
331
+ return /*#__PURE__*/React__namespace.default.createElement(ErrorComponent, {
332
+ errorType: errorType,
333
+ loading: true
334
+ });
335
+ }
336
+ return /*#__PURE__*/React__namespace.default.createElement(errcatch.ErrCatch, {
337
+ name: name,
338
+ errorComponent: /*#__PURE__*/React__namespace.default.createElement(ErrorComponent, {
339
+ onClose: onClose,
340
+ errorType: errorType,
341
+ onClickReload: function onClickReload() {
342
+ return setReload(true);
343
+ }
344
+ })
345
+ }, children);
346
+ };
347
+ OverlayErrCatch.displayName = 'OverlayErrCatch';
348
+
150
349
  // FORK FROM https://github.com/jossmac/react-scrolllock/blob/master/src/TouchScrollable.js
151
350
 
152
351
  var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
@@ -296,20 +495,7 @@ var SwipeClose = function SwipeClose(_ref) {
296
495
  }, children);
297
496
  };
298
497
 
299
- var getPopupStyle = function getPopupStyle(placement, size, maxSize) {
300
- if (['top', 'bottom'].includes(placement)) {
301
- return {
302
- height: size,
303
- maxHeight: maxSize
304
- };
305
- }
306
- return {
307
- width: size,
308
- maxWidth: maxSize
309
- };
310
- };
311
-
312
- var _excluded = ["children", "onClose", "onOpen", "onPrev", "onOpened", "onClosed", "isOpen", "isShowCloseButton", "isShowPrevButton", "isCloseOnEscape", "isCloseOnSwipe", "isCloseOutsideClick", "isAnimated", "isRenderPortal", "isScrollLock", "isScrollLockTouch", "header", "footer", "padding", "title", "placement", "size", "maxSize", "zIndex", "contentRef", "dataQaId"];
498
+ var _excluded = ["children", "onClose", "onOpen", "onPrev", "onOpened", "onClosed", "isOpen", "isShowCloseButton", "isShowPrevButton", "isCloseOnEscape", "isCloseOnSwipe", "isCloseOutsideClick", "isAnimated", "isRenderPortal", "isScrollLock", "isScrollLockTouch", "header", "footer", "padding", "title", "placement", "size", "maxSize", "zIndex", "contentRef", "dataQaId", "errCatchName"];
313
499
  var DEFAULT_SIZE = 400;
314
500
 
315
501
  /**
@@ -357,6 +543,8 @@ var Overlay = function Overlay(_ref) {
357
543
  zIndex = _ref$zIndex === void 0 ? 5000 : _ref$zIndex,
358
544
  contentRef = _ref.contentRef,
359
545
  dataQaId = _ref.dataQaId,
546
+ _ref$errCatchName = _ref.errCatchName,
547
+ errCatchName = _ref$errCatchName === void 0 ? 'OverlayErrCatch' : _ref$errCatchName,
360
548
  props = _objectWithoutProperties(_ref, _excluded);
361
549
  var popupRef = React__namespace.useRef(null);
362
550
  var currentContentRef = contentRef || React__namespace.useRef(null);
@@ -442,7 +630,10 @@ var Overlay = function Overlay(_ref) {
442
630
  style: {
443
631
  padding: padding
444
632
  }
445
- }, children))))))));
633
+ }, /*#__PURE__*/React__namespace.createElement(OverlayErrCatch, {
634
+ onClose: onClose,
635
+ name: errCatchName
636
+ }, children)))))))));
446
637
  };
447
638
 
448
639
  exports.Overlay = Overlay;
@@ -12,10 +12,13 @@ var Portal = require('@prom-ui/core/Portal');
12
12
  var Media = require('@prom-ui/core/Media');
13
13
  var Button = require('@prom-ui/core/Button');
14
14
  var Icon = require('@prom-ui/core/Icon');
15
- var Text = require('@prom-ui/core/Text');
16
15
  var useBodyTTag = require('@prom-ui/core/useBodyTTag');
17
16
  var Close = require('@prom-ui/icons/Close');
18
17
  var ArrowBack = require('@prom-ui/icons/ArrowBack');
18
+ var errcatch = require('@evo/errcatch');
19
+ var Link = require('@prom-ui/core/Link');
20
+ var PromTroubleHappens = require('@prom-ui/icons/colors/PromTroubleHappens');
21
+ var PromNoSignal = require('@prom-ui/icons/colors/PromNoSignal');
19
22
  var utils = require('react-scrolllock/dist/utils');
20
23
  var Swipe = require('react-easy-swipe');
21
24
 
@@ -44,6 +47,47 @@ var ScrollLock__default = /*#__PURE__*/_interopDefaultCompat(ScrollLock);
44
47
  var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
45
48
  var Swipe__default = /*#__PURE__*/_interopDefaultCompat(Swipe);
46
49
 
50
+ function _iterableToArrayLimit(arr, i) {
51
+ var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
52
+ if (null != _i) {
53
+ var _s,
54
+ _e,
55
+ _x,
56
+ _r,
57
+ _arr = [],
58
+ _n = !0,
59
+ _d = !1;
60
+ try {
61
+ if (_x = (_i = _i.call(arr)).next, 0 === i) {
62
+ if (Object(_i) !== _i) return;
63
+ _n = !1;
64
+ } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
65
+ } catch (err) {
66
+ _d = !0, _e = err;
67
+ } finally {
68
+ try {
69
+ if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return;
70
+ } finally {
71
+ if (_d) throw _e;
72
+ }
73
+ }
74
+ return _arr;
75
+ }
76
+ }
77
+ function _defineProperty(obj, key, value) {
78
+ key = _toPropertyKey(key);
79
+ if (key in obj) {
80
+ Object.defineProperty(obj, key, {
81
+ value: value,
82
+ enumerable: true,
83
+ configurable: true,
84
+ writable: true
85
+ });
86
+ } else {
87
+ obj[key] = value;
88
+ }
89
+ return obj;
90
+ }
47
91
  function _extends() {
48
92
  _extends = Object.assign ? Object.assign.bind() : function (target) {
49
93
  for (var i = 1; i < arguments.length; i++) {
@@ -95,10 +139,46 @@ function _taggedTemplateLiteral(strings, raw) {
95
139
  }
96
140
  }));
97
141
  }
142
+ function _slicedToArray(arr, i) {
143
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
144
+ }
145
+ function _arrayWithHoles(arr) {
146
+ if (Array.isArray(arr)) return arr;
147
+ }
148
+ function _unsupportedIterableToArray(o, minLen) {
149
+ if (!o) return;
150
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
151
+ var n = Object.prototype.toString.call(o).slice(8, -1);
152
+ if (n === "Object" && o.constructor) n = o.constructor.name;
153
+ if (n === "Map" || n === "Set") return Array.from(o);
154
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
155
+ }
156
+ function _arrayLikeToArray(arr, len) {
157
+ if (len == null || len > arr.length) len = arr.length;
158
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
159
+ return arr2;
160
+ }
161
+ function _nonIterableRest() {
162
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
163
+ }
164
+ function _toPrimitive(input, hint) {
165
+ if (typeof input !== "object" || input === null) return input;
166
+ var prim = input[Symbol.toPrimitive];
167
+ if (prim !== undefined) {
168
+ var res = prim.call(input, hint || "default");
169
+ if (typeof res !== "object") return res;
170
+ throw new TypeError("@@toPrimitive must return a primitive value.");
171
+ }
172
+ return (hint === "string" ? String : Number)(input);
173
+ }
174
+ function _toPropertyKey(arg) {
175
+ var key = _toPrimitive(arg, "string");
176
+ return typeof key === "symbol" ? key : String(key);
177
+ }
98
178
 
99
- var css = {"root":"Overlay__root___-yvLz","backdrop":"Overlay__backdrop___MKZgL","popup":"Overlay__popup___RJENA","popup_placement_top":"Overlay__popup_placement_top___ERdxO","popup_placement_bottom":"Overlay__popup_placement_bottom___MJb6v","popup_placement_right":"Overlay__popup_placement_right___nL79b","popup_placement_left":"Overlay__popup_placement_left___p-p5e","content":"Overlay__content___uHLyZ","header":"Overlay__header___ntf6X","header__grid":"Overlay__header__grid___-OCio","header__item":"Overlay__header__item___gjOzy","header__title":"Overlay__header__title___-s4aZ Overlay__header__item___gjOzy","header__action":"Overlay__header__action___fzZrE Overlay__header__item___gjOzy","header__actionButton":"Overlay__header__actionButton___CC-hv","header__actionIcon":"Overlay__header__actionIcon___LoRyP","footer":"Overlay__footer___nE-cV","enter":"Overlay__enter___v7DoD","exit":"Overlay__exit___E0PkA","enterActive":"Overlay__enterActive___RFXzo","exitActive":"Overlay__exitActive___a2xd2"};
179
+ var css = {"root":"Overlay__root___-yvLz","backdrop":"Overlay__backdrop___MKZgL","popup":"Overlay__popup___RJENA","popup_placement_top":"Overlay__popup_placement_top___ERdxO","popup_placement_bottom":"Overlay__popup_placement_bottom___MJb6v","popup_placement_right":"Overlay__popup_placement_right___nL79b","popup_placement_left":"Overlay__popup_placement_left___p-p5e","content":"Overlay__content___uHLyZ","header":"Overlay__header___ntf6X","header__grid":"Overlay__header__grid___-OCio","header__item":"Overlay__header__item___gjOzy","header__title":"Overlay__header__title___-s4aZ Overlay__header__item___gjOzy","header__titleText":"Overlay__header__titleText___zkpK2","header__action":"Overlay__header__action___fzZrE Overlay__header__item___gjOzy","header__actionButton":"Overlay__header__actionButton___CC-hv","header__actionIcon":"Overlay__header__actionIcon___LoRyP","footer":"Overlay__footer___nE-cV","enter":"Overlay__enter___v7DoD","exit":"Overlay__exit___E0PkA","enterActive":"Overlay__enterActive___RFXzo","exitActive":"Overlay__exitActive___a2xd2","errorContainer":"Overlay__errorContainer___6Vqfn","errorContainerLoading":"Overlay__errorContainerLoading___1NWwx","errorIcon":"Overlay__errorIcon___B2x3n","errorTitle":"Overlay__errorTitle___xzjW5","errorDescription":"Overlay__errorDescription___9ITQZ","errorWrapReloadButton":"Overlay__errorWrapReloadButton___TztMO","errorWrapCloseButton":"Overlay__errorWrapCloseButton___6pk7M","errorCloseButtonLoading":"Overlay__errorCloseButtonLoading___4NTmf"};
100
180
 
101
- var _templateObject, _templateObject2;
181
+ var _templateObject$1, _templateObject2$1;
102
182
  var OverlayHeader = function OverlayHeader(_ref) {
103
183
  var isShowPrevButton = _ref.isShowPrevButton,
104
184
  isShowCloseButton = _ref.isShowCloseButton,
@@ -119,18 +199,15 @@ var OverlayHeader = function OverlayHeader(_ref) {
119
199
  "button-theme": "black-inherit",
120
200
  type: "button",
121
201
  onClick: onPrev,
122
- "aria-label": t(_templateObject || (_templateObject = _taggedTemplateLiteral(["\u041D\u0430\u0437\u0430\u0434"]))),
202
+ "aria-label": t(_templateObject$1 || (_templateObject$1 = _taggedTemplateLiteral(["\u041D\u0430\u0437\u0430\u0434"]))),
123
203
  "data-qaid": "prev"
124
204
  }, /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
125
205
  "icon-as": ArrowBack.SvgArrowBack,
126
206
  className: css.header__actionIcon
127
207
  }))), /*#__PURE__*/React__namespace.default.createElement("div", {
128
208
  className: css.header__title
129
- }, typeof title === 'string' ? /*#__PURE__*/React__namespace.default.createElement(Text.Text, {
130
- "text-align": "center",
131
- "text-size": "h4",
132
- "text-wrap": "ellipsis",
133
- "text-weight": "bold",
209
+ }, typeof title === 'string' ? /*#__PURE__*/React__namespace.default.createElement("span", {
210
+ className: css.header__titleText,
134
211
  "data-qaid": "title"
135
212
  }, title) : title), /*#__PURE__*/React__namespace.default.createElement("div", {
136
213
  className: css.header__action
@@ -139,7 +216,7 @@ var OverlayHeader = function OverlayHeader(_ref) {
139
216
  "button-theme": "black-inherit",
140
217
  type: "button",
141
218
  onClick: onClose,
142
- "aria-label": t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\u0417\u0430\u043A\u0440\u044B\u0442\u044C"]))),
219
+ "aria-label": t(_templateObject2$1 || (_templateObject2$1 = _taggedTemplateLiteral(["\u0417\u0430\u043A\u0440\u044B\u0442\u044C"]))),
143
220
  "data-qaid": "close"
144
221
  }, /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
145
222
  "icon-as": Close.SvgClose,
@@ -147,6 +224,128 @@ var OverlayHeader = function OverlayHeader(_ref) {
147
224
  })))));
148
225
  };
149
226
 
227
+ var getPopupStyle = function getPopupStyle(placement, size, maxSize) {
228
+ if (['top', 'bottom'].includes(placement)) {
229
+ return {
230
+ height: size,
231
+ maxHeight: maxSize
232
+ };
233
+ }
234
+ return {
235
+ width: size,
236
+ maxWidth: maxSize
237
+ };
238
+ };
239
+ var TIMEOUT_RELOAD_ERROR = 600;
240
+ var getErrorType = function getErrorType() {
241
+ var _navigator;
242
+ return Boolean((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.onLine) ? 'default' : 'offline';
243
+ };
244
+
245
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
246
+ var ErrorComponent = function ErrorComponent(_ref) {
247
+ var onClickReload = _ref.onClickReload,
248
+ onClose = _ref.onClose,
249
+ _ref$errorType = _ref.errorType,
250
+ errorType = _ref$errorType === void 0 ? 'default' : _ref$errorType,
251
+ _ref$loading = _ref.loading,
252
+ loading = _ref$loading === void 0 ? false : _ref$loading;
253
+ var _useBodyTTag = useBodyTTag.useBodyTTag(),
254
+ t = _useBodyTTag.t;
255
+ var errorData = {
256
+ "default": {
257
+ icon: PromTroubleHappens.SvgPromTroubleHappens,
258
+ title: t(_templateObject || (_templateObject = _taggedTemplateLiteral(["\u041E\u0439, \u043A\u0430\u0436\u0435\u0442\u0441\u044F \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A"]))),
259
+ description: t(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\u041C\u044B \u0443\u0436\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043C\u0441\u044F \u0441 \u044D\u0442\u0438\u043C"])))
260
+ },
261
+ offline: {
262
+ icon: PromNoSignal.SvgPromNoSignal,
263
+ title: t(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\u041D\u0435\u0442 \u0441\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u044F"]))),
264
+ description: t(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043A \u0418\u043D\u0442\u0435\u0440\u043D\u0435\u0442\u0443"])))
265
+ }
266
+ };
267
+ return /*#__PURE__*/React__namespace.default.createElement("div", {
268
+ className: classNames__default.default(css.errorContainer, _defineProperty({}, css.errorContainerLoading, loading)),
269
+ "data-qaid": "overlay_error_catch",
270
+ "data-testid": "overlay_error_catch"
271
+ }, /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
272
+ className: css.errorIcon,
273
+ "icon-as": errorData[errorType].icon,
274
+ "data-qaid": "overlay_error_catch_icon",
275
+ "data-testid": "overlay_error_catch_icon"
276
+ }), /*#__PURE__*/React__namespace.default.createElement("div", {
277
+ className: css.errorTitle,
278
+ "data-qaid": "overlay_error_catch_title",
279
+ "data-testid": "overlay_error_catch_title"
280
+ }, errorData[errorType].title), /*#__PURE__*/React__namespace.default.createElement("div", {
281
+ className: css.errorDescription,
282
+ "data-qaid": "overlay_error_catch_description",
283
+ "data-testid": "overlay_error_catch_description"
284
+ }, errorData[errorType].description), /*#__PURE__*/React__namespace.default.createElement("div", {
285
+ className: css.errorWrapReloadButton
286
+ }, /*#__PURE__*/React__namespace.default.createElement(Button.Button, {
287
+ "button-theme": "violet",
288
+ "button-padding-left": "4xl",
289
+ "button-padding-right": "4xl",
290
+ type: "button",
291
+ onClick: onClickReload,
292
+ loading: loading,
293
+ "data-qaid": "overlay_error_catch_reload_button",
294
+ "data-testid": "overlay_error_catch_reload_button"
295
+ }, t(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0435\u0449\u0435 \u0440\u0430\u0437"]))))), /*#__PURE__*/React__namespace.default.createElement("div", {
296
+ className: css.errorWrapCloseButton
297
+ }, /*#__PURE__*/React__namespace.default.createElement(Link.Link, {
298
+ className: loading ? css.errorCloseButtonLoading : undefined,
299
+ "link-as": "button",
300
+ "link-color": "blue-500",
301
+ type: "button",
302
+ onClick: onClose,
303
+ "data-qaid": "overlay_error_catch_close_button",
304
+ "data-testid": "overlay_error_catch_close_button"
305
+ }, t(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\u0417\u0430\u043A\u0440\u044B\u0442\u044C"]))))));
306
+ };
307
+ ErrorComponent.displayName = 'ErrorComponent';
308
+ var OverlayErrCatch = function OverlayErrCatch(_ref2) {
309
+ var children = _ref2.children,
310
+ name = _ref2.name,
311
+ onClose = _ref2.onClose;
312
+ var _useState = React.useState(false),
313
+ _useState2 = _slicedToArray(_useState, 2),
314
+ isReload = _useState2[0],
315
+ setReload = _useState2[1];
316
+ var _useState3 = React.useState('default'),
317
+ _useState4 = _slicedToArray(_useState3, 2),
318
+ errorType = _useState4[0],
319
+ setErrorType = _useState4[1];
320
+ React.useEffect(function () {
321
+ if (isReload) {
322
+ setTimeout(function () {
323
+ setErrorType(getErrorType());
324
+ setReload(false);
325
+ }, TIMEOUT_RELOAD_ERROR);
326
+ } else {
327
+ setErrorType(getErrorType());
328
+ }
329
+ }, [isReload]);
330
+ if (isReload) {
331
+ return /*#__PURE__*/React__namespace.default.createElement(ErrorComponent, {
332
+ errorType: errorType,
333
+ loading: true
334
+ });
335
+ }
336
+ return /*#__PURE__*/React__namespace.default.createElement(errcatch.ErrCatch, {
337
+ name: name,
338
+ errorComponent: /*#__PURE__*/React__namespace.default.createElement(ErrorComponent, {
339
+ onClose: onClose,
340
+ errorType: errorType,
341
+ onClickReload: function onClickReload() {
342
+ return setReload(true);
343
+ }
344
+ })
345
+ }, children);
346
+ };
347
+ OverlayErrCatch.displayName = 'OverlayErrCatch';
348
+
150
349
  // FORK FROM https://github.com/jossmac/react-scrolllock/blob/master/src/TouchScrollable.js
151
350
 
152
351
  var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
@@ -296,20 +495,7 @@ var SwipeClose = function SwipeClose(_ref) {
296
495
  }, children);
297
496
  };
298
497
 
299
- var getPopupStyle = function getPopupStyle(placement, size, maxSize) {
300
- if (['top', 'bottom'].includes(placement)) {
301
- return {
302
- height: size,
303
- maxHeight: maxSize
304
- };
305
- }
306
- return {
307
- width: size,
308
- maxWidth: maxSize
309
- };
310
- };
311
-
312
- var _excluded = ["children", "onClose", "onOpen", "onPrev", "onOpened", "onClosed", "isOpen", "isShowCloseButton", "isShowPrevButton", "isCloseOnEscape", "isCloseOnSwipe", "isCloseOutsideClick", "isAnimated", "isRenderPortal", "isScrollLock", "isScrollLockTouch", "header", "footer", "padding", "title", "placement", "size", "maxSize", "zIndex", "contentRef", "dataQaId"];
498
+ var _excluded = ["children", "onClose", "onOpen", "onPrev", "onOpened", "onClosed", "isOpen", "isShowCloseButton", "isShowPrevButton", "isCloseOnEscape", "isCloseOnSwipe", "isCloseOutsideClick", "isAnimated", "isRenderPortal", "isScrollLock", "isScrollLockTouch", "header", "footer", "padding", "title", "placement", "size", "maxSize", "zIndex", "contentRef", "dataQaId", "errCatchName"];
313
499
  var DEFAULT_SIZE = 400;
314
500
 
315
501
  /**
@@ -357,6 +543,8 @@ var Overlay = function Overlay(_ref) {
357
543
  zIndex = _ref$zIndex === void 0 ? 5000 : _ref$zIndex,
358
544
  contentRef = _ref.contentRef,
359
545
  dataQaId = _ref.dataQaId,
546
+ _ref$errCatchName = _ref.errCatchName,
547
+ errCatchName = _ref$errCatchName === void 0 ? 'OverlayErrCatch' : _ref$errCatchName,
360
548
  props = _objectWithoutProperties(_ref, _excluded);
361
549
  var popupRef = React__namespace.useRef(null);
362
550
  var currentContentRef = contentRef || React__namespace.useRef(null);
@@ -442,7 +630,10 @@ var Overlay = function Overlay(_ref) {
442
630
  style: {
443
631
  padding: padding
444
632
  }
445
- }, children))))))));
633
+ }, /*#__PURE__*/React__namespace.createElement(OverlayErrCatch, {
634
+ onClose: onClose,
635
+ name: errCatchName
636
+ }, children)))))))));
446
637
  };
447
638
 
448
639
  exports.Overlay = Overlay;