@invoicebox/ui 0.1.0-alpha.325 → 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 (178) 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/AppCardLink/index.js +1 -2
  6. package/dist/components/common/BgCard/index.js +1 -2
  7. package/dist/components/common/BgCard/styles.js +1 -2
  8. package/dist/components/common/Calendar/index.js +1 -2
  9. package/dist/components/common/Calendar/index.stories.js +1 -2
  10. package/dist/components/common/Calendar/styles.js +1 -2
  11. package/dist/components/common/Divider/index.js +1 -2
  12. package/dist/components/common/Drawer/index.js +1 -2
  13. package/dist/components/common/Drawer/index.stories.js +1 -2
  14. package/dist/components/common/Drawer/styles.js +1 -2
  15. package/dist/components/common/Dropdown/index.js +1 -2
  16. package/dist/components/common/Dropdown/styles.js +8 -9
  17. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.js +1 -2
  18. package/dist/components/common/EntityAutocompleteOptionsDrawer/index.stories.js +1 -2
  19. package/dist/components/common/Flag/index.js +1 -2
  20. package/dist/components/common/Flag/styles.js +1 -2
  21. package/dist/components/common/InvoiceboxSpinner/index.js +1 -2
  22. package/dist/components/common/InvoiceboxSpinner/styles.js +1 -2
  23. package/dist/components/common/Modal/assets/CollapseIcon.d.ts +1 -0
  24. package/dist/components/common/Modal/assets/CollapseIcon.js +42 -0
  25. package/dist/components/common/Modal/assets/ExpandIcon.d.ts +1 -0
  26. package/dist/components/common/Modal/assets/ExpandIcon.js +42 -0
  27. package/dist/components/common/Modal/context.d.ts +9 -0
  28. package/dist/components/common/Modal/context.js +14 -0
  29. package/dist/components/common/Modal/index.d.ts +15 -0
  30. package/dist/components/common/Modal/index.js +165 -0
  31. package/dist/components/common/Modal/index.stories.d.ts +6 -0
  32. package/dist/components/common/Modal/index.stories.js +76 -0
  33. package/dist/components/common/Modal/palette.d.ts +9 -0
  34. package/dist/components/common/Modal/palette.js +23 -0
  35. package/dist/components/common/Modal/styles.d.ts +25 -0
  36. package/dist/components/common/Modal/styles.js +69 -0
  37. package/dist/components/common/PointsLoader/index.js +1 -2
  38. package/dist/components/common/QRCode/index.js +2 -2
  39. package/dist/components/common/ReadOnlyLabelValueField/index.js +1 -2
  40. package/dist/components/common/Scrollbar/index.js +1 -2
  41. package/dist/components/common/Scrollbar/styles.js +1 -2
  42. package/dist/components/common/SecondaryButton/index.js +3 -4
  43. package/dist/components/common/SecondaryButton/styles.js +1 -2
  44. package/dist/components/common/Skeleton/index.js +1 -2
  45. package/dist/components/common/Skeleton/styles.js +1 -2
  46. package/dist/components/common/Toast/index.js +1 -2
  47. package/dist/components/common/Tooltip/index.js +1 -2
  48. package/dist/components/common/Typography/index.js +3 -4
  49. package/dist/components/common/WarningIcon/index.js +1 -2
  50. package/dist/components/common/WentWrongModal/assets/icons.d.ts +3 -0
  51. package/dist/components/common/WentWrongModal/assets/icons.js +84 -0
  52. package/dist/components/common/WentWrongModal/assets/racoonImage.d.ts +1 -0
  53. package/dist/components/common/WentWrongModal/assets/racoonImage.js +9 -0
  54. package/dist/components/common/WentWrongModal/index.d.ts +23 -0
  55. package/dist/components/common/WentWrongModal/index.js +193 -0
  56. package/dist/components/common/WentWrongModal/index.stories.d.ts +6 -0
  57. package/dist/components/common/WentWrongModal/index.stories.js +60 -0
  58. package/dist/components/common/WentWrongModal/index.test.d.ts +1 -0
  59. package/dist/components/common/WentWrongModal/index.test.js +209 -0
  60. package/dist/components/common/WentWrongModal/palette.d.ts +11 -0
  61. package/dist/components/common/WentWrongModal/palette.js +22 -0
  62. package/dist/components/common/WentWrongModal/styles.d.ts +24 -0
  63. package/dist/components/common/WentWrongModal/styles.js +88 -0
  64. package/dist/components/form/Autocomplete/components/Autocomplete/index.js +1 -2
  65. package/dist/components/form/Autocomplete/components/Autocomplete/index.stories.js +1 -2
  66. package/dist/components/form/Autocomplete/components/OrganizationAutocompleteItem/index.js +1 -2
  67. package/dist/components/form/Checkbox/index.js +3 -4
  68. package/dist/components/form/Checkbox/index.stories.js +1 -2
  69. package/dist/components/form/CodeInput/index.js +1 -2
  70. package/dist/components/form/CodeInput/index.stories.js +1 -2
  71. package/dist/components/form/CountrySelect/components/CountryItem/index.js +1 -2
  72. package/dist/components/form/CountrySelect/index.js +3 -4
  73. package/dist/components/form/CurrencyInput/CoreCurrencyInput/index.js +1 -2
  74. package/dist/components/form/CurrencyInput/CoreCurrencyInput/index.stories.js +1 -2
  75. package/dist/components/form/CurrencyInput/CurrencyInputNumber/index.js +2 -2
  76. package/dist/components/form/CurrencyInput/CurrencyInputNumber/index.stories.js +1 -2
  77. package/dist/components/form/CurrencyInput/CurrencyInputString/index.js +2 -2
  78. package/dist/components/form/CurrencyInput/CurrencyInputString/index.stories.js +1 -2
  79. package/dist/components/form/DateInput/components/CalendarIcon/index.js +1 -2
  80. package/dist/components/form/DateInput/components/MobileDrawerDateCalendar/index.js +1 -2
  81. package/dist/components/form/DateInput/components/MobileDrawerDateCalendar/index.stories.js +1 -2
  82. package/dist/components/form/DateInput/index.js +1 -2
  83. package/dist/components/form/DateInput/index.stories.js +1 -2
  84. package/dist/components/form/DateTimeInput/components/MobileDatePicker/index.js +1 -2
  85. package/dist/components/form/DateTimeInput/components/MobileDatePicker/index.stories.js +1 -2
  86. package/dist/components/form/DateTimeInput/components/MobileDrawerDateTimeCalendar/index.js +1 -2
  87. package/dist/components/form/DateTimeInput/components/MobileDrawerDateTimeCalendar/index.stories.js +1 -2
  88. package/dist/components/form/DateTimeInput/components/MobileWheelPicker/components/WheelColumn/index.js +1 -2
  89. package/dist/components/form/DateTimeInput/components/MobileWheelPicker/index.js +1 -2
  90. package/dist/components/form/DateTimeInput/components/MobileWheelPicker/index.stories.js +1 -2
  91. package/dist/components/form/DateTimeInput/components/TimePicker/index.js +1 -2
  92. package/dist/components/form/DateTimeInput/components/TimePicker/index.stories.js +1 -2
  93. package/dist/components/form/DateTimeInput/index.js +1 -2
  94. package/dist/components/form/DateTimeInput/index.stories.js +1 -2
  95. package/dist/components/form/InputLabel/index.js +1 -2
  96. package/dist/components/form/InputLabel/styles.js +1 -2
  97. package/dist/components/form/ModernPlaceholder/index.js +1 -2
  98. package/dist/components/form/PhoneInput/index.js +1 -2
  99. package/dist/components/form/PhoneInput/index.stories.js +1 -2
  100. package/dist/components/form/PositiveIntegerInput/index.js +1 -2
  101. package/dist/components/form/PositiveIntegerInput/index.stories.js +1 -2
  102. package/dist/components/form/PureInput/index.js +3 -4
  103. package/dist/components/form/PureInput/styles.js +2 -2
  104. package/dist/components/form/ResetButton/index.js +1 -2
  105. package/dist/components/form/SearchInput/index.js +1 -2
  106. package/dist/components/form/SearchInput/index.stories.js +1 -2
  107. package/dist/components/form/Select/components/Input/index.js +1 -2
  108. package/dist/components/form/Select/components/Loader/index.js +1 -2
  109. package/dist/components/form/Select/components/MultipleValue/index.js +1 -2
  110. package/dist/components/form/Select/components/MultipleValue/styles.js +1 -2
  111. package/dist/components/form/Select/index.js +1 -2
  112. package/dist/components/form/Select/index.stories.js +1 -2
  113. package/dist/components/form/Select/styles.js +1 -2
  114. package/dist/components/form/TagsInput/index.js +1 -2
  115. package/dist/components/form/TagsInput/index.stories.js +1 -2
  116. package/dist/components/form/TagsInput/styles.js +2 -2
  117. package/dist/components/form/TextInput/index.js +1 -2
  118. package/dist/components/form/TextInput/index.stories.js +1 -2
  119. package/dist/components/form/Toggle/index.js +3 -4
  120. package/dist/components/form/Toggle/index.stories.js +1 -2
  121. package/dist/components/form/Toggle/styles.js +10 -10
  122. package/dist/components/form/_hooks/useInputStyles.js +1 -2
  123. package/dist/components/form/common/DrawerHeader/index.js +1 -2
  124. package/dist/esm/components/common/AdaptiveModalDrawer/index.js +24 -0
  125. package/dist/esm/components/common/AdaptiveModalDrawer/index.stories.js +37 -0
  126. package/dist/esm/components/common/Dropdown/styles.js +7 -7
  127. package/dist/esm/components/common/Modal/assets/CollapseIcon.js +35 -0
  128. package/dist/esm/components/common/Modal/assets/ExpandIcon.js +35 -0
  129. package/dist/esm/components/common/Modal/context.js +8 -0
  130. package/dist/esm/components/common/Modal/index.js +147 -0
  131. package/dist/esm/components/common/Modal/index.stories.js +69 -0
  132. package/dist/esm/components/common/Modal/palette.js +16 -0
  133. package/dist/esm/components/common/Modal/styles.js +61 -0
  134. package/dist/esm/components/common/QRCode/index.js +2 -2
  135. package/dist/esm/components/common/SecondaryButton/index.js +2 -2
  136. package/dist/esm/components/common/Typography/index.js +2 -2
  137. package/dist/esm/components/common/WentWrongModal/assets/icons.js +77 -0
  138. package/dist/esm/components/common/WentWrongModal/assets/racoonImage.js +3 -0
  139. package/dist/esm/components/common/WentWrongModal/index.js +186 -0
  140. package/dist/esm/components/common/WentWrongModal/index.stories.js +53 -0
  141. package/dist/esm/components/common/WentWrongModal/index.test.js +208 -0
  142. package/dist/esm/components/common/WentWrongModal/palette.js +15 -0
  143. package/dist/esm/components/common/WentWrongModal/styles.js +81 -0
  144. package/dist/esm/components/form/Checkbox/index.js +2 -2
  145. package/dist/esm/components/form/CountrySelect/index.js +2 -2
  146. package/dist/esm/components/form/CurrencyInput/CurrencyInputNumber/index.js +2 -2
  147. package/dist/esm/components/form/CurrencyInput/CurrencyInputString/index.js +2 -2
  148. package/dist/esm/components/form/PureInput/index.js +2 -2
  149. package/dist/esm/components/form/PureInput/styles.js +2 -2
  150. package/dist/esm/components/form/TagsInput/styles.js +2 -2
  151. package/dist/esm/components/form/Toggle/index.js +2 -2
  152. package/dist/esm/components/form/Toggle/styles.js +10 -10
  153. package/dist/esm/hooks/useQueryFilter/context.js +40 -0
  154. package/dist/esm/hooks/useQueryFilter/helpers.js +58 -0
  155. package/dist/esm/hooks/useQueryFilter/index.js +123 -0
  156. package/dist/esm/hooks/useQueryFilter/index.stories.js +71 -0
  157. package/dist/esm/hooks/useQueryFilter/index.test.js +180 -0
  158. package/dist/esm/index.js +4 -1
  159. package/dist/esm/palette/context.js +5 -1
  160. package/dist/esm/palette/provider.js +5 -1
  161. package/dist/hooks/useQueryFilter/context.d.ts +35 -0
  162. package/dist/hooks/useQueryFilter/context.js +48 -0
  163. package/dist/hooks/useQueryFilter/helpers.d.ts +17 -0
  164. package/dist/hooks/useQueryFilter/helpers.js +64 -0
  165. package/dist/hooks/useQueryFilter/index.d.ts +19 -0
  166. package/dist/hooks/useQueryFilter/index.js +163 -0
  167. package/dist/hooks/useQueryFilter/index.stories.d.ts +4 -0
  168. package/dist/hooks/useQueryFilter/index.stories.js +75 -0
  169. package/dist/hooks/useQueryFilter/index.test.d.ts +1 -0
  170. package/dist/hooks/useQueryFilter/index.test.js +183 -0
  171. package/dist/hooks/useUnupdatableHandler/index.stories.js +1 -2
  172. package/dist/index.d.ts +8 -0
  173. package/dist/index.js +136 -0
  174. package/dist/palette/context.d.ts +4 -0
  175. package/dist/palette/context.js +52 -48
  176. package/dist/palette/provider.js +53 -50
  177. package/dist/palette/usePalette.d.ts +2 -0
  178. package/package.json +2 -1
@@ -0,0 +1,208 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; var r = _regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { "throw": 1, "return": 2, "break": 3, "continue": 3 }; function a(r) { var e, t; return function (n) { e || (e = { stop: function stop() { return t(n.a, 2); }, "catch": function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, _regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally { e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally { n.p = e.prev, n.n = e.next; } }; } return (_regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && o.reverse()); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new _OverloadYield(r, e); }, AsyncIterator: _regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? _regeneratorAsyncGen : _regeneratorAsync)(a(r), e, t, o, u); }, keys: _regeneratorKeys, values: _regeneratorValues }; })(); }
3
+ function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); }
4
+ function _regeneratorKeys(e) { var n = Object(e), r = []; for (var t in n) r.unshift(t); return function e() { for (; r.length;) if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; }
5
+ function _regeneratorAsync(n, e, r, t, o) { var a = _regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function (n) { return n.done ? n.value : a.next(); }); }
6
+ function _regeneratorAsyncGen(r, e, t, o, n) { return new _regeneratorAsyncIterator(_regenerator().w(r, e, t, o), n || Promise); }
7
+ function _regeneratorAsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof _OverloadYield ? e.resolve(u.v).then(function (t) { n("next", t, i, f); }, function (t) { n("throw", t, i, f); }) : e.resolve(u).then(function (t) { c.value = t, i(c); }, function (t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (_regeneratorDefine2(_regeneratorAsyncIterator.prototype), _regeneratorDefine2(_regeneratorAsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function () { return this; })), _regeneratorDefine2(this, "_invoke", function (t, o, i) { function f() { return new e(function (e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); }
8
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
9
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
10
+ function _OverloadYield(e, d) { this.v = e, this.k = d; }
11
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
13
+ 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); }
14
+ /**
15
+ * @jest-environment jsdom
16
+ */
17
+ import React, { act } from 'react';
18
+ import { createRoot } from 'react-dom/client';
19
+ import { WentWrongModal } from '.';
20
+
21
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
23
+ var container;
24
+ var root;
25
+ beforeEach(function () {
26
+ window.matchMedia = jest.fn().mockReturnValue({
27
+ matches: false,
28
+ addEventListener: jest.fn(),
29
+ removeEventListener: jest.fn()
30
+ });
31
+ container = document.createElement('div');
32
+ document.body.appendChild(container);
33
+ root = createRoot(container);
34
+ });
35
+ afterEach(function () {
36
+ act(function () {
37
+ return root.unmount();
38
+ });
39
+ container.remove();
40
+ });
41
+ var render = function render() {
42
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
43
+ return act(function () {
44
+ root.render(/*#__PURE__*/React.createElement(WentWrongModal, _extends({
45
+ isOpen: true,
46
+ onClose: jest.fn(),
47
+ title: "\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
48
+ description: "\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435"
49
+ }, props)));
50
+ });
51
+ };
52
+ describe('WentWrongModal', function () {
53
+ test('рендерит заголовок, описание и контакты поддержки по умолчанию', function () {
54
+ render();
55
+ var dialog = document.querySelector('[role="dialog"]');
56
+ expect(dialog === null || dialog === void 0 ? void 0 : dialog.textContent).toContain('Заголовок');
57
+ expect(dialog === null || dialog === void 0 ? void 0 : dialog.textContent).toContain('Описание');
58
+ var hrefs = Array.from(document.querySelectorAll('a')).map(function (a) {
59
+ return a.getAttribute('href');
60
+ });
61
+ expect(hrefs).toEqual(['tel:+78001007620', 'mailto:c-support@invoicebox.ru']);
62
+ });
63
+ test('показывает ID запроса только когда он передан', function () {
64
+ render();
65
+ expect(document.body.textContent).not.toContain('ID запроса');
66
+ render({
67
+ requestErrorId: 'req-123'
68
+ });
69
+ expect(document.body.textContent).toContain('ID запроса');
70
+ expect(document.body.textContent).toContain('req-123');
71
+ });
72
+ test('контакты и текст кнопки задаются пропами', function () {
73
+ render({
74
+ contacts: [{
75
+ label: 'help@example.com',
76
+ href: 'mailto:help@example.com'
77
+ }],
78
+ closeButtonText: 'Ок'
79
+ });
80
+ var hrefs = Array.from(document.querySelectorAll('a')).map(function (a) {
81
+ return a.getAttribute('href');
82
+ });
83
+ expect(hrefs).toEqual(['mailto:help@example.com']);
84
+ expect(document.body.textContent).toContain('Ок');
85
+ });
86
+ test('Escape и кнопка закрытия вызывают onClose', function () {
87
+ var onClose = jest.fn();
88
+ render({
89
+ onClose: onClose
90
+ });
91
+ act(function () {
92
+ document.dispatchEvent(new KeyboardEvent('keydown', {
93
+ key: 'Escape'
94
+ }));
95
+ });
96
+ expect(onClose).toHaveBeenCalledTimes(1);
97
+ var closeButton = Array.from(document.querySelectorAll('button')).find(function (button) {
98
+ return button.textContent === 'Закрыть';
99
+ });
100
+ act(function () {
101
+ return closeButton === null || closeButton === void 0 ? void 0 : closeButton.click();
102
+ });
103
+ expect(onClose).toHaveBeenCalledTimes(2);
104
+ });
105
+ test('после копирования ID показывает «Скопировано» и через 2 секунды убирает', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
106
+ var writeText, status, idButton;
107
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
108
+ while (1) switch (_context2.prev = _context2.next) {
109
+ case 0:
110
+ jest.useFakeTimers();
111
+ writeText = jest.fn().mockResolvedValue(undefined);
112
+ Object.assign(navigator, {
113
+ clipboard: {
114
+ writeText: writeText
115
+ }
116
+ });
117
+ render({
118
+ requestErrorId: 'req-123'
119
+ });
120
+ status = function status() {
121
+ var _document$querySelect;
122
+ return (_document$querySelect = document.querySelector('[role="status"]')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.textContent;
123
+ };
124
+ expect(status()).toBe('');
125
+ idButton = Array.from(document.querySelectorAll('button')).find(function (button) {
126
+ return button.textContent === 'req-123';
127
+ });
128
+ _context2.next = 9;
129
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
130
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
131
+ while (1) switch (_context.prev = _context.next) {
132
+ case 0:
133
+ idButton === null || idButton === void 0 || idButton.click();
134
+ case 1:
135
+ case "end":
136
+ return _context.stop();
137
+ }
138
+ }, _callee);
139
+ })));
140
+ case 9:
141
+ expect(writeText).toHaveBeenCalledWith('req-123');
142
+ expect(status()).toBe('Скопировано');
143
+ act(function () {
144
+ jest.advanceTimersByTime(2000);
145
+ });
146
+ expect(status()).toBe('');
147
+ jest.useRealTimers();
148
+ case 14:
149
+ case "end":
150
+ return _context2.stop();
151
+ }
152
+ }, _callee2);
153
+ })));
154
+ test('уход курсора с ID сбрасывает «Скопировано»', /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
155
+ var status, idButton;
156
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
157
+ while (1) switch (_context4.prev = _context4.next) {
158
+ case 0:
159
+ Object.assign(navigator, {
160
+ clipboard: {
161
+ writeText: jest.fn().mockResolvedValue(undefined)
162
+ }
163
+ });
164
+ render({
165
+ requestErrorId: 'req-123'
166
+ });
167
+ status = function status() {
168
+ var _document$querySelect2;
169
+ return (_document$querySelect2 = document.querySelector('[role="status"]')) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.textContent;
170
+ };
171
+ idButton = Array.from(document.querySelectorAll('button')).find(function (button) {
172
+ return button.textContent === 'req-123';
173
+ });
174
+ _context4.next = 6;
175
+ return act(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
176
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
177
+ while (1) switch (_context3.prev = _context3.next) {
178
+ case 0:
179
+ idButton === null || idButton === void 0 || idButton.click();
180
+ case 1:
181
+ case "end":
182
+ return _context3.stop();
183
+ }
184
+ }, _callee3);
185
+ })));
186
+ case 6:
187
+ expect(status()).toBe('Скопировано');
188
+ act(function () {
189
+ idButton === null || idButton === void 0 || idButton.dispatchEvent(new MouseEvent('mouseout', {
190
+ bubbles: true,
191
+ relatedTarget: document.body
192
+ }));
193
+ });
194
+ expect(status()).toBe('');
195
+ case 9:
196
+ case "end":
197
+ return _context4.stop();
198
+ }
199
+ }, _callee4);
200
+ })));
201
+ test('закрытое окно ничего не рендерит и не блокирует скролл', function () {
202
+ render({
203
+ isOpen: false
204
+ });
205
+ expect(document.querySelector('[role="dialog"]')).toBeNull();
206
+ expect(document.body.style.overflow).toBe('');
207
+ });
208
+ });
@@ -0,0 +1,15 @@
1
+ import hexToRgba from '../../../utils/hexToRgba';
2
+ export var generateWentWrongModalPalette = function generateWentWrongModalPalette(abstractPalette) {
3
+ return {
4
+ text: abstractPalette.primary,
5
+ // на белом фоне совпадает с grey800 (#868C91) из макета
6
+ description: hexToRgba(abstractPalette.primary, 0.6),
7
+ // на белом фоне ≈ text.secondary (#72777B)
8
+ requestId: hexToRgba(abstractPalette.primary, 0.7),
9
+ headerBg: '#EDF5F8',
10
+ // на белом фоне совпадает с grey700 (#9A9FA3)
11
+ copyIcon: hexToRgba(abstractPalette.primary, 0.5),
12
+ copyButtonBg: abstractPalette.neutralUsual,
13
+ copyValueHoverBg: abstractPalette.neutralHeavy
14
+ };
15
+ };
@@ -0,0 +1,81 @@
1
+ import styled from 'styled-components';
2
+ import { breakpoints } from '../../../breakpoints';
3
+ import { Typography } from '../Typography';
4
+ export var ModalInner = styled.div.withConfig({
5
+ displayName: "styles__ModalInner",
6
+ componentId: "sc-1sxwtvv-0"
7
+ })(["width:624px;color:", ";@media ", "{width:100%;}"], function (_ref) {
8
+ var $palette = _ref.$palette;
9
+ return $palette.text;
10
+ }, breakpoints.md);
11
+ export var Header = styled.div.withConfig({
12
+ displayName: "styles__Header",
13
+ componentId: "sc-1sxwtvv-1"
14
+ })(["height:171px;background:url(", ") no-repeat center bottom,", ";background-size:184px;@media ", "{background-size:163px;}"], function (_ref2) {
15
+ var $image = _ref2.$image;
16
+ return $image;
17
+ }, function (_ref3) {
18
+ var $palette = _ref3.$palette;
19
+ return $palette.headerBg;
20
+ }, breakpoints.sm);
21
+ export var Content = styled.div.withConfig({
22
+ displayName: "styles__Content",
23
+ componentId: "sc-1sxwtvv-2"
24
+ })(["padding:30px;text-align:center;@media ", "{padding:24px 16px 32px;}"], breakpoints.sm);
25
+ export var Title = styled(Typography).withConfig({
26
+ displayName: "styles__Title",
27
+ componentId: "sc-1sxwtvv-3"
28
+ })(["margin-bottom:12px;"]);
29
+ export var Description = styled(Typography).withConfig({
30
+ displayName: "styles__Description",
31
+ componentId: "sc-1sxwtvv-4"
32
+ })(["margin-bottom:24px;color:", ";@media ", "{margin-bottom:16px;}"], function (_ref4) {
33
+ var $palette = _ref4.$palette;
34
+ return $palette.description;
35
+ }, breakpoints.sm);
36
+ export var Contacts = styled.div.withConfig({
37
+ displayName: "styles__Contacts",
38
+ componentId: "sc-1sxwtvv-5"
39
+ })(["display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:", ";@media ", "{flex-direction:column;gap:0;}"], function (_ref5) {
40
+ var $marginBottom = _ref5.$marginBottom;
41
+ return $marginBottom;
42
+ }, breakpoints.sm);
43
+ export var ContactItem = styled.a.withConfig({
44
+ displayName: "styles__ContactItem",
45
+ componentId: "sc-1sxwtvv-6"
46
+ })(["padding:8px 16px 8px 12px;display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;@media ", "{gap:6px;}"], breakpoints.sm);
47
+ export var RequestIdWrapper = styled.div.withConfig({
48
+ displayName: "styles__RequestIdWrapper",
49
+ componentId: "sc-1sxwtvv-7"
50
+ })(["margin-bottom:24px;display:flex;justify-content:center;align-items:center;gap:4px;color:", ";"], function (_ref6) {
51
+ var $palette = _ref6.$palette;
52
+ return $palette.requestId;
53
+ });
54
+ export var CopyText = styled.div.withConfig({
55
+ displayName: "styles__CopyText",
56
+ componentId: "sc-1sxwtvv-8"
57
+ })(["padding:4px 12px;pointer-events:none;"]);
58
+ export var RequestIdValue = styled(Typography).withConfig({
59
+ displayName: "styles__RequestIdValue",
60
+ componentId: "sc-1sxwtvv-9"
61
+ })(["max-width:320px;padding:0;border:none;background:transparent;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;&:is(button){cursor:pointer;}&:is(button):hover{background-color:", ";}@media ", "{max-width:200px;}"], function (_ref7) {
62
+ var $palette = _ref7.$palette;
63
+ return $palette.copyValueHoverBg;
64
+ }, breakpoints.sm);
65
+ export var ButtonCopyCode = styled.button.withConfig({
66
+ displayName: "styles__ButtonCopyCode",
67
+ componentId: "sc-1sxwtvv-10"
68
+ })(["flex-shrink:0;height:24px;width:24px;padding:0;border:none;border-radius:50%;cursor:pointer;color:", ";background:", ";display:flex;justify-content:center;align-items:center;"], function (_ref8) {
69
+ var $palette = _ref8.$palette;
70
+ return $palette.copyIcon;
71
+ }, function (_ref9) {
72
+ var $palette = _ref9.$palette;
73
+ return $palette.copyButtonBg;
74
+ });
75
+ export var CopiedStatus = styled.span.withConfig({
76
+ displayName: "styles__CopiedStatus",
77
+ componentId: "sc-1sxwtvv-11"
78
+ })(["flex-shrink:0;", ""], function (_ref0) {
79
+ var $isVisuallyHidden = _ref0.$isVisuallyHidden;
80
+ return $isVisuallyHidden && "\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0 0 0 0);\n white-space: nowrap;\n border: 0;\n ";
81
+ });
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["disabled", "className", "checked", "disabledText", "label"];
2
2
  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); }
3
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
5
  import React, { useMemo } from 'react';
6
6
  import { Typography } from '../../common/Typography';
7
7
  import { Tooltip } from '../../common/Tooltip';
@@ -10,8 +10,8 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
10
10
  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; }
11
11
  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; } }
12
12
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
13
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
13
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
15
15
  import React, { useCallback, useId, useMemo, useRef, useState } from 'react';
16
16
  import * as S from './stlyes';
17
17
  import { CountryItem } from './components/CountryItem';
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["onChange"];
2
2
  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); }
3
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
5
  import React from 'react';
6
6
  import { CoreCurrencyInput } from '../CoreCurrencyInput';
7
7
  export var CurrencyInputNumber = function CurrencyInputNumber(_ref) {
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["onChange"];
2
2
  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); }
3
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
5
  import React from 'react';
6
6
  import { CoreCurrencyInput } from '../CoreCurrencyInput';
7
7
  export var CurrencyInputString = function CurrencyInputString(_ref) {
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "borderRadius", "hasError", "inFocus", "hasBorder", "isOnlyNumbers", "className", "onChange", "element", "variant", "renderedValue", "useModernStyles", "id"];
2
2
  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); }
3
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
5
  import React, { useCallback, useId } from 'react';
6
6
  import * as S from './styles';
7
7
  import { useComponentPalette } from '../../../palette';
@@ -37,8 +37,8 @@ export var getPureInputStyled = function getPureInputStyled(component) {
37
37
  $hasBorder = _ref9.$hasBorder,
38
38
  $palette = _ref9.$palette;
39
39
  return !$hasBorder ? 'transparent' : $hasError ? $palette.error : $inFocus ? $palette.borderFocus : $palette.border;
40
- }, function (_ref10) {
41
- var $palette = _ref10.$palette;
40
+ }, function (_ref0) {
41
+ var $palette = _ref0.$palette;
42
42
  return $palette.placeholder;
43
43
  }, reducedMotion);
44
44
  };
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["children"];
2
2
  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); }
3
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
5
  import React from 'react';
6
6
  import { getPureInputStyled } from '../PureInput/styles';
7
7
  import styled from 'styled-components';
@@ -1,7 +1,7 @@
1
1
  var _excluded = ["checked", "variant", "label", "onChange", "disabled", "alwaysHighlighted"];
2
2
  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); }
3
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
3
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
5
  import React from 'react';
6
6
  import * as S from './styles';
7
7
  import { INPUT_VARIANT_MAP } from './styles';
@@ -57,22 +57,22 @@ export var StyledInput = styled.input.withConfig({
57
57
  }, function (_ref9) {
58
58
  var $variant = _ref9.$variant;
59
59
  return INPUT_VARIANT_MAP[$variant].circleSize;
60
+ }, function (_ref0) {
61
+ var $palette = _ref0.$palette;
62
+ return $palette.circle;
63
+ }, function (_ref1) {
64
+ var $variant = _ref1.$variant;
65
+ return INPUT_VARIANT_MAP[$variant].leftChecked;
60
66
  }, function (_ref10) {
61
67
  var $palette = _ref10.$palette;
62
- return $palette.circle;
68
+ return $palette.activeBg;
63
69
  }, function (_ref11) {
64
70
  var $variant = _ref11.$variant;
65
- return INPUT_VARIANT_MAP[$variant].leftChecked;
71
+ return INPUT_VARIANT_MAP[$variant].border;
66
72
  }, function (_ref12) {
67
73
  var $palette = _ref12.$palette;
68
- return $palette.activeBg;
69
- }, function (_ref13) {
70
- var $variant = _ref13.$variant;
71
- return INPUT_VARIANT_MAP[$variant].border;
72
- }, function (_ref14) {
73
- var $palette = _ref14.$palette;
74
74
  return $palette.disabledBorder;
75
- }, function (_ref15) {
76
- var $palette = _ref15.$palette;
75
+ }, function (_ref13) {
76
+ var $palette = _ref13.$palette;
77
77
  return $palette.activeBg;
78
78
  }, reducedMotion);
@@ -0,0 +1,40 @@
1
+ import React, { createContext, useContext, useMemo } from 'react';
2
+ export var DEFAULT_PAGE_PARAM_NAME = 'page';
3
+ export var DEFAULT_FIRST_PAGE = 1;
4
+ var QueryFilterContext = /*#__PURE__*/createContext(null);
5
+ /**
6
+ * Подключает `useQueryFilter` к роутеру приложения. Библиотека от роутера не зависит:
7
+ * приложение само передаёт параметры строки запроса и способ их записать.
8
+ *
9
+ * ```tsx
10
+ * const [searchParams, setSearchParams] = useSearchParams();
11
+ * <QueryFilterProvider searchParams={searchParams} setSearchParams={setSearchParams}>
12
+ * ```
13
+ */
14
+ export var QueryFilterProvider = function QueryFilterProvider(_ref) {
15
+ var searchParams = _ref.searchParams,
16
+ setSearchParams = _ref.setSearchParams,
17
+ _ref$pageParamName = _ref.pageParamName,
18
+ pageParamName = _ref$pageParamName === void 0 ? DEFAULT_PAGE_PARAM_NAME : _ref$pageParamName,
19
+ _ref$firstPage = _ref.firstPage,
20
+ firstPage = _ref$firstPage === void 0 ? DEFAULT_FIRST_PAGE : _ref$firstPage,
21
+ children = _ref.children;
22
+ var value = useMemo(function () {
23
+ return {
24
+ searchParams: searchParams,
25
+ setSearchParams: setSearchParams,
26
+ pageParamName: pageParamName,
27
+ firstPage: firstPage
28
+ };
29
+ }, [searchParams, setSearchParams, pageParamName, firstPage]);
30
+ return /*#__PURE__*/React.createElement(QueryFilterContext.Provider, {
31
+ value: value
32
+ }, children);
33
+ };
34
+ export var useQueryFilterContext = function useQueryFilterContext() {
35
+ var context = useContext(QueryFilterContext);
36
+ if (!context) {
37
+ throw new Error('useQueryFilter must be used inside QueryFilterProvider');
38
+ }
39
+ return context;
40
+ };
@@ -0,0 +1,58 @@
1
+ export var DATA_SPLITTER = '!!!';
2
+ var pad = function pad(value) {
3
+ return String(value).padStart(2, '0');
4
+ };
5
+
6
+ /**
7
+ * Дата в строку запроса: локальное время со смещением, `yyyy-MM-dd'T'HH:mm:ssxxx`
8
+ * (например, `2026-10-06T19:16:00+07:00`). Миллисекунды отбрасываются.
9
+ */
10
+ export var formatDateForQuery = function formatDateForQuery(date) {
11
+ var offsetMinutes = -date.getTimezoneOffset();
12
+ var sign = offsetMinutes >= 0 ? '+' : '-';
13
+ var absOffset = Math.abs(offsetMinutes);
14
+ return "".concat(date.getFullYear(), "-").concat(pad(date.getMonth() + 1), "-").concat(pad(date.getDate())) + "T".concat(pad(date.getHours()), ":").concat(pad(date.getMinutes()), ":").concat(pad(date.getSeconds())) + "".concat(sign).concat(pad(Math.floor(absOffset / 60)), ":").concat(pad(absOffset % 60));
15
+ };
16
+
17
+ /** Дата без времени: `yyyy-MM-dd` по местному времени */
18
+ export var formatDateOnlyForQuery = function formatDateOnlyForQuery(date) {
19
+ return "".concat(date.getFullYear(), "-").concat(pad(date.getMonth() + 1), "-").concat(pad(date.getDate()));
20
+ };
21
+ export var getDateOrNullFromQueryString = function getDateOrNullFromQueryString(value) {
22
+ return value ? new Date(value) : null;
23
+ };
24
+ export var getQueryStringFromDateOrNull = function getQueryStringFromDateOrNull(value) {
25
+ return value ? formatDateForQuery(value) : '';
26
+ };
27
+ export var getDateArrOrNullFromQueryString = function getDateArrOrNullFromQueryString(value) {
28
+ if (value) {
29
+ var datesArray = value.split(DATA_SPLITTER).map(function (date) {
30
+ return new Date(date);
31
+ });
32
+ if (datesArray.length === 2) {
33
+ return [datesArray[0], datesArray[1]];
34
+ }
35
+ }
36
+ return null;
37
+ };
38
+ // Диапазон дат хранится в адресе без времени — так он и раньше писался в кабинете
39
+ export var getQueryStringFromDateArrOrNull = function getQueryStringFromDateArrOrNull(value) {
40
+ return value ? value.map(formatDateOnlyForQuery).join(DATA_SPLITTER) : '';
41
+ };
42
+ export var getNumberOrNullFromQueryString = function getNumberOrNullFromQueryString(value) {
43
+ return value ? Number(value) : null;
44
+ };
45
+ export var getQueryStringFromNumberOrNull = function getQueryStringFromNumberOrNull(value) {
46
+ return value ? String(value) : '';
47
+ };
48
+ export var getQueryStringFromArrayString = function getQueryStringFromArrayString(value) {
49
+ return (value === null || value === void 0 ? void 0 : value.join(DATA_SPLITTER)) || '';
50
+ };
51
+ export var getArrayStringsFromQueryString = function getArrayStringsFromQueryString(value) {
52
+ return value ? value.split(DATA_SPLITTER) : undefined;
53
+ };
54
+ export var booleanFromString = function booleanFromString(value) {
55
+ if (value === 'true') return true;
56
+ if (value === 'false') return false;
57
+ return null;
58
+ };