@alphakits/ui 2.3.1 → 2.4.1

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 (219) hide show
  1. package/dist/__internal/utils/index.d.ts +1 -1
  2. package/dist/__internal/utils/index.js +4 -4
  3. package/dist/amount-input/component.js +41 -41
  4. package/dist/avatar/component.js +2 -18
  5. package/dist/badge/component.d.ts +1 -1
  6. package/dist/base-card/component.js +1 -7
  7. package/dist/bottom-sheet/component.d.ts +1 -1
  8. package/dist/bottom-sheet/component.js +9 -13
  9. package/dist/box/component.d.ts +2 -2
  10. package/dist/box/component.js +4 -4
  11. package/dist/button/component.js +9 -9
  12. package/dist/button-arrow/component.js +6 -1
  13. package/dist/calendar/component.d.ts +1 -2
  14. package/dist/calendar/component.js +77 -74
  15. package/dist/calendar/components/days-table/component.js +31 -34
  16. package/dist/calendar/components/header/{/321/201omponent.js → component.js} +3 -12
  17. package/dist/calendar/components/header/index.d.ts +1 -1
  18. package/dist/calendar/components/header/index.js +1 -1
  19. package/dist/calendar/components/months-table/{/321/201omponent.js → component.js} +7 -7
  20. package/dist/calendar/components/months-table/index.d.ts +1 -1
  21. package/dist/calendar/components/months-table/index.js +1 -1
  22. package/dist/calendar/components/select-button/{/321/201omponent.d.ts → component.d.ts} +3 -3
  23. package/dist/calendar/components/select-button/{/321/201omponent.js → component.js} +5 -11
  24. package/dist/calendar/components/select-button/index.d.ts +1 -1
  25. package/dist/calendar/components/select-button/index.js +1 -1
  26. package/dist/calendar/components/years-table/{/321/201omponent.js → component.js} +14 -14
  27. package/dist/calendar/components/years-table/index.d.ts +1 -1
  28. package/dist/calendar/components/years-table/index.js +1 -1
  29. package/dist/calendar/index.d.ts +2 -2
  30. package/dist/calendar/index.js +4 -4
  31. package/dist/calendar/use-calendar.js +51 -47
  32. package/dist/calendar/utils.js +7 -9
  33. package/dist/calendar-input/component.js +22 -22
  34. package/dist/card/component.js +2 -18
  35. package/dist/cell/base/component.js +31 -31
  36. package/dist/cell/pure/component.js +2 -2
  37. package/dist/checkbox/component.js +11 -11
  38. package/dist/checkbox-group/component.js +23 -24
  39. package/dist/checkbox-lists/component.d.ts +1 -2
  40. package/dist/checkbox-lists/component.js +59 -61
  41. package/dist/collapsable-row/addons.d.ts +3 -4
  42. package/dist/collapsable-row/addons.js +6 -9
  43. package/dist/collapsable-row/component.d.ts +1 -1
  44. package/dist/collapsable-row/component.js +7 -7
  45. package/dist/collapse/component.js +45 -54
  46. package/dist/copy-button/component.d.ts +1 -2
  47. package/dist/copy-button/component.js +1 -5
  48. package/dist/date/component.js +1 -1
  49. package/dist/date-switcher/component.d.ts +1 -2
  50. package/dist/date-switcher/component.js +8 -8
  51. package/dist/decorated-item/component.js +10 -20
  52. package/dist/dot/component.js +1 -4
  53. package/dist/empty-page/component.js +1 -9
  54. package/dist/filter-tag/component.d.ts +1 -1
  55. package/dist/flex/component.d.ts +2 -2
  56. package/dist/footer/component.js +57 -53
  57. package/dist/form/component.d.ts +1 -2
  58. package/dist/form/component.js +2 -12
  59. package/dist/form/templates/base-form/index.d.ts +3 -3
  60. package/dist/form/templates/base-form/index.js +26 -26
  61. package/dist/form/templates/filters-form/index.d.ts +1 -1
  62. package/dist/form/templates/filters-form/index.js +20 -23
  63. package/dist/form/templates/rest-form/form.d.ts +1 -2
  64. package/dist/form/templates/rest-form/form.js +77 -80
  65. package/dist/form/templates/rest-form/index.d.ts +3 -3
  66. package/dist/form/templates/rest-form/index.js +16 -27
  67. package/dist/form/utils/get-default-values.js +3 -6
  68. package/dist/form/utils/remove-undefined-from-object.js +1 -3
  69. package/dist/form-control/component.js +1 -1
  70. package/dist/formik/index.d.ts +2 -2
  71. package/dist/header-search/component.js +1 -6
  72. package/dist/hooks/index.d.ts +2 -2
  73. package/dist/hooks/index.js +10 -10
  74. package/dist/hooks/use-get-one/index.js +16 -16
  75. package/dist/icon-button/component.d.ts +3 -3
  76. package/dist/icon-button/component.js +2 -8
  77. package/dist/image/component.js +52 -30
  78. package/dist/image/image-base.js +1 -7
  79. package/dist/image/use-image-render-component.d.ts +1 -1
  80. package/dist/image/use-image-render-component.js +11 -14
  81. package/dist/image-gallery/component.js +40 -45
  82. package/dist/image-uploader/component.js +56 -53
  83. package/dist/index.js +41 -41
  84. package/dist/info-block-wrapper/component.d.ts +1 -1
  85. package/dist/input/component.js +1 -1
  86. package/dist/input-autocomplete/autocomplete-field/index.d.ts +1 -2
  87. package/dist/input-autocomplete/autocomplete-field/index.js +6 -6
  88. package/dist/input-autocomplete/component.d.ts +26 -26
  89. package/dist/input-ghost/component.d.ts +1 -1
  90. package/dist/link/component.d.ts +2 -2
  91. package/dist/link/component.js +1 -1
  92. package/dist/loader/component.js +6 -5
  93. package/dist/masked-input/component.js +7 -16
  94. package/dist/menu/component.js +12 -17
  95. package/dist/menu/components/content-header/index.js +1 -9
  96. package/dist/menu/components/menu-avatar/index.js +1 -6
  97. package/dist/menu/components/menu-button/index.js +1 -10
  98. package/dist/menu/components/menu-buttons-list/index.d.ts +1 -1
  99. package/dist/menu/components/menu-buttons-list/index.js +1 -7
  100. package/dist/menu/hooks/use-menu.js +12 -12
  101. package/dist/message/component.js +33 -14
  102. package/dist/modal/components/modals/modal.d.ts +1 -2
  103. package/dist/modal/components/modals/modal.js +30 -33
  104. package/dist/modal/context.js +12 -9
  105. package/dist/modal/hooks/use-modal.d.ts +1 -1
  106. package/dist/modal/hooks/use-modal.js +22 -22
  107. package/dist/mq/component.js +1 -6
  108. package/dist/notification/component.js +14 -12
  109. package/dist/page-container/component.js +1 -6
  110. package/dist/page-loading/component.d.ts +1 -2
  111. package/dist/page-with-controls/component.js +4 -7
  112. package/dist/picker-button/common/labeled-button/index.js +18 -12
  113. package/dist/picker-button/component.js +5 -5
  114. package/dist/picker-button/field/{Component.d.ts → component.d.ts} +1 -2
  115. package/dist/picker-button/field/index.d.ts +1 -1
  116. package/dist/picker-button/field/index.js +1 -1
  117. package/dist/picker-button/index.d.ts +1 -1
  118. package/dist/picker-button/index.js +4 -4
  119. package/dist/popover/component.d.ts +2 -2
  120. package/dist/popover/component.js +77 -79
  121. package/dist/radio/component.js +7 -7
  122. package/dist/radio-groups/component.d.ts +1 -2
  123. package/dist/radio-groups/component.js +9 -7
  124. package/dist/select/component.d.ts +8 -9
  125. package/dist/select/component.js +1 -9
  126. package/dist/select/components/arrow/component.d.ts +1 -2
  127. package/dist/select/components/base-select/component.js +97 -90
  128. package/dist/select/components/checkmark/component.d.ts +1 -2
  129. package/dist/select/components/field/component.d.ts +1 -2
  130. package/dist/select/components/field/component.js +8 -5
  131. package/dist/select/components/native-select/component.js +4 -11
  132. package/dist/select/components/optgroup/component.d.ts +1 -2
  133. package/dist/select/components/optgroup/component.js +4 -4
  134. package/dist/select/components/option/component.js +1 -1
  135. package/dist/select/components/options-list/component.d.ts +1 -2
  136. package/dist/select/components/options-list/component.js +25 -23
  137. package/dist/select/components/select-search/index.d.ts +1 -1
  138. package/dist/select/components/select-search/index.js +28 -26
  139. package/dist/select/components/virtual-options-list/component.d.ts +1 -2
  140. package/dist/select/components/virtual-options-list/component.js +52 -45
  141. package/dist/select/index.js +4 -4
  142. package/dist/select/presets/index.d.ts +1 -1
  143. package/dist/select/presets/index.js +4 -4
  144. package/dist/select/presets/use-lazy-loading/index.d.ts +3 -4
  145. package/dist/select/presets/use-lazy-loading/index.js +45 -43
  146. package/dist/select/presets/use-select-with-loading/hook.d.ts +1 -2
  147. package/dist/select/presets/use-select-with-loading/hook.js +8 -1
  148. package/dist/select/utils.js +32 -32
  149. package/dist/sidepanel/component.js +21 -15
  150. package/dist/sidepanel-header/component.js +17 -16
  151. package/dist/skeleton/component.js +4 -4
  152. package/dist/space/component.d.ts +2 -2
  153. package/dist/space/component.js +42 -45
  154. package/dist/space/{Item.d.ts → item.d.ts} +2 -2
  155. package/dist/spinner/component.js +6 -5
  156. package/dist/stack/index.d.ts +1 -1
  157. package/dist/stack/index.js +5 -5
  158. package/dist/stepped-progress-bar/components/step-bar.js +3 -3
  159. package/dist/stepped-progress-bar/index.d.ts +2 -2
  160. package/dist/stepped-progress-bar/index.js +37 -22
  161. package/dist/sticker/component.js +1 -17
  162. package/dist/suffix-input/component.js +13 -13
  163. package/dist/switch/component.js +7 -7
  164. package/dist/table/components/cells/index.d.ts +1 -2
  165. package/dist/table/components/empty-list/index.d.ts +3 -3
  166. package/dist/table/components/empty-list/index.js +6 -3
  167. package/dist/table/components/error/index.d.ts +3 -3
  168. package/dist/table/components/error/index.js +8 -5
  169. package/dist/table/components/loading/index.d.ts +1 -1
  170. package/dist/table/components/loading/index.js +18 -12
  171. package/dist/table/components/pagination/index.js +56 -53
  172. package/dist/table/components/table-header/index.js +59 -56
  173. package/dist/table/hooks/use-table-data.js +64 -59
  174. package/dist/table/table.d.ts +1 -1
  175. package/dist/table/table.js +80 -80
  176. package/dist/table/types.d.ts +3 -3
  177. package/dist/table/utils/get-query-from-url.js +1 -8
  178. package/dist/table/utils/get-tags.d.ts +1 -1
  179. package/dist/table/utils/get-tags.js +9 -12
  180. package/dist/table/utils/index.d.ts +1 -1
  181. package/dist/table/utils/index.js +4 -4
  182. package/dist/table/utils/parse-query-params.js +5 -1
  183. package/dist/table/utils/prepare-rows.d.ts +1 -2
  184. package/dist/table/utils/prepare-rows.js +4 -3
  185. package/dist/table/utils/query-adapter.d.ts +1 -1
  186. package/dist/table/utils/query-adapter.js +5 -5
  187. package/dist/table/utils/remove-query-param.js +3 -1
  188. package/dist/table/utils/reset-query-param.js +16 -9
  189. package/dist/table-status/component.js +5 -1
  190. package/dist/textarea/component.js +36 -28
  191. package/dist/theme-provider/component.js +33 -29
  192. package/dist/toast/component.d.ts +7 -8
  193. package/dist/toast/component.js +6 -6
  194. package/dist/toast-notifier/component.js +13 -13
  195. package/dist/toast-notifier/use-timer.d.ts +1 -1
  196. package/dist/toast-notifier/use-timer.js +5 -5
  197. package/dist/toast-plate/component.d.ts +3 -3
  198. package/dist/toast-plate/component.js +7 -7
  199. package/dist/tooltip/component.js +35 -35
  200. package/dist/tooltip/node-resolver.js +7 -7
  201. package/dist/typings/api.d.ts +3 -5
  202. package/dist/typography/colors.d.ts +1 -1
  203. package/dist/typography/title/component.d.ts +3 -3
  204. package/dist/typography/title/index.d.ts +1 -1
  205. package/dist/typography/title/index.js +3 -3
  206. package/dist/utils/date/index.js +12 -2
  207. package/dist/utils/index.d.ts +2 -2
  208. package/dist/utils/index.js +14 -14
  209. package/dist/utils/split-amount/util.js +4 -4
  210. package/dist/with-suffix/component.d.ts +13 -13
  211. package/dist/with-suffix/component.js +8 -8
  212. package/package.json +9 -34
  213. /package/dist/__internal/utils/{getDataTestId.d.ts → get-data-test-id.d.ts} +0 -0
  214. /package/dist/__internal/utils/{getDataTestId.js → get-data-test-id.js} +0 -0
  215. /package/dist/calendar/components/header/{/321/201omponent.d.ts" → component.d.ts} +0 -0
  216. /package/dist/calendar/components/months-table/{/321/201omponent.d.ts" → component.d.ts} +0 -0
  217. /package/dist/calendar/components/years-table/{/321/201omponent.d.ts" → component.d.ts} +0 -0
  218. /package/dist/picker-button/field/{Component.js → component.js} +0 -0
  219. /package/dist/space/{Item.js → item.js} +0 -0
@@ -1,15 +1,21 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import t, { memo as a } from "react";
3
- import e from "classnames";
4
- import { TableCell as l } from "../cell/component.js";
5
- import m from "./index.module.css.js";
6
- const f = a(({ columnsLength: o }) => /* @__PURE__ */ r(t.Fragment, { children: new Array(5).fill(1).map(() => /* @__PURE__ */ r("tr", { className: e(m.row, m.tr), children: new Array(o).fill(1).map(() => /* @__PURE__ */ r(l, { children: /* @__PURE__ */ r(
7
- "div",
8
- {
9
- className: m.td,
10
- style: { width: `${Math.floor(Math.random() * 51) + 50}%` }
11
- }
12
- ) })) })) }));
2
+ import l from "classnames";
3
+ import s, { memo as c, useMemo as i } from "react";
4
+ import { TableCell as n } from "../cell/component.js";
5
+ import t from "./index.module.css.js";
6
+ const d = ["r1", "r2", "r3", "r4", "r5"], M = c(({ columnsLength: e }) => {
7
+ const a = i(
8
+ () => Array.from({ length: e }, (o, m) => `col-${m + 1}`),
9
+ [e]
10
+ );
11
+ return /* @__PURE__ */ r(s.Fragment, { children: d.map((o) => /* @__PURE__ */ r("tr", { className: l(t.row, t.tr), children: a.map((m) => /* @__PURE__ */ r(n, { children: /* @__PURE__ */ r(
12
+ "div",
13
+ {
14
+ className: t.td,
15
+ style: { width: `${Math.floor(Math.random() * 51) + 50}%` }
16
+ }
17
+ ) }, `${o}-${m}`)) }, o)) });
18
+ });
13
19
  export {
14
- f as Loading
20
+ M as Loading
15
21
  };
@@ -1,89 +1,92 @@
1
- import { jsxs as d, jsx as s } from "react/jsx-runtime";
1
+ import { jsxs as r, jsx as s } from "react/jsx-runtime";
2
2
  import f from "@alphakits/icons/dist/ChevronForwardS";
3
- import m from "classnames";
3
+ import d from "classnames";
4
4
  import { Button as h } from "../../../button/component.js";
5
- import { Typography as g } from "../../../typography/component.js";
6
- import { translate as b } from "../../languages/index.js";
5
+ import { Typography as m } from "../../../typography/component.js";
6
+ import { translate as y } from "../../languages/index.js";
7
7
  import i from "./index.module.css.js";
8
- function N(r, o) {
9
- const p = r - 2, c = r + 2 + 1, l = [], a = [];
10
- let n = 0;
8
+ function b(p, o) {
9
+ const g = p - 2, c = p + 2 + 1, a = [], n = [];
10
+ let l = 0;
11
11
  for (let e = 1; e <= o; e++)
12
- (e === 1 || e === o || e >= p && e < c) && l.push(e);
13
- return l.forEach((e) => {
14
- n && (e - n === 2 ? a.push(n + 1) : e - n !== 1 && a.push("...")), a.push(e), n = e;
15
- }), a;
12
+ (e === 1 || e === o || e >= g && e < c) && a.push(e);
13
+ return a.forEach((e) => {
14
+ l && (e - l === 2 ? n.push({ key: `page-${l + 1}`, type: "page", page: l + 1 }) : e - l !== 1 && n.push({ key: `ellipsis-${l}-${e}`, type: "ellipsis" })), n.push({ key: `page-${e}`, type: "page", page: e }), l = e;
15
+ }), n;
16
16
  }
17
- const j = ({
18
- pagesCount: r,
17
+ const T = ({
18
+ pagesCount: p,
19
19
  currentPage: o,
20
20
  recordsPerPage: v = 30,
21
- total: p,
21
+ total: g,
22
22
  language: c,
23
- addParam: l
23
+ addParam: a
24
24
  }) => {
25
- const a = N(o, r), n = o === 1, e = o === r;
26
- return /* @__PURE__ */ d("div", { className: i.pagination_wrap, children: [
27
- /* @__PURE__ */ d("div", { className: i.pages_info, children: [
28
- /* @__PURE__ */ s(g.Text, { view: "title", weight: "medium", color: "secondary", children: b(c)("totalCount") }),
29
- /* @__PURE__ */ s(g.Text, { view: "title", weight: "medium", color: "primary", children: p })
25
+ const n = b(o, p), l = o === 1, e = o === p;
26
+ return /* @__PURE__ */ r("div", { className: i.pagination_wrap, children: [
27
+ /* @__PURE__ */ r("div", { className: i.pages_info, children: [
28
+ /* @__PURE__ */ s(m.Text, { view: "title", weight: "medium", color: "secondary", children: y(c)("totalCount") }),
29
+ /* @__PURE__ */ s(m.Text, { view: "title", weight: "medium", color: "primary", children: g })
30
30
  ] }),
31
- /* @__PURE__ */ s("div", { className: i.pagination_center, children: a.length > 1 && /* @__PURE__ */ d("div", { className: i.pagination, children: [
31
+ /* @__PURE__ */ s("div", { className: i.pagination_center, children: n.length > 1 && /* @__PURE__ */ r("div", { className: i.pagination, children: [
32
32
  /* @__PURE__ */ s(
33
33
  h,
34
34
  {
35
- className: m(i.prev_btn, i.btn, { [i.disabled_btn]: n }),
35
+ className: d(i.prev_btn, i.btn, {
36
+ [i.disabled_btn]: l
37
+ }),
36
38
  leftAddons: /* @__PURE__ */ s(f, {}),
37
39
  view: "ghost",
38
- onClick: () => l({ page: o - 1 }),
39
- disabled: n
40
+ onClick: () => a({ page: o - 1 }),
41
+ disabled: l
40
42
  }
41
43
  ),
42
- a.map((t, w) => Number.isFinite(t) ? /* @__PURE__ */ s(
43
- h,
44
- {
45
- className: m(
46
- i.pagination_btn,
47
- { [i.active]: t === o }
48
- ),
49
- size: "xs",
50
- view: "ghost",
51
- onClick: () => l({ page: t }),
52
- children: t
53
- },
54
- t
55
- ) : /* @__PURE__ */ s(
56
- h,
57
- {
58
- className: m(i.pagination_btn),
59
- view: "ghost",
60
- disabled: !0,
61
- children: "..."
62
- },
63
- t + w
64
- )),
44
+ n.map(
45
+ (t) => t.type === "page" ? /* @__PURE__ */ s(
46
+ h,
47
+ {
48
+ className: d(i.pagination_btn, {
49
+ [i.active]: t.page === o
50
+ }),
51
+ size: "xs",
52
+ view: "ghost",
53
+ onClick: () => a({ page: t.page }),
54
+ children: t.page
55
+ },
56
+ t.key
57
+ ) : /* @__PURE__ */ s(
58
+ h,
59
+ {
60
+ className: d(i.pagination_btn),
61
+ view: "ghost",
62
+ disabled: !0,
63
+ children: "..."
64
+ },
65
+ t.key
66
+ )
67
+ ),
65
68
  /* @__PURE__ */ s(
66
69
  h,
67
70
  {
68
- className: m(i.btn, { [i.disabled_btn]: e }),
71
+ className: d(i.btn, { [i.disabled_btn]: e }),
69
72
  leftAddons: /* @__PURE__ */ s(f, {}),
70
73
  view: "ghost",
71
74
  onClick: () => {
72
- l({ page: o + 1 });
75
+ a({ page: o + 1 });
73
76
  },
74
77
  disabled: e
75
78
  }
76
79
  )
77
80
  ] }) }),
78
- /* @__PURE__ */ d("div", { className: i.select_wrap, children: [
79
- /* @__PURE__ */ s(g.Text, { view: "title", weight: "medium", color: "secondary", children: b(c)("resultsOnPage") }),
81
+ /* @__PURE__ */ r("div", { className: i.select_wrap, children: [
82
+ /* @__PURE__ */ s(m.Text, { view: "title", weight: "medium", color: "secondary", children: y(c)("resultsOnPage") }),
80
83
  /* @__PURE__ */ s(
81
84
  "select",
82
85
  {
83
86
  value: v,
84
87
  className: i.select,
85
88
  onChange: (t) => {
86
- l({ page: 1, limit: t.target.value });
89
+ a({ page: 1, limit: t.target.value });
87
90
  },
88
91
  children: [5, 10, 20, 30, 40, 50].map((t) => /* @__PURE__ */ s("option", { value: t, children: t }, t))
89
92
  }
@@ -92,5 +95,5 @@ const j = ({
92
95
  ] });
93
96
  };
94
97
  export {
95
- j as Pagination
98
+ T as Pagination
96
99
  };
@@ -1,87 +1,90 @@
1
- import { jsxs as n, jsx as t, Fragment as F } from "react/jsx-runtime";
2
- import { useState as f, useEffect as p, useRef as R, useCallback as h } from "react";
3
- import $ from "@alphakits/icons/dist/ControllerS";
4
- import A from "@alphakits/icons/dist/PlusS";
5
- import { useDebounce as B } from "rooks";
6
- import E from "classnames";
7
- import { Button as b } from "../../../button/component.js";
8
- import { Flex as H } from "../../../flex/component.js";
9
- import { HeaderSearch as I } from "../../../header-search/component.js";
10
- import { translate as P } from "../../languages/index.js";
1
+ import { jsxs as n, jsx as t } from "react/jsx-runtime";
2
+ import R from "@alphakits/icons/dist/ControllerS";
3
+ import $ from "@alphakits/icons/dist/PlusS";
4
+ import A from "classnames";
5
+ import { useState as h, useEffect as b, useRef as B, useCallback as v } from "react";
6
+ import { useDebounce as E } from "rooks";
7
+ import { Button as g } from "../../../button/component.js";
8
+ import { Flex as F } from "../../../flex/component.js";
9
+ import { HeaderSearch as H } from "../../../header-search/component.js";
10
+ import { translate as I } from "../../languages/index.js";
11
11
  import r from "./index.module.css.js";
12
- const W = ({
13
- tags: l,
14
- searchPlaceholder: g = "Type something..",
12
+ const U = ({
13
+ tags: a,
14
+ searchPlaceholder: C = "Type something..",
15
15
  searchText: o,
16
- hideSearch: v,
17
- compact: C = !1,
18
- rightHeaderAddons: x,
16
+ hideSearch: x,
17
+ compact: S = !1,
18
+ rightHeaderAddons: V,
19
19
  leftHeaderAddons: c,
20
- addParam: S,
21
- onCreateClick: i,
22
- onFiltersClick: V,
23
- createButtonLabel: y,
24
- showFiltersButton: N,
25
- filtersButtonLabel: j,
26
- language: D
20
+ addParam: i,
21
+ onCreateClick: m,
22
+ onFiltersClick: y,
23
+ createButtonLabel: N,
24
+ showFiltersButton: j,
25
+ filtersButtonLabel: D,
26
+ language: k
27
27
  }) => {
28
- const [k, m] = f(o ?? ""), [d, u] = f(o ?? "");
29
- p(() => {
28
+ const [w, u] = h(o ?? ""), [d, f] = h(o ?? "");
29
+ b(() => {
30
30
  const e = `${o ?? ""}`;
31
- s.current = e.trim(), m(e), u(e);
31
+ s.current = e.trim(), u(e), f(e);
32
32
  }, [o]);
33
- const w = B((e) => u(e), 500), s = R("");
34
- p(() => {
33
+ const p = E((e) => f(e), 500), s = B("");
34
+ b(() => {
35
35
  const e = `${d || ""}`.trim();
36
- s.current !== e && (S({ searchText: e, page: 1 }), s.current = e);
37
- }, [d]);
38
- const a = h((e) => {
39
- m(e), w(e);
40
- }, []), z = h(() => {
41
- a("");
42
- }, [a]);
43
- return /* @__PURE__ */ n("div", { className: E(r.table_header, { [r.compact]: C }), children: [
36
+ s.current !== e && (i({ searchText: e, page: 1 }), s.current = e);
37
+ }, [d, i]);
38
+ const l = v(
39
+ (e) => {
40
+ u(e), p(e);
41
+ },
42
+ [p]
43
+ ), z = v(() => {
44
+ l("");
45
+ }, [l]);
46
+ return /* @__PURE__ */ n("div", { className: A(r.table_header, { [r.compact]: S }), children: [
44
47
  /* @__PURE__ */ n("div", { className: r.actions, children: [
45
- /* @__PURE__ */ n(H, { justify: "start", gap: "md", children: [
46
- !v && /* @__PURE__ */ t(
47
- I,
48
+ /* @__PURE__ */ n(F, { justify: "start", gap: "md", children: [
49
+ !x && /* @__PURE__ */ t(
50
+ H,
48
51
  {
49
- value: k,
50
- onChange: a,
52
+ value: w,
53
+ onChange: l,
51
54
  onClear: z,
52
- placeholder: g
55
+ placeholder: C
53
56
  }
54
57
  ),
55
- c && /* @__PURE__ */ t(F, { children: c })
58
+ c && c
56
59
  ] }),
57
60
  /* @__PURE__ */ n("div", { className: r.buttons, children: [
58
- x,
59
- !!i && /* @__PURE__ */ t(
60
- b,
61
+ V,
62
+ !!m && /* @__PURE__ */ t(
63
+ g,
61
64
  {
62
65
  dataTestId: "createbtn",
63
- onClick: i,
66
+ onClick: m,
64
67
  view: "primary",
65
- leftAddons: /* @__PURE__ */ t(A, {}),
68
+ leftAddons: /* @__PURE__ */ t($, {}),
66
69
  size: "xs",
67
- children: y || P(D)("create")
70
+ children: N || I(k)("create")
68
71
  }
69
72
  ),
70
- N && /* @__PURE__ */ t(
71
- b,
73
+ j && /* @__PURE__ */ t(
74
+ g,
72
75
  {
73
- leftAddons: /* @__PURE__ */ t($, {}),
74
- onClick: V,
76
+ leftAddons: /* @__PURE__ */ t(R, {}),
77
+ onClick: y,
75
78
  view: "outlined",
76
79
  size: "xs",
77
- children: j
80
+ children: D
78
81
  }
79
82
  )
80
83
  ] })
81
84
  ] }),
82
- !!l.length && /* @__PURE__ */ t("div", { className: r.tags, children: l })
85
+ !!a.length && /* @__PURE__ */ t("div", { className: r.tags, children: a })
83
86
  ] });
84
87
  };
85
88
  export {
86
- W as TableHeader
89
+ U as TableHeader
87
90
  };
@@ -1,18 +1,18 @@
1
- import { useState as u, useCallback as y, useEffect as h } from "react";
2
- import { addQueryParam as z } from "../utils/add-query-param.js";
3
- import { getQueryFromUrl as I } from "../utils/get-query-from-url.js";
1
+ import { useState as u, useCallback as c, useEffect as b } from "react";
2
+ import { addQueryParam as I } from "../utils/add-query-param.js";
3
+ import { getQueryFromUrl as R } from "../utils/get-query-from-url.js";
4
4
  import "query-string";
5
- import { removeQueryParam as R } from "../utils/remove-query-param.js";
6
- import { resetQueryParam as V } from "../utils/reset-query-param.js";
7
- import { serializeData as D } from "../utils/serialize-data.js";
8
- const w = {
5
+ import { removeQueryParam as V } from "../utils/remove-query-param.js";
6
+ import { resetQueryParam as Y } from "../utils/reset-query-param.js";
7
+ import { serializeData as v } from "../utils/serialize-data.js";
8
+ const A = {
9
9
  page: 1,
10
10
  limit: 10,
11
11
  where: {}
12
12
  // остальное добавится по мере нужды (searchText, sort, order и т.д.)
13
13
  };
14
- function b(c, s) {
15
- const r = c ?? w, a = {
14
+ function E(f, s) {
15
+ const r = f ?? A, a = {
16
16
  ...r,
17
17
  ...s,
18
18
  where: {
@@ -22,91 +22,96 @@ function b(c, s) {
22
22
  };
23
23
  return a.page && (a.page = +a.page), a.limit && (a.limit = +a.limit), a;
24
24
  }
25
- function K({ promise: c, records: s, fromPath: r = !0 }) {
26
- const [a, A] = u([]), [v, g] = u(!0), [E, d] = u(!1), [C, L] = u(0), [P, S] = u(1), [i, f] = u(void 0), Q = y(
27
- (t) => r ? I() : t ?? i ?? w,
28
- [r, i]
29
- ), n = y(
25
+ function M({ promise: f, records: s, fromPath: r = !0 }) {
26
+ const [a, Q] = u([]), [C, w] = u(!0), [L, d] = u(!1), [S, T] = u(0), [U, q] = u(1), [i, y] = u(void 0), m = c(
27
+ (t) => r ? R() : t ?? i ?? A,
28
+ // params не включаем при fromPath: иначе setParams на каждом fetch
29
+ // даёт новую ссылку → computeQuery/updateData меняются → бесконечный цикл.
30
+ r ? [r] : [r, i]
31
+ ), n = c(
30
32
  async (t) => {
31
- const e = Q(t);
32
- if (Array.isArray(s) && (g(!1), A(D(s, e))), f(e), c) {
33
- d(!1), g(!0);
33
+ const e = m(t);
34
+ if (Array.isArray(s) && (w(!1), Q(v(s, e))), r || y(e), f) {
35
+ d(!1), w(!0);
34
36
  try {
35
37
  const {
36
- data: { items: o, meta: m }
37
- } = await c(e);
38
- L(m.totalItems), S(m.totalPages), A(o || []);
38
+ data: { items: o, meta: g }
39
+ } = await f(e);
40
+ T(g.totalItems), q(g.totalPages), Q(o || []);
39
41
  } catch {
40
42
  d(!0);
41
43
  } finally {
42
- g(!1);
44
+ w(!1);
43
45
  }
44
46
  }
45
47
  },
46
- [Q, s, c]
47
- ), T = y(
48
+ [m, s, f]
49
+ ), F = c(
48
50
  (t) => {
49
51
  if (r) {
50
- z(t), n();
52
+ I(t), n();
51
53
  return;
52
54
  }
53
- const e = b(i, t);
54
- f(e), n(e);
55
+ const e = E(i, t);
56
+ y(e), n(e);
55
57
  },
56
58
  [r, i, n]
57
- ), U = (t, e, o) => {
58
- const m = t ?? w, l = {
59
- ...m,
60
- where: { ...m.where ?? {} }
61
- }, p = l.where?.[e];
62
- if (Array.isArray(p) && o != null) {
63
- const x = p.filter((k) => String(k) !== String(o));
64
- x.length ? l.where[e] = x : delete l.where[e];
65
- } else
66
- l.where && e in l.where && delete l.where[e];
67
- return l;
68
- }, q = y(
59
+ ), p = c(
60
+ (t, e, o) => {
61
+ const g = t ?? A, l = {
62
+ ...g,
63
+ where: { ...g.where ?? {} }
64
+ }, x = l.where?.[e];
65
+ if (Array.isArray(x) && o != null) {
66
+ const D = x.filter((z) => String(z) !== String(o));
67
+ D.length ? l.where[e] = D : delete l.where[e];
68
+ } else
69
+ l.where && e in l.where && delete l.where[e];
70
+ return l;
71
+ },
72
+ []
73
+ ), h = c(
69
74
  (t, e) => {
70
75
  if (r) {
71
- R(t, e), n();
76
+ V(t, e), n();
72
77
  return;
73
78
  }
74
- const o = U(i, t, e);
75
- f(o), n(o);
79
+ const o = p(i, t, e);
80
+ y(o), n(o);
76
81
  },
77
- [r, i, n]
78
- ), F = y(
82
+ [r, i, n, p]
83
+ ), k = c(
79
84
  (t) => {
80
85
  if (r) {
81
- V(t), n();
86
+ Y(t), n();
82
87
  return;
83
88
  }
84
- const e = b(w, t);
85
- f(e), n(e);
89
+ const e = E(A, t);
90
+ y(e), n(e);
86
91
  },
87
92
  [r, n]
88
93
  );
89
- return h(() => {
94
+ return b(() => {
90
95
  n();
91
- }, []), h(() => {
96
+ }, [n]), b(() => {
92
97
  if (Array.isArray(s)) {
93
- const t = Q();
94
- f(t), g(!1), A(D(s, t));
98
+ const t = m();
99
+ r || y(t), w(!1), Q(v(s, t));
95
100
  }
96
- }, [s]), {
97
- loading: v,
98
- error: E,
101
+ }, [s, m]), {
102
+ loading: C,
103
+ error: L,
99
104
  data: a,
100
- total: C,
105
+ total: S,
101
106
  params: i,
102
- pagesCount: P,
107
+ pagesCount: U,
103
108
  updateData: n,
104
109
  // НОВОЕ: наружу отдаём универсальные методы для управления параметрами
105
- addParam: T,
106
- removeParam: q,
107
- resetParams: F
110
+ addParam: F,
111
+ removeParam: h,
112
+ resetParams: k
108
113
  };
109
114
  }
110
115
  export {
111
- K as useTableData
116
+ M as useTableData
112
117
  };
@@ -35,5 +35,5 @@ export type TableProps<T extends object> = Records<T> & {
35
35
  language: 'de' | 'ru' | 'en';
36
36
  fromPath?: boolean;
37
37
  } & FiltersButton;
38
- export declare function Table<T extends object>({ columns, searchPlaceholder, records, hideSearch, rightHeaderAddons, leftHeaderAddons, filtersButtonLabel, createButtonLabel, loading, height, view, tagsBuilder, promise, onRowClick, onCreateClick, onFiltersClick, refetch, language, fromPath, }: TableProps<T>): React.JSX.Element;
38
+ export declare function Table<T extends object>({ columns, searchPlaceholder, records, hideSearch, rightHeaderAddons, leftHeaderAddons, filtersButtonLabel, createButtonLabel, loading, height, view, tagsBuilder, promise, onRowClick, onCreateClick, onFiltersClick, refetch, language, fromPath, }: TableProps<T>): import("react/jsx-runtime").JSX.Element;
39
39
  export {};