impact-nova 1.7.29 → 1.7.31
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.
- package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.d.ts +2 -0
- package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +69 -67
- package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.d.ts +2 -0
- package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +107 -71
- package/dist/components/ui/ag-grid-react/headers/header-search-input.js +277 -213
- package/dist/components/ui/ag-grid-react/headers/utils/date-utils.d.ts +11 -1
- package/dist/components/ui/ag-grid-react/headers/utils/date-utils.js +34 -20
- package/dist/components/ui/ag-grid-react/index.js +16 -15
- package/dist/components/ui/data-table/data-table-column-list.js +86 -82
- package/dist/components/ui/nested-list/components/SortableItem.d.ts +1 -0
- package/dist/components/ui/nested-list/components/SortableItem.js +37 -36
- package/dist/components/ui/nested-list/hooks/useNestedListDragDrop.d.ts +3 -1
- package/dist/components/ui/nested-list/hooks/useNestedListDragDrop.js +186 -172
- package/dist/components/ui/nested-list/hooks/useNestedListState.d.ts +2 -1
- package/dist/components/ui/nested-list/hooks/useNestedListState.js +67 -66
- package/dist/components/ui/nested-list/nested-list.js +249 -237
- package/dist/components/ui/types/ag-grid.types.d.ts +2 -0
- package/dist/components/ui/types/nested-list.types.d.ts +3 -0
- package/package.json +1 -1
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
import { SortableItem as
|
|
4
|
-
import { SelectionMode as
|
|
5
|
-
import { useNestedListDragDrop as
|
|
6
|
-
import { useNestedListSelectAll as
|
|
7
|
-
import { useNestedListState as
|
|
8
|
-
import { useNestedListHandlers as
|
|
9
|
-
import { NestedListHeader as
|
|
10
|
-
import { NestedListCategoryFilters as
|
|
11
|
-
import { NestedListContent as
|
|
12
|
-
import { NestedListApplyDiscardButtons as
|
|
13
|
-
import { cn as
|
|
14
|
-
import { useImpactNovaI18n as
|
|
15
|
-
const
|
|
16
|
-
if (!t || typeof t != "string") return
|
|
1
|
+
import { jsx as L, jsxs as le } from "react/jsx-runtime";
|
|
2
|
+
import J, { useMemo as A, useCallback as T } from "react";
|
|
3
|
+
import { SortableItem as Fe } from "./components/SortableItem.js";
|
|
4
|
+
import { SelectionMode as U } from "../types/nested-list.types.js";
|
|
5
|
+
import { useNestedListDragDrop as Je } from "./hooks/useNestedListDragDrop.js";
|
|
6
|
+
import { useNestedListSelectAll as qe } from "./hooks/useNestedListSelectAll.js";
|
|
7
|
+
import { useNestedListState as Ke } from "./hooks/useNestedListState.js";
|
|
8
|
+
import { useNestedListHandlers as Qe } from "./hooks/useNestedListHandlers.js";
|
|
9
|
+
import { NestedListHeader as Xe } from "./components/NestedListHeader.js";
|
|
10
|
+
import { NestedListCategoryFilters as Ye } from "./components/NestedListCategoryFilters.js";
|
|
11
|
+
import { NestedListContent as Ze } from "./components/NestedListContent.js";
|
|
12
|
+
import { NestedListApplyDiscardButtons as $e } from "./components/NestedListApplyDiscardButtons.js";
|
|
13
|
+
import { cn as Me } from "../../../lib/utils.js";
|
|
14
|
+
import { useImpactNovaI18n as Ge } from "../../../i18n/ImpactNovaI18nContext.js";
|
|
15
|
+
const ce = (i, t) => {
|
|
16
|
+
if (!t || typeof t != "string") return i;
|
|
17
17
|
const c = t.toLowerCase(), o = [];
|
|
18
|
-
return
|
|
19
|
-
const l =
|
|
18
|
+
return i.forEach((r) => {
|
|
19
|
+
const l = r.label.toLowerCase().includes(c), f = r.children ? ce(r.children, t) : void 0;
|
|
20
20
|
(l || f && f.length > 0) && o.push({
|
|
21
|
-
...
|
|
22
|
-
children: f ||
|
|
21
|
+
...r,
|
|
22
|
+
children: f || r.children
|
|
23
23
|
});
|
|
24
24
|
}), o;
|
|
25
|
-
},
|
|
25
|
+
}, oe = (i) => i.map((t) => {
|
|
26
26
|
if (t.children && t.children.length > 0) {
|
|
27
|
-
const c =
|
|
27
|
+
const c = oe(t.children), o = c.every((r) => r.checked);
|
|
28
28
|
return {
|
|
29
29
|
...t,
|
|
30
30
|
checked: o,
|
|
@@ -32,322 +32,334 @@ const ne = (d, t) => {
|
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
return t;
|
|
35
|
-
}),
|
|
36
|
-
const c = /* @__PURE__ */ new Set(), o = (
|
|
37
|
-
|
|
35
|
+
}), et = (i, t) => {
|
|
36
|
+
const c = /* @__PURE__ */ new Set(), o = (r) => {
|
|
37
|
+
r.forEach((l) => {
|
|
38
38
|
const f = t ? t(l) : l.category;
|
|
39
39
|
f && c.add(f), l.children && o(l.children);
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
|
-
return o(
|
|
43
|
-
},
|
|
44
|
-
if (t.size === 0) return
|
|
42
|
+
return o(i), Array.from(c).sort();
|
|
43
|
+
}, de = (i, t, c) => {
|
|
44
|
+
if (t.size === 0) return i;
|
|
45
45
|
const o = [];
|
|
46
|
-
return
|
|
47
|
-
const l = c ? c(
|
|
46
|
+
return i.forEach((r) => {
|
|
47
|
+
const l = c ? c(r) : r.category, f = l && t.has(l), m = r.children ? de(r.children, t, c) : void 0;
|
|
48
48
|
(f || m && m.length > 0) && o.push({
|
|
49
|
-
...
|
|
49
|
+
...r,
|
|
50
50
|
children: m
|
|
51
51
|
});
|
|
52
52
|
}), o;
|
|
53
|
-
},
|
|
54
|
-
const
|
|
55
|
-
return
|
|
56
|
-
|
|
57
|
-
...
|
|
53
|
+
}, ie = (i, t, c, o = 0) => {
|
|
54
|
+
const r = [];
|
|
55
|
+
return i.forEach((l) => {
|
|
56
|
+
r.push({ item: l, level: o }), !t[l.id] && l.children && l.children.length > 0 && l.id !== c && r.push(
|
|
57
|
+
...ie(l.children, t, c, o + 1)
|
|
58
58
|
);
|
|
59
|
-
}),
|
|
60
|
-
},
|
|
61
|
-
items:
|
|
59
|
+
}), r;
|
|
60
|
+
}, mt = ({
|
|
61
|
+
items: i,
|
|
62
62
|
onChange: t,
|
|
63
63
|
onSubmit: c,
|
|
64
64
|
onCancel: o,
|
|
65
|
-
onItemToggle:
|
|
65
|
+
onItemToggle: r,
|
|
66
66
|
onDragEnd: l,
|
|
67
67
|
enableSearch: f = !0,
|
|
68
68
|
enableDragDrop: m = !0,
|
|
69
|
-
enableSelectAll:
|
|
70
|
-
enableGroupBy:
|
|
71
|
-
getCategory:
|
|
72
|
-
searchPlaceholder:
|
|
73
|
-
className:
|
|
74
|
-
groupLabel:
|
|
69
|
+
enableSelectAll: ae = !0,
|
|
70
|
+
enableGroupBy: k = !1,
|
|
71
|
+
getCategory: I,
|
|
72
|
+
searchPlaceholder: he,
|
|
73
|
+
className: ue = "",
|
|
74
|
+
groupLabel: fe,
|
|
75
75
|
enableApplyDiscard: p = !1,
|
|
76
|
-
enableCollapse:
|
|
77
|
-
enableGlobalCollapse:
|
|
78
|
-
submitButtonLabel:
|
|
79
|
-
cancelButtonLabel:
|
|
80
|
-
selectionMode:
|
|
76
|
+
enableCollapse: q = !0,
|
|
77
|
+
enableGlobalCollapse: pe = !0,
|
|
78
|
+
submitButtonLabel: me,
|
|
79
|
+
cancelButtonLabel: Ne,
|
|
80
|
+
selectionMode: v = U.CASCADE_DOWN,
|
|
81
|
+
initialCollapsedItems: Se,
|
|
82
|
+
onCollapseChange: K,
|
|
83
|
+
canDrag: w
|
|
81
84
|
}) => {
|
|
82
|
-
const { t:
|
|
83
|
-
items:
|
|
84
|
-
setItems:
|
|
85
|
-
savedItems:
|
|
86
|
-
setSavedItems:
|
|
87
|
-
isUserChangeRef:
|
|
88
|
-
searchText:
|
|
89
|
-
setSearchText:
|
|
90
|
-
collapsedItems:
|
|
91
|
-
setCollapsedItems:
|
|
85
|
+
const { t: P } = Ge(), Ce = he ?? P("nestedList.searchPlaceholder"), Ie = me ?? P("nestedList.apply"), ve = Ne ?? P("nestedList.reset"), {
|
|
86
|
+
items: h,
|
|
87
|
+
setItems: g,
|
|
88
|
+
savedItems: b,
|
|
89
|
+
setSavedItems: Q,
|
|
90
|
+
isUserChangeRef: x,
|
|
91
|
+
searchText: z,
|
|
92
|
+
setSearchText: ge,
|
|
93
|
+
collapsedItems: N,
|
|
94
|
+
setCollapsedItems: Le,
|
|
92
95
|
isListCollapsed: B,
|
|
93
|
-
setIsListCollapsed:
|
|
94
|
-
activeId:
|
|
95
|
-
setActiveId:
|
|
96
|
-
setOverId:
|
|
96
|
+
setIsListCollapsed: ke,
|
|
97
|
+
activeId: S,
|
|
98
|
+
setActiveId: _,
|
|
99
|
+
setOverId: y,
|
|
97
100
|
selectedCategories: O,
|
|
98
|
-
setSelectedCategories:
|
|
99
|
-
itemsToBlink:
|
|
100
|
-
setItemsToBlink:
|
|
101
|
+
setSelectedCategories: Ee,
|
|
102
|
+
itemsToBlink: X,
|
|
103
|
+
setItemsToBlink: H,
|
|
101
104
|
// Normalized state helpers (for optimized operations)
|
|
102
|
-
isNormalized:
|
|
103
|
-
normalizedState:
|
|
104
|
-
batchUpdateItems:
|
|
105
|
-
} =
|
|
106
|
-
initialItems:
|
|
105
|
+
isNormalized: De,
|
|
106
|
+
normalizedState: Ae,
|
|
107
|
+
batchUpdateItems: Te
|
|
108
|
+
} = Ke({
|
|
109
|
+
initialItems: i,
|
|
107
110
|
enableApplyDiscard: p,
|
|
108
111
|
// Enable normalized state for large datasets (can be made configurable via props)
|
|
109
|
-
enableNormalizedState:
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
112
|
+
enableNormalizedState: i.length > 1e3,
|
|
113
|
+
initialCollapsedItems: Se
|
|
114
|
+
});
|
|
115
|
+
J.useEffect(() => {
|
|
116
|
+
K?.(N);
|
|
117
|
+
}, [N, K]);
|
|
118
|
+
const [R, Y] = J.useState(0), [V, we] = J.useState(0), {
|
|
119
|
+
sensors: Pe,
|
|
120
|
+
handleDragEnd: be,
|
|
121
|
+
isValidDrop: Z
|
|
122
|
+
} = Je({
|
|
123
|
+
items: h,
|
|
124
|
+
onDragEnd: l,
|
|
125
|
+
collapsedItems: N,
|
|
126
|
+
canDrag: w
|
|
127
|
+
}), xe = A(
|
|
128
|
+
() => k ? et(h, I) : [],
|
|
129
|
+
[h, k, I]
|
|
130
|
+
), C = A(() => {
|
|
131
|
+
let e = h;
|
|
132
|
+
return k && O.size > 0 && (e = de(e, O, I)), z && (e = ce(e, z)), e;
|
|
133
|
+
}, [h, z, k, O, I]), ze = A(
|
|
134
|
+
() => ie(C, N, S),
|
|
135
|
+
[C, N, S]
|
|
136
|
+
), { allChecked: E, someChecked: Be } = A(() => {
|
|
137
|
+
let e = !0, s = !1;
|
|
128
138
|
const n = (u) => {
|
|
129
|
-
for (const
|
|
130
|
-
if (
|
|
139
|
+
for (const d of u)
|
|
140
|
+
if (d.children && d.children.length > 0 ? n(d.children) : d.checked ? s = !0 : e = !1, s && !e) return;
|
|
131
141
|
};
|
|
132
|
-
return n(
|
|
133
|
-
}, [
|
|
142
|
+
return n(C), { allChecked: e && s, someChecked: s };
|
|
143
|
+
}, [C]), Oe = Be && !E, W = (e, s) => {
|
|
134
144
|
for (const n of e) {
|
|
135
|
-
if (n.id ===
|
|
145
|
+
if (n.id === s) return n;
|
|
136
146
|
if (n.children) {
|
|
137
|
-
const u =
|
|
147
|
+
const u = W(n.children, s);
|
|
138
148
|
if (u) return u;
|
|
139
149
|
}
|
|
140
150
|
}
|
|
141
151
|
return null;
|
|
142
|
-
},
|
|
143
|
-
(e,
|
|
144
|
-
if (
|
|
152
|
+
}, Re = T(
|
|
153
|
+
(e, s) => {
|
|
154
|
+
if (v === U.INDEPENDENT)
|
|
145
155
|
return e;
|
|
146
|
-
const n = (
|
|
147
|
-
(
|
|
148
|
-
) : !1, u = (
|
|
149
|
-
if (
|
|
150
|
-
return
|
|
151
|
-
if (
|
|
152
|
-
const
|
|
153
|
-
let
|
|
154
|
-
return
|
|
155
|
-
...
|
|
156
|
-
checked:
|
|
157
|
-
children:
|
|
156
|
+
const n = (d, a) => d.id === a ? !0 : d.children ? d.children.some(
|
|
157
|
+
(D) => n(D, a)
|
|
158
|
+
) : !1, u = (d) => d.map((a) => {
|
|
159
|
+
if (a.id === s)
|
|
160
|
+
return a;
|
|
161
|
+
if (a.children && n(a, s)) {
|
|
162
|
+
const D = u(a.children);
|
|
163
|
+
let j;
|
|
164
|
+
return v === U.CASCADE_UP_DOWN ? j = D.some((F) => F.checked) : j = D.every((F) => F.checked), {
|
|
165
|
+
...a,
|
|
166
|
+
checked: j,
|
|
167
|
+
children: D
|
|
158
168
|
};
|
|
159
169
|
}
|
|
160
|
-
return
|
|
170
|
+
return a;
|
|
161
171
|
});
|
|
162
172
|
return u(e);
|
|
163
173
|
},
|
|
164
|
-
[
|
|
165
|
-
),
|
|
166
|
-
const
|
|
174
|
+
[v]
|
|
175
|
+
), $ = (e) => {
|
|
176
|
+
const s = [];
|
|
167
177
|
return e.forEach((n) => {
|
|
168
|
-
n.children && n.children.length > 0 && (
|
|
169
|
-
}),
|
|
178
|
+
n.children && n.children.length > 0 && (s.push(n.id), s.push(...$(n.children)));
|
|
179
|
+
}), s;
|
|
170
180
|
}, {
|
|
171
|
-
handleToggle:
|
|
172
|
-
handleToggleCollapse:
|
|
173
|
-
handleCollapseAll:
|
|
174
|
-
handleToggleCategory:
|
|
175
|
-
} =
|
|
176
|
-
setItems:
|
|
177
|
-
findItemById:
|
|
178
|
-
updateParentsUpward:
|
|
181
|
+
handleToggle: M,
|
|
182
|
+
handleToggleCollapse: G,
|
|
183
|
+
handleCollapseAll: Ve,
|
|
184
|
+
handleToggleCategory: Ue
|
|
185
|
+
} = Qe({
|
|
186
|
+
setItems: g,
|
|
187
|
+
findItemById: W,
|
|
188
|
+
updateParentsUpward: Re,
|
|
179
189
|
onChange: (e) => {
|
|
180
|
-
|
|
190
|
+
Y((s) => s + 1), t(e);
|
|
181
191
|
},
|
|
182
|
-
onItemToggle:
|
|
183
|
-
getCategory:
|
|
184
|
-
setCollapsedItems:
|
|
185
|
-
setIsListCollapsed:
|
|
186
|
-
setSelectedCategories:
|
|
187
|
-
isUserChangeRef:
|
|
188
|
-
selectionMode:
|
|
192
|
+
onItemToggle: r,
|
|
193
|
+
getCategory: I,
|
|
194
|
+
setCollapsedItems: Le,
|
|
195
|
+
setIsListCollapsed: ke,
|
|
196
|
+
setSelectedCategories: Ee,
|
|
197
|
+
isUserChangeRef: x,
|
|
198
|
+
selectionMode: v,
|
|
189
199
|
// Pass normalized state helpers for optimized operations
|
|
190
|
-
isNormalized:
|
|
191
|
-
normalizedState:
|
|
192
|
-
batchUpdateItems:
|
|
200
|
+
isNormalized: De,
|
|
201
|
+
normalizedState: Ae,
|
|
202
|
+
batchUpdateItems: Te
|
|
193
203
|
}), {
|
|
194
|
-
collectVisibleItemIds:
|
|
195
|
-
findItemsNotSelected:
|
|
196
|
-
collectVisibleItemsForCallback:
|
|
197
|
-
updateVisibleItems:
|
|
198
|
-
} =
|
|
199
|
-
findItemById:
|
|
200
|
-
getCategory:
|
|
201
|
-
}),
|
|
202
|
-
|
|
203
|
-
const
|
|
204
|
-
|
|
204
|
+
collectVisibleItemIds: ee,
|
|
205
|
+
findItemsNotSelected: te,
|
|
206
|
+
collectVisibleItemsForCallback: se,
|
|
207
|
+
updateVisibleItems: re
|
|
208
|
+
} = qe({
|
|
209
|
+
findItemById: W,
|
|
210
|
+
getCategory: I
|
|
211
|
+
}), _e = T(() => {
|
|
212
|
+
x.current = !0, g((e) => {
|
|
213
|
+
const s = ee(C), n = te(
|
|
214
|
+
C,
|
|
205
215
|
e,
|
|
206
|
-
|
|
216
|
+
s
|
|
207
217
|
);
|
|
208
218
|
if (n.size > 0) {
|
|
209
|
-
const
|
|
210
|
-
|
|
219
|
+
const a = new Set(n);
|
|
220
|
+
H(a), setTimeout(() => H(/* @__PURE__ */ new Set()), 600);
|
|
211
221
|
}
|
|
212
|
-
const u =
|
|
222
|
+
const u = re(
|
|
213
223
|
e,
|
|
214
|
-
|
|
215
|
-
!
|
|
216
|
-
),
|
|
217
|
-
if (t(
|
|
218
|
-
const
|
|
224
|
+
s,
|
|
225
|
+
!E
|
|
226
|
+
), d = v === U.INDEPENDENT ? u : oe(u);
|
|
227
|
+
if (t(d), r) {
|
|
228
|
+
const a = se(
|
|
219
229
|
e,
|
|
220
|
-
|
|
221
|
-
!
|
|
230
|
+
s,
|
|
231
|
+
!E
|
|
222
232
|
);
|
|
223
|
-
|
|
233
|
+
r(a);
|
|
224
234
|
}
|
|
225
|
-
return
|
|
235
|
+
return d;
|
|
226
236
|
});
|
|
227
237
|
}, [
|
|
228
|
-
|
|
238
|
+
E,
|
|
229
239
|
t,
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
$,
|
|
233
|
-
M,
|
|
234
|
-
G,
|
|
240
|
+
r,
|
|
241
|
+
C,
|
|
235
242
|
ee,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
243
|
+
te,
|
|
244
|
+
se,
|
|
245
|
+
re,
|
|
246
|
+
x,
|
|
247
|
+
g,
|
|
248
|
+
H,
|
|
249
|
+
v
|
|
250
|
+
]), ye = T(
|
|
251
|
+
(e, s) => {
|
|
252
|
+
const n = S ? Z(S, e.id) : !1, u = X.has(e.id), d = w ? !w(e, s) : e.isDragDisabled ?? !1;
|
|
253
|
+
return /* @__PURE__ */ L(
|
|
254
|
+
Fe,
|
|
245
255
|
{
|
|
246
256
|
item: e,
|
|
247
|
-
level:
|
|
248
|
-
isCollapsed:
|
|
249
|
-
onToggle:
|
|
250
|
-
onToggleCollapse:
|
|
251
|
-
isAnyDragging:
|
|
257
|
+
level: s,
|
|
258
|
+
isCollapsed: N[e.id] || !1,
|
|
259
|
+
onToggle: M,
|
|
260
|
+
onToggleCollapse: G,
|
|
261
|
+
isAnyDragging: S !== null,
|
|
252
262
|
isValidDrop: n,
|
|
253
263
|
enableDragDrop: m,
|
|
254
|
-
enableCollapse:
|
|
255
|
-
shouldBlink: u
|
|
264
|
+
enableCollapse: q,
|
|
265
|
+
shouldBlink: u,
|
|
266
|
+
isDragDisabled: d
|
|
256
267
|
},
|
|
257
268
|
e.id
|
|
258
269
|
);
|
|
259
270
|
},
|
|
260
271
|
[
|
|
261
|
-
|
|
262
|
-
|
|
272
|
+
N,
|
|
273
|
+
M,
|
|
274
|
+
G,
|
|
275
|
+
S,
|
|
263
276
|
Z,
|
|
264
|
-
C,
|
|
265
|
-
Q,
|
|
266
277
|
m,
|
|
278
|
+
X,
|
|
267
279
|
q,
|
|
268
|
-
|
|
280
|
+
w
|
|
269
281
|
]
|
|
270
|
-
),
|
|
271
|
-
p && (
|
|
272
|
-
}, [p,
|
|
273
|
-
p && (
|
|
274
|
-
}, [p,
|
|
275
|
-
return /* @__PURE__ */
|
|
282
|
+
), He = $(h).length > 0, ne = A(() => p ? h.length > 1e3 ? R !== V : JSON.stringify(h) !== JSON.stringify(b) : !1, [p, h, b, R, V]), We = T(() => {
|
|
283
|
+
p && (Q(h), we(R), c?.(h));
|
|
284
|
+
}, [p, h, c, Q, R]), je = T(() => {
|
|
285
|
+
p && (g(b), Y(V), o?.());
|
|
286
|
+
}, [p, b, o, g, V]);
|
|
287
|
+
return /* @__PURE__ */ le(
|
|
276
288
|
"div",
|
|
277
289
|
{
|
|
278
|
-
className:
|
|
290
|
+
className: Me("flex flex-col", ue),
|
|
279
291
|
"data-component": "nested-list",
|
|
280
|
-
"data-has-changes":
|
|
292
|
+
"data-has-changes": ne ? "" : void 0,
|
|
281
293
|
"data-list-collapsed": B ? "" : void 0,
|
|
282
294
|
children: [
|
|
283
|
-
/* @__PURE__ */
|
|
284
|
-
/* @__PURE__ */
|
|
285
|
-
|
|
295
|
+
/* @__PURE__ */ le("div", { className: "flex-shrink-0", children: [
|
|
296
|
+
/* @__PURE__ */ L(
|
|
297
|
+
Xe,
|
|
286
298
|
{
|
|
287
|
-
hasItemsWithChildren:
|
|
299
|
+
hasItemsWithChildren: He,
|
|
288
300
|
isListCollapsed: B,
|
|
289
|
-
onCollapseAll:
|
|
301
|
+
onCollapseAll: Ve,
|
|
290
302
|
enableSearch: f,
|
|
291
|
-
enableSelectAll:
|
|
292
|
-
groupLabel:
|
|
293
|
-
allChecked:
|
|
294
|
-
isIndeterminate:
|
|
295
|
-
onSelectAll:
|
|
296
|
-
searchText:
|
|
303
|
+
enableSelectAll: ae,
|
|
304
|
+
groupLabel: fe,
|
|
305
|
+
allChecked: E,
|
|
306
|
+
isIndeterminate: Oe,
|
|
307
|
+
onSelectAll: _e,
|
|
308
|
+
searchText: z,
|
|
297
309
|
onSearchChange: (e) => {
|
|
298
|
-
|
|
310
|
+
ge(e.target.value);
|
|
299
311
|
},
|
|
300
|
-
searchPlaceholder:
|
|
301
|
-
selectAllLabel:
|
|
302
|
-
enableCollapse:
|
|
312
|
+
searchPlaceholder: Ce,
|
|
313
|
+
selectAllLabel: P("nestedList.selectAll"),
|
|
314
|
+
enableCollapse: pe
|
|
303
315
|
}
|
|
304
316
|
),
|
|
305
|
-
/* @__PURE__ */
|
|
306
|
-
|
|
317
|
+
/* @__PURE__ */ L(
|
|
318
|
+
Ye,
|
|
307
319
|
{
|
|
308
320
|
isListCollapsed: B,
|
|
309
|
-
enableGroupBy:
|
|
310
|
-
categories:
|
|
321
|
+
enableGroupBy: k,
|
|
322
|
+
categories: xe,
|
|
311
323
|
selectedCategories: O,
|
|
312
|
-
onToggleCategory:
|
|
324
|
+
onToggleCategory: Ue
|
|
313
325
|
}
|
|
314
326
|
)
|
|
315
327
|
] }),
|
|
316
|
-
/* @__PURE__ */
|
|
317
|
-
|
|
328
|
+
/* @__PURE__ */ L("div", { className: "flex-1 min-h-0 overflow-hidden", children: /* @__PURE__ */ L(
|
|
329
|
+
Ze,
|
|
318
330
|
{
|
|
319
331
|
isListCollapsed: B,
|
|
320
332
|
enableDragDrop: m,
|
|
321
|
-
sensors:
|
|
322
|
-
items:
|
|
323
|
-
renderItem:
|
|
324
|
-
activeId:
|
|
333
|
+
sensors: Pe,
|
|
334
|
+
items: ze,
|
|
335
|
+
renderItem: ye,
|
|
336
|
+
activeId: S,
|
|
325
337
|
onDragStart: (e) => {
|
|
326
|
-
|
|
338
|
+
_(e.active.id);
|
|
327
339
|
},
|
|
328
340
|
onDragOver: (e) => {
|
|
329
|
-
|
|
341
|
+
y(e.over?.id);
|
|
330
342
|
},
|
|
331
343
|
onDragEnd: (e) => {
|
|
332
|
-
|
|
333
|
-
const n =
|
|
334
|
-
|
|
344
|
+
_(null), y(null), x.current = !0, be(e, (s) => {
|
|
345
|
+
const n = s(h);
|
|
346
|
+
g(n), t(n);
|
|
335
347
|
});
|
|
336
348
|
},
|
|
337
349
|
onDragCancel: () => {
|
|
338
|
-
|
|
350
|
+
_(null), y(null);
|
|
339
351
|
}
|
|
340
352
|
}
|
|
341
353
|
) }),
|
|
342
|
-
/* @__PURE__ */
|
|
343
|
-
|
|
354
|
+
/* @__PURE__ */ L(
|
|
355
|
+
$e,
|
|
344
356
|
{
|
|
345
357
|
enableApplyDiscard: p,
|
|
346
|
-
hasChanges:
|
|
347
|
-
onDiscard:
|
|
348
|
-
onApply:
|
|
349
|
-
cancelButtonLabel:
|
|
350
|
-
submitButtonLabel:
|
|
358
|
+
hasChanges: ne,
|
|
359
|
+
onDiscard: je,
|
|
360
|
+
onApply: We,
|
|
361
|
+
cancelButtonLabel: ve,
|
|
362
|
+
submitButtonLabel: Ie
|
|
351
363
|
}
|
|
352
364
|
)
|
|
353
365
|
]
|
|
@@ -355,5 +367,5 @@ const ne = (d, t) => {
|
|
|
355
367
|
);
|
|
356
368
|
};
|
|
357
369
|
export {
|
|
358
|
-
|
|
370
|
+
mt as NestedList
|
|
359
371
|
};
|
|
@@ -34,6 +34,8 @@ export interface ExtendedHeaderComponentParams extends Partial<IHeaderParams> {
|
|
|
34
34
|
enableSpaceSplitting?: boolean;
|
|
35
35
|
enableBooleanParsing?: boolean;
|
|
36
36
|
enableDateParsing?: boolean;
|
|
37
|
+
/** Which picker to render for date columns. Default: 'date' */
|
|
38
|
+
datePickerVariant?: 'date' | 'month';
|
|
37
39
|
/** Generic info data for the info modal */
|
|
38
40
|
infoData?: InfoContent;
|
|
39
41
|
/** How to display the information (tooltip or modal) */
|
|
@@ -56,6 +56,9 @@ export interface NestedListProps {
|
|
|
56
56
|
enableGlobalCollapse?: boolean;
|
|
57
57
|
selectionMode?: SelectionMode;
|
|
58
58
|
getCategory?: (item: NestedListItem) => string | undefined;
|
|
59
|
+
initialCollapsedItems?: Record<string, boolean>;
|
|
60
|
+
onCollapseChange?: (collapsedItems: Record<string, boolean>) => void;
|
|
61
|
+
canDrag?: (item: NestedListItem, level: number) => boolean;
|
|
59
62
|
searchPlaceholder?: string;
|
|
60
63
|
className?: string;
|
|
61
64
|
groupLabel?: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "impact-nova",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.31",
|
|
4
4
|
"description": "Enterprise-grade React design system built with React 19, Vite, Tailwind CSS, and Radix UI. Built-in internationalization (i18n) and comprehensive UI component library for scalable, accessible, and performant applications.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|