@ryuzaki13/react-foundation-ui 1.5.10 → 1.5.11

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 (107) hide show
  1. package/dist/advanced-search/index.js +182 -148
  2. package/dist/advanced-search/index.js.map +1 -1
  3. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts +1 -1
  4. package/dist/advanced-search/model/useAdvancedSearchSelection.d.ts.map +1 -1
  5. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts +12 -3
  6. package/dist/advanced-search/ui/AdvancedSearchModal.d.ts.map +1 -1
  7. package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts +15 -0
  8. package/dist/advanced-search/ui/AdvancedSearchModalSession.d.ts.map +1 -0
  9. package/dist/advanced-search/ui/AdvancedSearchSelect.d.ts.map +1 -1
  10. package/dist/badge/index.js +1 -1
  11. package/dist/base-table/index.js +1 -1
  12. package/dist/button/index.js +1 -1
  13. package/dist/check-box/index.js +1 -1
  14. package/dist/chunks/{CalendarView-BSshXZAX.js → CalendarView-DqA-PbAU.js} +42 -42
  15. package/dist/chunks/{CalendarView-BSshXZAX.js.map → CalendarView-DqA-PbAU.js.map} +1 -1
  16. package/dist/chunks/{ImageViewerRuntime-BMs3BBkV.js → ImageViewerRuntime-HGBWp9NM.js} +18 -18
  17. package/dist/chunks/{ImageViewerRuntime-BMs3BBkV.js.map → ImageViewerRuntime-HGBWp9NM.js.map} +1 -1
  18. package/dist/chunks/{TextEditorLexicalClient-CLjpATRu.js → TextEditorLexicalClient-B084kVzu.js} +322 -322
  19. package/dist/chunks/{TextEditorLexicalClient-CLjpATRu.js.map → TextEditorLexicalClient-B084kVzu.js.map} +1 -1
  20. package/dist/chunks/{badge-CaooZXYD.js → badge-DMM8cOHd.js} +16 -16
  21. package/dist/chunks/{badge-CaooZXYD.js.map → badge-DMM8cOHd.js.map} +1 -1
  22. package/dist/chunks/{base-table-fUJY__6M.js → base-table-CJdKCKhb.js} +125 -125
  23. package/dist/chunks/{base-table-fUJY__6M.js.map → base-table-CJdKCKhb.js.map} +1 -1
  24. package/dist/chunks/{button-C--u7uJj.js → button-CzUO5rzq.js} +17 -17
  25. package/dist/chunks/{button-C--u7uJj.js.map → button-CzUO5rzq.js.map} +1 -1
  26. package/dist/chunks/{check-box-BZiEBR9c.js → check-box-sfGjYczQ.js} +11 -11
  27. package/dist/chunks/{check-box-BZiEBR9c.js.map → check-box-sfGjYczQ.js.map} +1 -1
  28. package/dist/chunks/{context-menu-XZ-e0f6_.js → context-menu-6nJkPmKV.js} +83 -83
  29. package/dist/chunks/{context-menu-XZ-e0f6_.js.map → context-menu-6nJkPmKV.js.map} +1 -1
  30. package/dist/chunks/date-input-9T8AoG5U.js +341 -0
  31. package/dist/chunks/{date-input-Dr5QNVT6.js.map → date-input-9T8AoG5U.js.map} +1 -1
  32. package/dist/chunks/{input-BNszawm6.js → input-VC8jEoTa.js} +37 -37
  33. package/dist/chunks/{input-BNszawm6.js.map → input-VC8jEoTa.js.map} +1 -1
  34. package/dist/chunks/{input-files-DxLVr2PF.js → input-files-CoMjadk7.js} +22 -22
  35. package/dist/chunks/{input-files-DxLVr2PF.js.map → input-files-CoMjadk7.js.map} +1 -1
  36. package/dist/chunks/{input-search-C2OOhZlw.js → input-search-Bs_9SxT0.js} +2 -2
  37. package/dist/chunks/{input-search-C2OOhZlw.js.map → input-search-Bs_9SxT0.js.map} +1 -1
  38. package/dist/chunks/{misc-Cp_r022Z.js → misc-CkRRma5E.js} +55 -55
  39. package/dist/chunks/{misc-Cp_r022Z.js.map → misc-CkRRma5E.js.map} +1 -1
  40. package/dist/chunks/{modal-DK9M7lT5.js → modal-LHkNxBko.js} +38 -38
  41. package/dist/chunks/{modal-DK9M7lT5.js.map → modal-LHkNxBko.js.map} +1 -1
  42. package/dist/chunks/{multi-select-CFHaQPot.js → multi-select-BJ6Lst1E.js} +44 -44
  43. package/dist/chunks/{multi-select-CFHaQPot.js.map → multi-select-BJ6Lst1E.js.map} +1 -1
  44. package/dist/chunks/{picker-D3Fc15JH.js → picker-DLnfOgZj.js} +34 -34
  45. package/dist/chunks/{picker-D3Fc15JH.js.map → picker-DLnfOgZj.js.map} +1 -1
  46. package/dist/chunks/{popover-BTT7zSqx.js → popover-IExDrsF6.js} +67 -67
  47. package/dist/chunks/{popover-BTT7zSqx.js.map → popover-IExDrsF6.js.map} +1 -1
  48. package/dist/chunks/{select-BolFlcoY.js → select-CysiIrej.js} +5 -5
  49. package/dist/chunks/{select-BolFlcoY.js.map → select-CysiIrej.js.map} +1 -1
  50. package/dist/chunks/{sortable-DcTIAbjD.js → sortable-BKIwlqhI.js} +17 -17
  51. package/dist/chunks/{sortable-DcTIAbjD.js.map → sortable-BKIwlqhI.js.map} +1 -1
  52. package/dist/chunks/{table-BChs6bgR.js → table-CIWdAcPY.js} +2 -2
  53. package/dist/chunks/{table-BChs6bgR.js.map → table-CIWdAcPY.js.map} +1 -1
  54. package/dist/chunks/{types-CxXyru6U.js → types-D9Wj9wrg.js} +21 -21
  55. package/dist/chunks/{types-CxXyru6U.js.map → types-D9Wj9wrg.js.map} +1 -1
  56. package/dist/chunks/{useODataSelectBase-BhCMCzv_.js → useODataSelectBase-Bq36Wp1U.js} +8 -8
  57. package/dist/chunks/{useODataSelectBase-BhCMCzv_.js.map → useODataSelectBase-Bq36Wp1U.js.map} +1 -1
  58. package/dist/context-menu/index.js +1 -1
  59. package/dist/date-input/index.js +2 -2
  60. package/dist/date-time-input/index.js +32 -32
  61. package/dist/dialog/index.js +9 -9
  62. package/dist/disclosure/index.js +10 -10
  63. package/dist/drop-zone/index.js +8 -8
  64. package/dist/errors/index.js +8 -8
  65. package/dist/expandable-action-panel/index.js +16 -16
  66. package/dist/flex/useFlexClasses.d.ts +1 -1
  67. package/dist/fullscreen-portal/index.js +7 -7
  68. package/dist/image/index.js +27 -27
  69. package/dist/input/index.js +1 -1
  70. package/dist/input-date-time/index.js +1 -1
  71. package/dist/input-file/index.js +1 -1
  72. package/dist/input-files/index.js +1 -1
  73. package/dist/input-image/index.js +1 -1
  74. package/dist/input-search/index.js +1 -1
  75. package/dist/layout-picker/index.js +1 -1
  76. package/dist/list/index.js +25 -25
  77. package/dist/listbox/index.js +5 -5
  78. package/dist/misc/index.js +1 -1
  79. package/dist/modal/index.js +1 -1
  80. package/dist/multi-select/index.js +1 -1
  81. package/dist/notifications/index.js +30 -30
  82. package/dist/picker/index.js +1 -1
  83. package/dist/popover/index.js +1 -1
  84. package/dist/preset-range-date-input/index.js +1 -1
  85. package/dist/preset-select/index.js +1 -1
  86. package/dist/radio-button/index.js +10 -10
  87. package/dist/select/index.js +1 -1
  88. package/dist/simple-table/index.js +1 -1
  89. package/dist/slider/index.js +3 -3
  90. package/dist/sortable/index.js +1 -1
  91. package/dist/state-select/index.js +1 -1
  92. package/dist/styles.css +1 -1
  93. package/dist/switch/index.js +11 -11
  94. package/dist/table/index.js +1 -1
  95. package/dist/table-sorting/index.js +13 -13
  96. package/dist/tabs/index.js +1 -1
  97. package/dist/tag-input/index.js +55 -55
  98. package/dist/tag-input/index.js.map +1 -1
  99. package/dist/text/index.js +1 -1
  100. package/dist/text-editor/index.js +3 -3
  101. package/dist/textarea/index.js +1 -1
  102. package/dist/tree-select/index.js +134 -134
  103. package/dist/tree-select/index.js.map +1 -1
  104. package/dist/tree-table/index.js +16 -16
  105. package/package.json +1 -1
  106. package/storybook-static/project.json +1 -1
  107. package/dist/chunks/date-input-Dr5QNVT6.js +0 -341
@@ -1,27 +1,27 @@
1
1
  import { t as e } from "../chunks/ui.module-DHVTOqZ0.js";
2
- import { n as t, t as n } from "../chunks/badge-CaooZXYD.js";
3
- import { o as r } from "../chunks/flex-C7njxZ74.js";
4
- import { n as i } from "../chunks/button-C--u7uJj.js";
5
- import { r as a } from "../chunks/grid-dI94AAbi.js";
6
- import { l as o, u as s } from "../chunks/input-BNszawm6.js";
7
- import { t as c } from "../chunks/input-search-C2OOhZlw.js";
8
- import { c as l } from "../chunks/misc-Cp_r022Z.js";
9
- import { a as u, i as d, n as f, r as p } from "../chunks/modal-DK9M7lT5.js";
10
- import { n as m } from "../chunks/multi-select-CFHaQPot.js";
11
- import { t as h } from "../chunks/table-BChs6bgR.js";
12
- import { useCallback as g, useEffect as _, useMemo as v, useState as y } from "react";
13
- import { odataQueryFn as b, useODataTableColumns as x } from "@ryuzaki13/react-foundation-api/odata";
14
- import { createFilterContains as S, createFilterEqual as C, unwrapODataQueryResult as w } from "@ryuzaki13/react-foundation-lib/odata-service";
15
- import { useInfiniteQuery as T, useQuery as E } from "@tanstack/react-query";
16
- import { cn as D } from "@ryuzaki13/react-foundation-lib/utils";
17
- import { ChevronRightIcon as O, XIcon as k } from "lucide-react";
2
+ import { n as t } from "../chunks/button-CzUO5rzq.js";
3
+ import { c as n, g as r, h as i } from "../chunks/misc-CkRRma5E.js";
4
+ import { o as a } from "../chunks/flex-C7njxZ74.js";
5
+ import { r as o } from "../chunks/grid-dI94AAbi.js";
6
+ import { a as s, i as c, n as l, r as u } from "../chunks/modal-LHkNxBko.js";
7
+ import { n as d, t as f } from "../chunks/badge-DMM8cOHd.js";
8
+ import { l as p, u as m } from "../chunks/input-VC8jEoTa.js";
9
+ import { t as h } from "../chunks/input-search-Bs_9SxT0.js";
10
+ import { n as g } from "../chunks/multi-select-BJ6Lst1E.js";
11
+ import { t as _ } from "../chunks/table-CIWdAcPY.js";
12
+ import { useCallback as v, useMemo as y, useState as b } from "react";
13
+ import { odataQueryFn as x, useODataTableColumns as S } from "@ryuzaki13/react-foundation-api/odata";
14
+ import { createFilterContains as C, createFilterEqual as w, unwrapODataQueryResult as T } from "@ryuzaki13/react-foundation-lib/odata-service";
15
+ import { useInfiniteQuery as E, useQuery as D } from "@tanstack/react-query";
16
+ import { cn as O, stableStringify as k } from "@ryuzaki13/react-foundation-lib/utils";
18
17
  import { Fragment as A, jsx as j, jsxs as M } from "react/jsx-runtime";
18
+ import { ChevronRightIcon as N, XIcon as P } from "lucide-react";
19
19
  //#region src/advanced-search/lib/searchParts.ts
20
- function N(e) {
20
+ function F(e) {
21
21
  let t = e.trim();
22
22
  return t ? t.split("*").map((e) => e.trim()).filter((e) => e.length) : [];
23
23
  }
24
- function P(e, t, n) {
24
+ function I(e, t, n) {
25
25
  let r = t.map((e) => e.toLowerCase());
26
26
  return e.filter((e) => {
27
27
  for (let t of n) {
@@ -41,9 +41,9 @@ function P(e, t, n) {
41
41
  }
42
42
  //#endregion
43
43
  //#region src/advanced-search/model/useAdvancedSearch.ts
44
- var F = 50;
45
- function I(e) {
46
- let [t, n] = y(""), [r, i] = y(() => Object.keys(e.segments ?? {}).reduce((e, t) => (e[t] = [], e), {})), a = N(t), o = a.length > 1, s = o ? 5e3 : F, c = T({
44
+ var L = 50;
45
+ function R(e) {
46
+ let [t, n] = b(""), [r, i] = b(() => Object.keys(e.segments ?? {}).reduce((e, t) => (e[t] = [], e), {})), a = F(t), o = a.length > 1, s = o ? 5e3 : L, c = E({
47
47
  queryKey: [
48
48
  "search",
49
49
  e.odata.service,
@@ -52,7 +52,7 @@ function I(e) {
52
52
  t
53
53
  ],
54
54
  queryFn: async ({ pageParam: t = 0, signal: n, client: i }) => {
55
- let c = e.columns.map((e) => e.key), l = await b({
55
+ let c = e.columns.map((e) => e.key), l = await x({
56
56
  odata: {
57
57
  service: e.odata.service,
58
58
  target: e.odata.target
@@ -63,9 +63,9 @@ function I(e) {
63
63
  select: c,
64
64
  expression: {
65
65
  and: !0,
66
- filters: [{ filters: a ? e.searchKeys.map((e) => ({ filters: a.map((t) => S(e, t)) })) : [] }, {
66
+ filters: [{ filters: a ? e.searchKeys.map((e) => ({ filters: a.map((t) => C(e, t)) })) : [] }, {
67
67
  and: !0,
68
- filters: Object.keys(r).map((e) => C(e, r[e]))
68
+ filters: Object.keys(r).map((e) => w(e, r[e]))
69
69
  }]
70
70
  },
71
71
  sorts: [{ key: e.leadingKey }]
@@ -74,20 +74,20 @@ function I(e) {
74
74
  signal: n,
75
75
  client: i
76
76
  });
77
- return o ? P(l.data, a, e.searchKeys) : l.data;
77
+ return o ? I(l.data, a, e.searchKeys) : l.data;
78
78
  },
79
79
  getNextPageParam: (e, t) => {
80
80
  if (!(e.length < s)) return t.length * s;
81
81
  },
82
82
  initialPageParam: 0
83
- }), l = g((e) => {
83
+ }), l = v((e) => {
84
84
  n(e);
85
- }, []), u = g(() => {
85
+ }, []), u = v(() => {
86
86
  n("");
87
87
  }, []);
88
88
  return {
89
89
  query: c,
90
- items: v(() => c.data?.pages.flatMap((e) => e) ?? [], [c.data?.pages]),
90
+ items: y(() => c.data?.pages.flatMap((e) => e) ?? [], [c.data?.pages]),
91
91
  searchTerm: t,
92
92
  setSearch: l,
93
93
  clearSearch: u,
@@ -97,8 +97,8 @@ function I(e) {
97
97
  }
98
98
  //#endregion
99
99
  //#region src/advanced-search/model/useAdvancedSearchInitialSelected.ts
100
- function L(e, t = []) {
101
- let n = E({
100
+ function z(e, t = []) {
101
+ let n = D({
102
102
  queryKey: [
103
103
  "searchSelected",
104
104
  e.odata.service,
@@ -111,14 +111,14 @@ function L(e, t = []) {
111
111
  totalCount: void 0
112
112
  };
113
113
  let i = e.columns.map((e) => e.key);
114
- return await b({
114
+ return await x({
115
115
  odata: {
116
116
  service: e.odata.service,
117
117
  target: e.odata.target
118
118
  },
119
119
  options: {
120
120
  select: i,
121
- expression: { filters: t.map((t) => C(e.leadingKey, t)) }
121
+ expression: { filters: t.map((t) => w(e.leadingKey, t)) }
122
122
  }
123
123
  })({
124
124
  client: n,
@@ -127,171 +127,201 @@ function L(e, t = []) {
127
127
  },
128
128
  enabled: t.length > 0
129
129
  });
130
- return w(n);
130
+ return T(n);
131
131
  }
132
132
  //#endregion
133
133
  //#region src/advanced-search/model/useAdvancedSearchSelection.ts
134
- function R(e) {
135
- let [t, n] = y([]), r = g((t, n) => {
134
+ function B(e, t) {
135
+ let n = /* @__PURE__ */ new Map();
136
+ for (let r of e) n.set(String(r[t]), r);
137
+ return Array.from(n.values());
138
+ }
139
+ function V(e, t = []) {
140
+ let [n, r] = b(() => B(t, e.leadingKey)), i = v((t, n) => {
136
141
  if (t.length !== n.length) return !1;
137
142
  let r = new Set(n.map((t) => String(t[e.leadingKey])));
138
143
  return t.every((t) => r.has(String(t[e.leadingKey])));
139
- }, [e.leadingKey]), i = g((t) => {
140
- n((n) => {
141
- let i = /* @__PURE__ */ new Map();
142
- for (let n of t) i.set(String(n[e.leadingKey]), n);
143
- let a = Array.from(i.values());
144
- return r(n, a) ? n : a;
144
+ }, [e.leadingKey]), a = v((t) => {
145
+ r((n) => {
146
+ let r = B(t, e.leadingKey);
147
+ return i(n, r) ? n : r;
145
148
  });
146
- }, [r, e.leadingKey]);
149
+ }, [i, e.leadingKey]);
147
150
  return {
148
- selectedItems: t,
149
- select: g((t) => {
150
- n((n) => n.some((n) => n[e.leadingKey] === t[e.leadingKey]) ? n : [...n, t]);
151
+ selectedItems: n,
152
+ select: v((t) => {
153
+ r((n) => n.some((n) => n[e.leadingKey] === t[e.leadingKey]) ? n : [...n, t]);
151
154
  }, [e.leadingKey]),
152
- deselect: g((t) => {
153
- n((n) => n.filter((n) => n[e.leadingKey] !== t));
155
+ deselect: v((t) => {
156
+ r((n) => n.filter((n) => n[e.leadingKey] !== t));
154
157
  }, [e.leadingKey]),
155
- replaceSelection: i,
156
- clearSelection: g(() => {
157
- n([]);
158
+ replaceSelection: a,
159
+ clearSelection: v(() => {
160
+ r([]);
158
161
  }, []),
159
- isSelected: g((n) => t.some((t) => t[e.leadingKey] === n), [e.leadingKey, t])
162
+ isSelected: v((t) => n.some((n) => n[e.leadingKey] === t), [e.leadingKey, n])
160
163
  };
161
164
  }
162
165
  //#endregion
163
- //#region src/advanced-search/ui/AdvancedSearchModal.tsx
164
- function z({ onClose: e, onItemsSelect: o, config: s, initialSelectedItems: y = [] }) {
165
- let b = v(() => s.columns.map((e) => ({
166
+ //#region src/advanced-search/ui/AdvancedSearchModalSession.tsx
167
+ function H({ onClose: e, onItemsSelect: r, config: i, initialSelectedItems: p }) {
168
+ let m = y(() => i.columns.map((e) => ({
166
169
  id: e.key,
167
170
  accessorKey: e.key,
168
171
  header: e.label,
169
172
  meta: { width: e.width || "auto" }
170
- })), [s.columns]), { columns: S, isLoading: C } = x({
171
- service: s.odata.service,
172
- target: s.odata.target,
173
+ })), [i.columns]), { columns: b, isLoading: x } = S({
174
+ service: i.odata.service,
175
+ target: i.odata.target,
173
176
  mode: "enrich",
174
- columns: b
175
- }), { query: w, items: T, searchTerm: E, setSearch: D, clearSearch: O, filters: k, setFilters: A } = I(s), { selectedItems: N, deselect: P, replaceSelection: F } = R(s), L = g((e) => String(e[s.leadingKey]), [s.leadingKey]), z = v(() => N.map((e) => String(e[s.leadingKey])), [N, s.leadingKey]), B = v(() => new Set(T.map((e) => String(e[s.leadingKey]))), [T, s.leadingKey]);
176
- _(() => {
177
- F(y);
178
- }, [y, F]);
179
- let V = g(() => {
180
- w.hasNextPage && !w.isFetchingNextPage && w.fetchNextPage();
181
- }, [w]), H = g((e) => {
182
- let t = new Set(e.map((e) => String(e[s.leadingKey]))), n = N.filter((e) => !B.has(String(e[s.leadingKey]))), r = T.filter((e) => t.has(String(e[s.leadingKey])));
183
- F([...n, ...r]);
177
+ columns: m
178
+ }), { query: C, items: w, searchTerm: T, setSearch: E, clearSearch: D, filters: O, setFilters: k } = R(i), { selectedItems: A, deselect: N, replaceSelection: P } = V(i, p), F = v((e) => String(e[i.leadingKey]), [i.leadingKey]), I = y(() => A.map((e) => String(e[i.leadingKey])), [A, i.leadingKey]), L = y(() => new Set(w.map((e) => String(e[i.leadingKey]))), [w, i.leadingKey]), z = v(() => {
179
+ C.hasNextPage && !C.isFetchingNextPage && C.fetchNextPage();
180
+ }, [C]), B = v((e) => {
181
+ let t = new Set(e.map((e) => String(e[i.leadingKey]))), n = A.filter((e) => !L.has(String(e[i.leadingKey]))), r = w.filter((e) => t.has(String(e[i.leadingKey])));
182
+ P([...n, ...r]);
184
183
  }, [
185
- s.leadingKey,
186
- T,
187
- F,
188
- N,
189
- B
190
- ]), U = g((e) => {
191
- P(String(e[s.leadingKey]));
192
- }, [s.leadingKey, P]), W = g(() => {
193
- o(N), e();
184
+ i.leadingKey,
185
+ w,
186
+ P,
187
+ A,
188
+ L
189
+ ]), H = v((e) => {
190
+ N(String(e[i.leadingKey]));
191
+ }, [i.leadingKey, N]), U = v(() => {
192
+ r(A), e();
194
193
  }, [
195
- N,
196
- o,
194
+ A,
195
+ r,
197
196
  e
198
- ]), G = v(() => {
199
- if ("segments" in s && s.segments) {
200
- let e = Object.keys(s.segments);
197
+ ]), W = y(() => {
198
+ if ("segments" in i && i.segments) {
199
+ let e = Object.keys(i.segments);
201
200
  if (e.length) return {
202
201
  odata: {
203
- ...s.odata,
202
+ ...i.odata,
204
203
  limitedKeys: e
205
204
  },
206
- segments: s.segments,
207
- model: s.model
205
+ segments: i.segments,
206
+ model: i.model
208
207
  };
209
208
  }
210
- }, [s]);
211
- return /* @__PURE__ */ M(f, {
209
+ }, [i]);
210
+ return /* @__PURE__ */ M(l, {
212
211
  isOpen: !0,
213
212
  onClose: e,
214
- title: s.title,
213
+ title: i.title,
215
214
  size: "lg",
216
215
  height: "min(50em, 80dvh)",
217
216
  children: [
218
- /* @__PURE__ */ j(u, { children: /* @__PURE__ */ M(r, {
217
+ /* @__PURE__ */ j(s, { children: /* @__PURE__ */ M(a, {
219
218
  gap: "sm",
220
- children: [G && /* @__PURE__ */ j(m, {
221
- odata: G.odata,
222
- segments: G.segments,
223
- model: G.model,
224
- values: k,
225
- onChange: A
226
- }), /* @__PURE__ */ j(c, {
219
+ children: [W && /* @__PURE__ */ j(g, {
220
+ odata: W.odata,
221
+ segments: W.segments,
222
+ model: W.model,
223
+ values: O,
224
+ onChange: k
225
+ }), /* @__PURE__ */ j(h, {
227
226
  size: "md",
228
- placeholder: s.searchLabel ?? "Введите поисковый запрос",
229
- value: E,
230
- onChange: D,
231
- onClear: O,
227
+ placeholder: i.searchLabel ?? "Введите поисковый запрос",
228
+ value: T,
229
+ onChange: E,
230
+ onClear: D,
232
231
  className: "flexGrow"
233
232
  })]
234
233
  }) }),
235
- /* @__PURE__ */ j(p, { children: /* @__PURE__ */ M(a, {
234
+ /* @__PURE__ */ j(u, { children: /* @__PURE__ */ M(o, {
236
235
  gap: "md",
237
236
  templateRows: "1fr auto",
238
237
  className: "h100",
239
- children: [/* @__PURE__ */ j(h, {
240
- columns: S,
241
- data: T,
238
+ children: [/* @__PURE__ */ j(_, {
239
+ columns: b,
240
+ data: w,
242
241
  selectionMode: "multi",
243
- selectedRowIds: z,
244
- getRowId: L,
245
- isLoading: w.isLoading || C,
246
- isFetching: w.isFetching,
247
- onRowSelectionChange: H,
248
- onReachEnd: V,
242
+ selectedRowIds: I,
243
+ getRowId: F,
244
+ isLoading: C.isLoading || x,
245
+ isFetching: C.isFetching,
246
+ onRowSelectionChange: B,
247
+ onReachEnd: z,
249
248
  className: "w100"
250
249
  }), /* @__PURE__ */ j("div", {
251
250
  className: "marginBlockMd border",
252
- children: /* @__PURE__ */ j(l, {
251
+ children: /* @__PURE__ */ j(n, {
253
252
  className: "paddingSm",
254
253
  height: "6em",
255
- children: /* @__PURE__ */ j(n, { children: N.map((e) => /* @__PURE__ */ j(t, {
254
+ children: /* @__PURE__ */ j(f, { children: A.map((e) => /* @__PURE__ */ j(d, {
256
255
  size: "md",
257
256
  tone: "info",
258
257
  appearance: "outline",
259
- onRemove: () => U(e),
260
- children: s.leadingText && e[s.leadingText] || e[s.leadingKey]
261
- }, e[s.leadingKey])) })
258
+ onRemove: () => H(e),
259
+ children: i.leadingText && e[i.leadingText] || e[i.leadingKey]
260
+ }, e[i.leadingKey])) })
262
261
  })
263
262
  })]
264
263
  }) }),
265
- /* @__PURE__ */ M(d, { children: [/* @__PURE__ */ j(i, {
264
+ /* @__PURE__ */ M(c, { children: [/* @__PURE__ */ j(t, {
266
265
  onClick: e,
267
266
  children: "Отмена"
268
- }), /* @__PURE__ */ j(i, {
267
+ }), /* @__PURE__ */ j(t, {
269
268
  variant: "successOutline",
270
- onClick: W,
269
+ onClick: U,
271
270
  children: "Выбрать"
272
271
  })] })
273
272
  ]
274
273
  });
275
274
  }
276
275
  //#endregion
276
+ //#region src/advanced-search/ui/AdvancedSearchModal.tsx
277
+ function U(e, t) {
278
+ return k({
279
+ leadingKey: String(e.leadingKey),
280
+ service: e.odata.service,
281
+ target: e.odata.target,
282
+ selectedIds: t.map((t) => String(t[e.leadingKey])).sort()
283
+ });
284
+ }
285
+ function W({ onClose: e, onItemsSelect: n, initialSelection: a, config: o }) {
286
+ return a.status === "ready" ? /* @__PURE__ */ j(H, {
287
+ config: o,
288
+ onClose: e,
289
+ onItemsSelect: n,
290
+ initialSelectedItems: a.items
291
+ }, U(o, a.items)) : /* @__PURE__ */ M(l, {
292
+ isOpen: !0,
293
+ onClose: e,
294
+ title: o.title,
295
+ size: "lg",
296
+ height: "min(50em, 80dvh)",
297
+ children: [/* @__PURE__ */ j(u, { children: a.status === "loading" ? /* @__PURE__ */ j(i, { text: "Загружаем выбранные элементы..." }) : /* @__PURE__ */ j(r, {
298
+ color: "error",
299
+ children: "Не удалось загрузить выбранные элементы"
300
+ }) }), /* @__PURE__ */ j(c, { children: /* @__PURE__ */ j(t, {
301
+ onClick: e,
302
+ children: "Закрыть"
303
+ }) })]
304
+ });
305
+ }
306
+ //#endregion
277
307
  //#region src/advanced-search/ui/AdvancedSearchSelectUI.tsx
278
- var B = ({ label: t, description: n, disabled: i, size: a, placeholder: c = "Выбрать", token: l, onOpen: u, onClear: d }) => {
279
- let { controlId: f, labelId: p, descriptionId: m } = o({
308
+ var G = ({ label: t, description: n, disabled: r, size: i, placeholder: o = "Выбрать", token: s, onOpen: c, onClear: l }) => {
309
+ let { controlId: u, labelId: d, descriptionId: f } = p({
280
310
  hasLabel: t != null,
281
311
  hasDescription: !!n
282
- }), h = !!l;
312
+ }), h = !!s;
283
313
  return /* @__PURE__ */ M("div", {
284
- "aria-disabled": i || void 0,
285
- className: D(e.uiElement, e.uiSizable, a && e[a]),
314
+ "aria-disabled": r || void 0,
315
+ className: O(e.uiElement, e.uiSizable, i && e[i]),
286
316
  children: [
287
317
  t && /* @__PURE__ */ j("label", {
288
- id: p,
289
- htmlFor: f,
318
+ id: d,
319
+ htmlFor: u,
290
320
  className: e.uiLabel,
291
321
  children: t
292
322
  }),
293
323
  n && /* @__PURE__ */ j("p", {
294
- id: m,
324
+ id: f,
295
325
  className: e.uiDescription,
296
326
  children: n
297
327
  }),
@@ -299,38 +329,38 @@ var B = ({ label: t, description: n, disabled: i, size: a, placeholder: c = "В
299
329
  className: e.uiInputContainer,
300
330
  children: [/* @__PURE__ */ j("div", {
301
331
  className: e.uiInputWithToggle,
302
- children: !h && /* @__PURE__ */ j(r, {
332
+ children: !h && /* @__PURE__ */ j(a, {
303
333
  align: "center",
304
334
  className: "h100",
305
335
  children: /* @__PURE__ */ j("div", {
306
336
  className: e.uiPlaceholder,
307
- children: c
337
+ children: o
308
338
  })
309
339
  })
310
340
  }), /* @__PURE__ */ j("div", {
311
- className: s.controlEndAdornment,
341
+ className: m.controlEndAdornment,
312
342
  children: /* @__PURE__ */ M("div", {
313
343
  className: e.uiToggleButtonContainer,
314
344
  children: [
315
345
  /* @__PURE__ */ j("div", {
316
346
  className: "flexEllipsis",
317
347
  style: { maxWidth: "100%" },
318
- children: l
348
+ children: s
319
349
  }),
320
350
  /* @__PURE__ */ j("button", {
321
351
  type: "button",
322
- disabled: !l,
352
+ disabled: !s,
323
353
  className: e.uiClearButton,
324
- onClick: d,
354
+ onClick: l,
325
355
  "aria-label": "Очистить все",
326
- children: /* @__PURE__ */ j(k, {})
356
+ children: /* @__PURE__ */ j(P, {})
327
357
  }),
328
358
  /* @__PURE__ */ j("div", { className: e.uiButtonSeparator }),
329
359
  /* @__PURE__ */ j("button", {
330
360
  type: "button",
331
- onClick: u,
361
+ onClick: c,
332
362
  className: e.uiToggleButton,
333
- children: /* @__PURE__ */ j(O, { className: e.uiToggleIcon })
363
+ children: /* @__PURE__ */ j(N, { className: e.uiToggleIcon })
334
364
  })
335
365
  ]
336
366
  })
@@ -338,26 +368,30 @@ var B = ({ label: t, description: n, disabled: i, size: a, placeholder: c = "В
338
368
  })
339
369
  ]
340
370
  });
341
- };
342
- //#endregion
343
- //#region src/advanced-search/ui/AdvancedSearchSelect.tsx
344
- function V({ value: e = [], onChange: t, config: n, ...r }) {
345
- let [i, a] = y(!1), { data: o } = L(n, e), s = g(() => a(!0), []), c = g(() => a(!1), []), l = g(() => t([]), [t]), u = g((e) => t(e.map((e) => String(e[n.leadingKey]))), [n.leadingKey, t]), d = g((e) => {
371
+ }, K = [];
372
+ function q({ value: e = [], onChange: t, config: n, ...r }) {
373
+ let [i, a] = b(!1), o = z(n, e), s = o.data, c = e.length === 0 ? {
374
+ status: "ready",
375
+ items: K
376
+ } : s === void 0 ? o.isError ? { status: "error" } : { status: "loading" } : {
377
+ status: "ready",
378
+ items: s
379
+ }, l = v(() => a(!0), []), u = v(() => a(!1), []), d = v(() => t([]), [t]), f = v((e) => t(e.map((e) => String(e[n.leadingKey]))), [n.leadingKey, t]), p = v((e) => {
346
380
  if (e?.length) return e.length > 1 ? `Выбрано ${e.length} элем.` : `${n.leadingText && e[0][n.leadingText] || e[0][n.leadingKey]}`;
347
381
  }, [n.leadingKey, n.leadingText]);
348
- return /* @__PURE__ */ M(A, { children: [/* @__PURE__ */ j(B, {
382
+ return /* @__PURE__ */ M(A, { children: [/* @__PURE__ */ j(G, {
349
383
  ...r,
350
- token: d(o),
351
- onOpen: s,
352
- onClear: l
353
- }), i && /* @__PURE__ */ j(z, {
384
+ token: p(s),
385
+ onOpen: l,
386
+ onClear: d
387
+ }), i && /* @__PURE__ */ j(W, {
354
388
  config: n,
355
- onClose: c,
356
- onItemsSelect: u,
357
- initialSelectedItems: o
389
+ onClose: u,
390
+ onItemsSelect: f,
391
+ initialSelection: c
358
392
  })] });
359
393
  }
360
394
  //#endregion
361
- export { V as AdvancedSearchSelect, I as useAdvancedSearch, L as useAdvancedSearchInitialSelected, R as useAdvancedSearchSelection };
395
+ export { q as AdvancedSearchSelect, R as useAdvancedSearch, z as useAdvancedSearchInitialSelected, V as useAdvancedSearchSelection };
362
396
 
363
397
  //# sourceMappingURL=index.js.map