impact-nova 2.5.12 → 2.5.13

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 (127) hide show
  1. package/dist/components/data/data-table/build-column-tree-from-grid.d.ts +1 -0
  2. package/dist/components/data/data-table/build-column-tree-from-grid.js +55 -50
  3. package/dist/components/data/data-table/column-picker-authority.d.ts +34 -0
  4. package/dist/components/data/data-table/column-picker-authority.js +116 -0
  5. package/dist/components/data/data-table/column-picker-drop-validation.d.ts +7 -0
  6. package/dist/components/data/data-table/column-picker-drop-validation.js +37 -0
  7. package/dist/components/data/data-table/data-table-column-apply.d.ts +2 -0
  8. package/dist/components/data/data-table/data-table-column-apply.js +84 -73
  9. package/dist/components/data/data-table/data-table-column-list-tree-apply.d.ts +10 -0
  10. package/dist/components/data/data-table/data-table-column-list-tree-apply.js +79 -0
  11. package/dist/components/data/data-table/data-table-column-list.js +94 -64
  12. package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +12 -6
  13. package/dist/components/data/data-table/data-table-column-tree-cache.js +250 -131
  14. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.d.ts +26 -0
  15. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.js +195 -0
  16. package/dist/components/data/data-table/data-table-picker-column-eligibility.d.ts +1 -0
  17. package/dist/components/data/data-table/data-table-picker-column-eligibility.js +7 -0
  18. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.d.ts +5 -0
  19. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.js +28 -11
  20. package/dist/components/data/data-table/reconcile-column-tree-from-grid.d.ts +12 -0
  21. package/dist/components/data/data-table/reconcile-column-tree-from-grid.js +12 -0
  22. package/dist/components/data/data-table/use-data-table-column-list-sync.d.ts +10 -0
  23. package/dist/components/data/data-table/use-data-table-column-list-sync.js +250 -196
  24. package/dist/components/data/nested-list/components/NestedListContent.d.ts +10 -2
  25. package/dist/components/data/nested-list/components/NestedListContent.js +253 -138
  26. package/dist/components/data/nested-list/components/SortableItem.d.ts +2 -1
  27. package/dist/components/data/nested-list/components/SortableItem.js +62 -60
  28. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +10 -20
  29. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +44 -233
  30. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +24 -0
  31. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +128 -0
  32. package/dist/components/data/nested-list/nested-list-constants.d.ts +4 -1
  33. package/dist/components/data/nested-list/nested-list-constants.js +10 -4
  34. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +11 -0
  35. package/dist/components/data/nested-list/nested-list-display-utils.js +74 -0
  36. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +31 -0
  37. package/dist/components/data/nested-list/nested-list-drop-engine.js +209 -0
  38. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +26 -0
  39. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +67 -0
  40. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +4 -0
  41. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +43 -0
  42. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +3 -0
  43. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +34 -0
  44. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +9 -0
  45. package/dist/components/data/nested-list/nested-list-row-estimates.js +14 -0
  46. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +36 -0
  47. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +47 -0
  48. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +59 -0
  49. package/dist/components/data/nested-list/nested-list-virtual-drop.js +341 -0
  50. package/dist/components/data/nested-list/nested-list.js +322 -336
  51. package/dist/components/data/nested-list/nested-list.types.d.ts +17 -0
  52. package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +0 -2
  53. package/dist/components/data-display/calendar/calendar-apply-validation.js +67 -64
  54. package/dist/components/data-display/calendar/calendar-config.js +1 -1
  55. package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +2 -4
  56. package/dist/components/data-display/calendar/calendar-day-picker-components.js +164 -234
  57. package/dist/components/data-display/calendar/calendar-day-picker-view.js +76 -77
  58. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.d.ts +0 -6
  59. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.js +18 -34
  60. package/dist/components/data-display/calendar/calendar-footer.js +21 -21
  61. package/dist/components/data-display/calendar/calendar-month-picker-panel.js +49 -50
  62. package/dist/components/data-display/calendar/calendar-month-utils.d.ts +0 -5
  63. package/dist/components/data-display/calendar/calendar-month-utils.js +64 -85
  64. package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +1 -3
  65. package/dist/components/data-display/calendar/calendar-padding-week.utils.js +5 -7
  66. package/dist/components/data-display/calendar/calendar-period-cell.js +46 -45
  67. package/dist/components/data-display/calendar/calendar-quarter-panes.js +31 -33
  68. package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +0 -10
  69. package/dist/components/data-display/calendar/calendar-selection-appearance.js +39 -53
  70. package/dist/components/data-display/calendar/calendar-selection.d.ts +0 -25
  71. package/dist/components/data-display/calendar/calendar-selection.js +23 -52
  72. package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +1 -2
  73. package/dist/components/data-display/calendar/calendar-week-number-cell.js +45 -59
  74. package/dist/components/data-display/calendar/calendar-week-utils.d.ts +3 -13
  75. package/dist/components/data-display/calendar/calendar-week-utils.js +50 -59
  76. package/dist/components/data-display/calendar/calendar-year-panes.d.ts +0 -3
  77. package/dist/components/data-display/calendar/calendar-year-panes.js +49 -53
  78. package/dist/components/data-display/calendar/calendar.js +143 -146
  79. package/dist/components/data-display/calendar/calendar.types.d.ts +0 -5
  80. package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +1 -2
  81. package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +74 -79
  82. package/dist/components/data-display/calendar/use-calendar-state.d.ts +1 -3
  83. package/dist/components/data-display/calendar/use-calendar-state.js +325 -403
  84. package/dist/components/forms/date-picker/date-picker.js +58 -60
  85. package/dist/components/forms/date-picker/date-picker.types.d.ts +0 -5
  86. package/dist/components/forms/date-picker/date-range-picker.js +64 -66
  87. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +0 -1
  88. package/dist/components/forms/date-picker/fiscal-pass-through.js +2 -3
  89. package/dist/components/forms/date-picker/month-picker.js +59 -61
  90. package/dist/components/forms/date-picker/month-range-picker.js +61 -63
  91. package/dist/components/forms/date-picker/multi-date-picker.js +49 -51
  92. package/dist/components/forms/date-picker/multi-month-picker.js +47 -49
  93. package/dist/components/forms/date-picker/multi-quarter-picker.js +47 -51
  94. package/dist/components/forms/date-picker/multi-week-picker.js +51 -53
  95. package/dist/components/forms/date-picker/multi-year-picker.js +49 -53
  96. package/dist/components/forms/date-picker/quarter-picker.js +47 -51
  97. package/dist/components/forms/date-picker/quarter-range-picker.js +46 -50
  98. package/dist/components/forms/date-picker/week-picker.js +66 -68
  99. package/dist/components/forms/date-picker/week-range-picker.js +80 -82
  100. package/dist/components/forms/date-picker/year-picker.js +48 -52
  101. package/dist/components/forms/date-picker/year-range-picker.js +48 -52
  102. package/dist/form-react/Fields/DateInputField.js +50 -51
  103. package/dist/form-react/Fields/DateRangeField.js +13 -14
  104. package/dist/form-react/Fields/MonthRangeField.js +28 -29
  105. package/dist/form-react/Fields/MultiMonthPickerField.js +12 -13
  106. package/dist/form-react/Fields/MultiWeekPickerField.js +27 -35
  107. package/dist/form-react/Fields/WeekRangePicker.js +32 -33
  108. package/dist/form-react/types/fields.types.d.ts +0 -14
  109. package/dist/impact-nova-components.css +6 -13
  110. package/dist/impact-nova.css +1 -1
  111. package/dist/lib/fiscal-calendar/week-selection.js +2 -2
  112. package/dist/lib/hash/fnv1a128.d.ts +16 -0
  113. package/dist/lib/hash/fnv1a128.js +21 -0
  114. package/dist/llms/rules/ag-grid.js +1 -1
  115. package/dist/llms/rules/installation.js +1 -1
  116. package/dist/llms/rules/requirements.js +1 -1
  117. package/package.json +1 -1
  118. package/dist/components/data-display/calendar/calendar-available-view.d.ts +0 -27
  119. package/dist/components/data-display/calendar/calendar-available-view.js +0 -85
  120. package/dist/components/data-display/calendar/calendar-fiscal-day-cell.d.ts +0 -9
  121. package/dist/components/data-display/calendar/calendar-fiscal-day-cell.js +0 -45
  122. package/dist/components/data-display/calendar/calendar-injected-week-row.d.ts +0 -5
  123. package/dist/components/data-display/calendar/calendar-injected-week-row.js +0 -92
  124. package/dist/components/data-display/calendar/calendar-leading-week.utils.d.ts +0 -16
  125. package/dist/components/data-display/calendar/calendar-leading-week.utils.js +0 -51
  126. package/dist/components/data-display/calendar/calendar-orphan-week.d.ts +0 -23
  127. package/dist/components/forms/date-picker/fiscal-picker-fixtures.d.ts +0 -17
@@ -1,392 +1,378 @@
1
- import { jsx as S, jsxs as ie } from "react/jsx-runtime";
2
- import X, { useMemo as T, useCallback as A } from "react";
3
- import { SortableItem as Ke } from "./components/SortableItem.js";
4
- import { SelectionMode as _ } from "./nested-list.types.js";
5
- import { useNestedListDragDrop as Qe } from "./hooks/useNestedListDragDrop.js";
6
- import { useNestedListSelectAll as Xe } from "./hooks/useNestedListSelectAll.js";
7
- import { useNestedListState as Ye } from "./hooks/useNestedListState.js";
8
- import { useNestedListHandlers as Ze } from "./hooks/useNestedListHandlers.js";
9
- import { NestedListHeader as $e } from "./components/NestedListHeader.js";
10
- import { NestedListCategoryFilters as Me } from "./components/NestedListCategoryFilters.js";
11
- import { NestedListContent as Ge } from "./components/NestedListContent.js";
12
- import { NestedListApplyDiscardButtons as et } from "./components/NestedListApplyDiscardButtons.js";
13
- import { shouldUseNestedListRevisionTracking as tt, computeNestedListHasChanges as st } from "./nested-list-change-detection.js";
14
- import { cn as rt } from "../../../lib/utils.js";
15
- import { useImpactNovaI18n as nt } from "../../../i18n/use-impact-nova-i18n.js";
16
- const ae = (i, t) => {
17
- if (!t || typeof t != "string") return i;
18
- const o = t.toLowerCase(), c = [];
19
- return i.forEach((n) => {
20
- const d = n.label.toLowerCase().includes(o), l = n.children ? ae(n.children, t) : void 0;
21
- (d || l && l.length > 0) && c.push({
22
- ...n,
23
- children: l || n.children
24
- });
25
- }), c;
26
- }, he = (i) => i.map((t) => {
27
- if (t.children && t.children.length > 0) {
28
- const o = he(t.children), c = o.every((n) => n.checked);
29
- return {
30
- ...t,
31
- checked: c,
32
- children: o
33
- };
34
- }
35
- return t;
36
- }), lt = (i, t) => {
37
- const o = /* @__PURE__ */ new Set(), c = (n) => {
38
- n.forEach((d) => {
39
- const l = t ? t(d) : d.category;
40
- l && o.add(l), d.children && c(d.children);
41
- });
42
- };
43
- return c(i), Array.from(o).sort();
44
- }, ue = (i, t, o) => {
45
- if (t.size === 0) return i;
46
- const c = [];
47
- return i.forEach((n) => {
48
- const d = o ? o(n) : n.category, l = d && t.has(d), m = n.children ? ue(n.children, t, o) : void 0;
49
- (l || m && m.length > 0) && c.push({
50
- ...n,
51
- children: m
52
- });
53
- }), c;
54
- }, fe = (i, t, o, c = 0, n = 0) => {
55
- const d = [];
56
- return i.forEach((l) => {
57
- if (d.push({
58
- item: l,
59
- level: c,
60
- indentLevel: l.category === "structure" ? 0 : n
61
- }), !t[l.id] && l.children && l.children.length > 0 && l.id !== o) {
62
- const y = l.category === "structure" ? 0 : n + 1;
63
- d.push(
64
- ...fe(
65
- l.children,
66
- t,
67
- o,
68
- c + 1,
69
- y
70
- )
71
- );
72
- }
73
- }), d;
74
- }, St = ({
75
- items: i,
76
- onChange: t,
77
- onSubmit: o,
78
- onCancel: c,
79
- onItemToggle: n,
80
- onDragEnd: d,
81
- renderLabelExtras: l,
82
- renderActions: m,
83
- enableSearch: y = !0,
84
- enableDragDrop: H = !0,
85
- enableSelectAll: pe = !0,
86
- enableGroupBy: g = !1,
87
- getCategory: C,
88
- searchPlaceholder: me,
89
- className: Ie = "",
1
+ import { jsx as v, jsxs as he } from "react/jsx-runtime";
2
+ import K, { useMemo as C, useCallback as c, useRef as Ge } from "react";
3
+ import { SortableItem as Oe } from "./components/SortableItem.js";
4
+ import { SelectionMode as Ie } from "./nested-list.types.js";
5
+ import { useNestedListDragDrop as Me } from "./hooks/useNestedListDragDrop.js";
6
+ import { useNestedListSelectAll as et } from "./hooks/useNestedListSelectAll.js";
7
+ import { useNestedListState as tt } from "./hooks/useNestedListState.js";
8
+ import { useNestedListHandlers as st } from "./hooks/useNestedListHandlers.js";
9
+ import { NestedListHeader as it } from "./components/NestedListHeader.js";
10
+ import { NestedListCategoryFilters as lt } from "./components/NestedListCategoryFilters.js";
11
+ import { NestedListContent as ot } from "./components/NestedListContent.js";
12
+ import { NestedListApplyDiscardButtons as rt } from "./components/NestedListApplyDiscardButtons.js";
13
+ import { applyNestedListDrop as nt } from "./nested-list-drop-engine.js";
14
+ import { shouldUseNestedListRevisionTracking as at, computeNestedListHasChanges as ct } from "./nested-list-change-detection.js";
15
+ import { countNestedListLeaves as dt, computeNestedListSubtreeLeafSelection as mt } from "./nested-list-tree-utils.js";
16
+ import { extractNestedListCategories as ft, filterNestedListItemsByCategories as ut, filterNestedListItemsBySearch as ht, flattenNestedListTree as It, updateNestedListParentCheckedState as Lt } from "./nested-list-display-utils.js";
17
+ import { updateNestedListParentsUpward as pt, collectNestedListGroupItemIds as Nt, findNestedListItemById as Le } from "./nested-list-item-tree-mutations.js";
18
+ import { resolveVirtualDropReorderIndices as St, computeFlatVirtualHeaderSelection as gt, triggerFlatVirtualSelectAll as vt, triggerFlatVirtualItemToggle as Ct } from "./nested-list-flat-virtual-handlers.js";
19
+ import { resolveGroupHeaderDropTarget as kt } from "./nested-list-virtual-drop.js";
20
+ import { cn as xt } from "../../../lib/utils.js";
21
+ import { useImpactNovaI18n as Tt } from "../../../i18n/use-impact-nova-i18n.js";
22
+ const Xt = ({
23
+ items: Q,
24
+ onChange: u,
25
+ onSubmit: X,
26
+ onCancel: Y,
27
+ onItemToggle: h,
28
+ onDragEnd: y,
29
+ renderLabelExtras: Z,
30
+ renderActions: $,
31
+ enableSearch: pe = !0,
32
+ enableDragDrop: E = !0,
33
+ enableSelectAll: Ne = !0,
34
+ enableGroupBy: k = !1,
35
+ getCategory: I,
36
+ searchPlaceholder: Se,
37
+ className: ge = "",
90
38
  groupLabel: ve,
91
- enableApplyDiscard: p = !1,
92
- enableCollapse: Y = !0,
39
+ enableApplyDiscard: B = !1,
40
+ enableCollapse: G = !0,
93
41
  enableGlobalCollapse: Ce = !0,
94
- submitButtonLabel: Ne,
95
- cancelButtonLabel: Le,
96
- selectionMode: N = _.CASCADE_DOWN,
97
- initialCollapsedItems: Se,
98
- onCollapseChange: Z,
99
- canDrag: w
42
+ submitButtonLabel: ke,
43
+ cancelButtonLabel: xe,
44
+ selectionMode: x = Ie.CASCADE_DOWN,
45
+ initialCollapsedItems: Te,
46
+ onCollapseChange: O,
47
+ canDrag: L,
48
+ isValidDropTarget: U,
49
+ dragMode: V,
50
+ onVirtualReorder: F,
51
+ onVirtualDrop: _,
52
+ flatVirtualRowResolver: j,
53
+ onFlatVirtualSelectAll: M
100
54
  }) => {
101
- const { t: P } = nt(), ge = me ?? P("nestedList.searchPlaceholder"), ke = Ne ?? P("nestedList.apply"), Ee = Le ?? P("nestedList.reset"), {
102
- items: h,
103
- setItems: L,
104
- itemsRef: O,
105
- savedItems: x,
106
- setSavedItems: $,
107
- markUserChange: R,
108
- searchText: b,
109
- setSearchText: De,
110
- collapsedItems: I,
111
- setCollapsedItems: Te,
112
- isListCollapsed: z,
113
- setIsListCollapsed: Ae,
114
- activeId: v,
55
+ const { t: b } = Tt(), De = Se ?? b("nestedList.searchPlaceholder"), Be = ke ?? b("nestedList.apply"), be = xe ?? b("nestedList.reset"), {
56
+ items: s,
57
+ setItems: a,
58
+ itemsRef: T,
59
+ savedItems: w,
60
+ setSavedItems: ee,
61
+ markUserChange: n,
62
+ searchText: p,
63
+ setSearchText: we,
64
+ collapsedItems: o,
65
+ setCollapsedItems: Ae,
66
+ isListCollapsed: A,
67
+ setIsListCollapsed: He,
68
+ activeId: d,
115
69
  setActiveId: W,
116
- setOverId: j,
117
- selectedCategories: B,
118
- setSelectedCategories: we,
119
- itemsToBlink: M,
120
- setItemsToBlink: F,
121
- // Normalized state helpers (for optimized operations)
122
- isNormalized: Pe,
123
- normalizedState: xe,
124
- batchUpdateItems: Re
125
- } = Ye({
126
- initialItems: i,
127
- enableApplyDiscard: p,
128
- // Enable normalized state for large datasets (can be made configurable via props)
129
- enableNormalizedState: tt(i.length),
130
- initialCollapsedItems: Se
131
- });
132
- X.useEffect(() => {
133
- Z?.(I);
134
- }, [I, Z]);
135
- const [V, G] = X.useState(0), [U, be] = X.useState(0), {
136
- sensors: ze,
137
- handleDragEnd: Be,
138
- isValidDrop: ee
139
- } = Qe({
140
- items: h,
141
- onDragEnd: d,
142
- collapsedItems: I,
143
- canDrag: w
144
- }), Ve = T(
145
- () => g ? lt(h, C) : [],
146
- [h, g, C]
147
- ), k = T(() => {
148
- let e = h;
149
- return g && B.size > 0 && (e = ue(e, B, C)), b && (e = ae(e, b)), e;
150
- }, [h, b, g, B, C]), q = T(
151
- () => fe(k, I, v),
152
- [k, I, v]
153
- ), { allChecked: E, someChecked: Ue } = T(() => {
154
- let e = !0, s = !1;
155
- for (const { item: r } of q)
156
- if (!(!(!r.children || r.children.length === 0) || r.category === "structure") && (r.checked ? s = !0 : e = !1, s && !e))
157
- break;
158
- return { allChecked: e && s, someChecked: s };
159
- }, [q]), _e = Ue && !E, J = (e, s) => {
160
- for (const r of e) {
161
- if (r.id === s) return r;
162
- if (r.children) {
163
- const u = J(r.children, s);
164
- if (u) return u;
165
- }
70
+ setOverId: q,
71
+ selectedCategories: H,
72
+ setSelectedCategories: Pe,
73
+ itemsToBlink: te,
74
+ setItemsToBlink: J,
75
+ isNormalized: ze,
76
+ normalizedState: Re,
77
+ batchUpdateItems: ye
78
+ } = tt({
79
+ initialItems: Q,
80
+ enableApplyDiscard: B,
81
+ enableNormalizedState: j != null || at(dt(Q)),
82
+ initialCollapsedItems: Te
83
+ }), l = C(
84
+ () => j?.(p) ?? null,
85
+ [j, p]
86
+ );
87
+ K.useEffect(() => {
88
+ O?.(o);
89
+ }, [o, O]);
90
+ const [P, se] = K.useState(0), [z, Ee] = K.useState(0), {
91
+ sensors: Ue,
92
+ handleDragEnd: Ve,
93
+ isValidDrop: ie
94
+ } = Me({
95
+ items: s,
96
+ onDragEnd: y,
97
+ collapsedItems: o,
98
+ canDrag: L,
99
+ isValidDropTarget: U
100
+ }), Fe = C(
101
+ () => k ? ft(s, I) : [],
102
+ [s, k, I]
103
+ ), m = C(() => {
104
+ let e = s;
105
+ return k && H.size > 0 && (e = ut(e, H, I)), p && (e = ht(e, p)), e;
106
+ }, [s, p, k, H, I]), N = C(() => l ? [] : It(m, o, d), [l, m, o, d]), le = c((e, t, i) => {
107
+ n();
108
+ let r = t, f = i;
109
+ if (N.find((g) => g.item.id === t)?.item.category === "group") {
110
+ const g = kt(
111
+ N,
112
+ t,
113
+ i,
114
+ o
115
+ );
116
+ r = g.overId, f = g.insertAfter;
166
117
  }
167
- return null;
168
- }, ye = A(
169
- (e, s) => {
170
- if (N === _.INDEPENDENT)
171
- return e;
172
- const r = (f, a) => f.id === a ? !0 : f.children ? f.children.some(
173
- (D) => r(D, a)
174
- ) : !1, u = (f) => f.map((a) => {
175
- if (a.id === s)
176
- return a;
177
- if (a.children && r(a, s)) {
178
- const D = u(a.children);
179
- let K;
180
- return N === _.CASCADE_UP_DOWN ? K = D.some((Q) => Q.checked) : K = D.every((Q) => Q.checked), {
181
- ...a,
182
- checked: K,
183
- children: D
184
- };
185
- }
186
- return a;
187
- });
188
- return u(e);
189
- },
190
- [N]
191
- ), te = (e) => {
192
- const s = [];
193
- return e.forEach((r) => {
194
- r.children && r.children.length > 0 && (s.push(r.id), s.push(...te(r.children)));
195
- }), s;
196
- }, {
197
- handleToggle: se,
118
+ const D = nt(s, {
119
+ activeId: e,
120
+ overId: r,
121
+ insertAfter: f,
122
+ collapsedItems: o,
123
+ canDrag: L,
124
+ isValidDropTarget: U
125
+ });
126
+ D !== s && (a(D), u(D), y?.(e, t));
127
+ }, [s, N, o, L, U, n, u, y, a]), _e = c((e, t, i) => {
128
+ if (_) {
129
+ e !== t && _(e, t, i);
130
+ return;
131
+ }
132
+ const r = St({
133
+ activeId: e,
134
+ overId: t,
135
+ insertAfter: i,
136
+ flatVirtualRowModel: l,
137
+ displayItems: N,
138
+ onVirtualReorder: F
139
+ });
140
+ if (r) {
141
+ F?.(r.fromIndex, r.toIndex);
142
+ return;
143
+ }
144
+ le(e, t, i);
145
+ }, [N, l, le, _, F]), { allChecked: S, someChecked: je } = C(() => {
146
+ if (l)
147
+ return gt(l);
148
+ const { totalLeafCount: e, checkedLeafCount: t } = mt(m);
149
+ return {
150
+ allChecked: e > 0 && t === e,
151
+ someChecked: t > 0
152
+ };
153
+ }, [m, l]), We = je && !S, qe = c(
154
+ (e, t) => pt(e, t, x),
155
+ [x]
156
+ ), {
157
+ handleToggle: oe,
198
158
  handleToggleCollapse: re,
199
- handleCollapseAll: He,
200
- handleToggleCategory: Oe
201
- } = Ze({
202
- setItems: L,
203
- itemsRef: O,
204
- findItemById: J,
205
- updateParentsUpward: ye,
159
+ handleCollapseAll: Je,
160
+ handleToggleCategory: Ke
161
+ } = st({
162
+ setItems: a,
163
+ itemsRef: T,
164
+ findItemById: Le,
165
+ updateParentsUpward: qe,
206
166
  onChange: (e) => {
207
- G((s) => s + 1), t(e);
167
+ se((t) => t + 1), u(e);
208
168
  },
209
- onItemToggle: n,
210
- getCategory: C,
211
- setCollapsedItems: Te,
212
- setIsListCollapsed: Ae,
213
- setSelectedCategories: we,
214
- markUserChange: R,
215
- selectionMode: N,
216
- // Pass normalized state helpers for optimized operations
217
- isNormalized: Pe,
218
- normalizedState: xe,
219
- batchUpdateItems: Re
220
- }), {
221
- collectVisibleItemIds: ne,
222
- findItemsNotSelected: le,
223
- collectVisibleItemsForCallback: oe,
224
- updateVisibleItems: ce
225
- } = Xe({
226
- findItemById: J,
227
- getCategory: C
228
- }), We = A(() => {
229
- R();
230
- const e = O.current, s = ne(k), r = le(
231
- k,
169
+ onItemToggle: h,
170
+ getCategory: I,
171
+ setCollapsedItems: Ae,
172
+ setIsListCollapsed: He,
173
+ setSelectedCategories: Pe,
174
+ markUserChange: n,
175
+ selectionMode: x,
176
+ isNormalized: ze,
177
+ normalizedState: Re,
178
+ batchUpdateItems: ye
179
+ }), ne = Ge(re), {
180
+ collectVisibleItemIds: ae,
181
+ findItemsNotSelected: ce,
182
+ collectVisibleItemsForCallback: de,
183
+ updateVisibleItems: me
184
+ } = et({
185
+ findItemById: Le,
186
+ getCategory: I
187
+ }), Qe = c(() => {
188
+ if (vt(l, S, M)) {
189
+ n();
190
+ return;
191
+ }
192
+ n();
193
+ const e = T.current, t = ae(m), i = ce(
194
+ m,
232
195
  e,
233
- s
196
+ t
234
197
  );
235
- r.size > 0 && (F(new Set(r)), setTimeout(() => F(/* @__PURE__ */ new Set()), 600));
236
- const u = ce(
198
+ i.size > 0 && (J(new Set(i)), setTimeout(() => J(/* @__PURE__ */ new Set()), 600));
199
+ const r = me(
237
200
  e,
238
- s,
239
- !E
240
- ), f = N === _.INDEPENDENT ? u : he(u);
241
- if (L(f), t(f), n) {
242
- const a = oe(
201
+ t,
202
+ !S
203
+ ), f = x === Ie.INDEPENDENT ? r : Lt(r);
204
+ if (a(f), u(f), h) {
205
+ const R = de(
243
206
  e,
244
- s,
245
- !E
207
+ t,
208
+ !S
246
209
  );
247
- n(a);
210
+ h(R);
248
211
  }
249
212
  }, [
250
- E,
251
- t,
252
- n,
253
- k,
254
- ne,
255
- le,
256
- oe,
213
+ S,
214
+ l,
215
+ u,
216
+ M,
217
+ h,
218
+ m,
219
+ ae,
257
220
  ce,
258
- R,
259
- O,
260
- L,
261
- F,
262
- N
263
- ]), je = A(
264
- (e, s, r) => {
265
- const u = v ? ee(v, e.id) : !1, f = M.has(e.id), a = w ? !w(e, s) : e.isDragDisabled ?? !1;
266
- return /* @__PURE__ */ S(
267
- Ke,
221
+ de,
222
+ me,
223
+ n,
224
+ T,
225
+ a,
226
+ J,
227
+ x
228
+ ]), fe = c(
229
+ (e) => {
230
+ if (l) {
231
+ n(), Ct(
232
+ l,
233
+ T.current,
234
+ e,
235
+ h
236
+ );
237
+ return;
238
+ }
239
+ oe(e);
240
+ },
241
+ [l, n, h, T, oe]
242
+ ), Xe = c(
243
+ (e, t, i, r) => {
244
+ const f = d ? ie(d, e.id) : !1, R = te.has(e.id), D = L ? !L(e, t) : e.isDragDisabled ?? !1;
245
+ return /* @__PURE__ */ v(
246
+ Oe,
268
247
  {
269
248
  item: e,
270
- level: s,
271
- indentLevel: r,
272
- isCollapsed: I[e.id] || !1,
273
- onToggle: se,
274
- onToggleCollapse: re,
275
- isAnyDragging: v !== null,
276
- isValidDrop: u,
277
- enableDragDrop: H,
278
- enableCollapse: Y,
279
- shouldBlink: f,
280
- isDragDisabled: a,
281
- renderLabelExtras: l,
282
- renderActions: m
249
+ level: t,
250
+ indentLevel: i,
251
+ isCollapsed: o[e.id] || !1,
252
+ onToggle: fe,
253
+ onToggleCollapse: (g) => ne.current(g),
254
+ isAnyDragging: r?.isAnyDragging ?? d !== null,
255
+ isValidDrop: f,
256
+ enableDragDrop: E,
257
+ dragMode: V,
258
+ enableCollapse: G,
259
+ shouldBlink: R,
260
+ isDragDisabled: D,
261
+ renderLabelExtras: Z,
262
+ renderActions: $
283
263
  },
284
264
  e.id
285
265
  );
286
266
  },
287
267
  [
288
- I,
289
- se,
290
- re,
291
- v,
292
- ee,
293
- H,
294
- M,
295
- Y,
296
- w,
297
- l,
298
- m
268
+ o,
269
+ fe,
270
+ d,
271
+ ie,
272
+ E,
273
+ V,
274
+ te,
275
+ G,
276
+ L,
277
+ Z,
278
+ $
299
279
  ]
300
- ), Fe = te(h).length > 0, de = T(
301
- () => st({
302
- enableApplyDiscard: p,
303
- items: h,
304
- savedItems: x,
305
- revision: V,
306
- savedRevision: U
280
+ ), Ye = Nt(s).length > 0, ue = C(
281
+ () => ct({
282
+ enableApplyDiscard: B,
283
+ items: s,
284
+ savedItems: w,
285
+ revision: P,
286
+ savedRevision: z
307
287
  }),
308
- [p, h, x, V, U]
309
- ), qe = A(() => {
310
- p && ($(h), be(V), o?.(h));
311
- }, [p, h, o, $, V]), Je = A(() => {
312
- p && (L(x), G(U), c?.());
313
- }, [p, x, c, L, U]);
314
- return /* @__PURE__ */ ie(
288
+ [B, s, w, P, z]
289
+ ), Ze = c(() => {
290
+ ee(s), Ee(P), X?.(s);
291
+ }, [s, X, ee, P]), $e = c(() => {
292
+ a(w), se(z), Y?.();
293
+ }, [w, Y, a, z]);
294
+ return /* @__PURE__ */ he(
315
295
  "div",
316
296
  {
317
- className: rt("flex flex-col min-h-0", Ie),
297
+ className: xt("flex flex-col min-h-0", ge),
318
298
  "data-component": "nested-list",
319
- "data-has-changes": de ? "" : void 0,
320
- "data-list-collapsed": z ? "" : void 0,
299
+ "data-has-changes": ue ? "" : void 0,
300
+ "data-list-collapsed": A ? "" : void 0,
321
301
  children: [
322
- /* @__PURE__ */ ie("div", { className: "flex-shrink-0", children: [
323
- /* @__PURE__ */ S(
324
- $e,
302
+ /* @__PURE__ */ he("div", { className: "flex-shrink-0", children: [
303
+ /* @__PURE__ */ v(
304
+ it,
325
305
  {
326
- hasItemsWithChildren: Fe,
327
- isListCollapsed: z,
328
- onCollapseAll: He,
329
- enableSearch: y,
330
- enableSelectAll: pe,
306
+ hasItemsWithChildren: Ye,
307
+ isListCollapsed: A,
308
+ onCollapseAll: Je,
309
+ enableSearch: pe,
310
+ enableSelectAll: Ne,
331
311
  groupLabel: ve,
332
- allChecked: E,
333
- isIndeterminate: _e,
334
- onSelectAll: We,
335
- searchText: b,
312
+ allChecked: S,
313
+ isIndeterminate: We,
314
+ onSelectAll: Qe,
315
+ searchText: p,
336
316
  onSearchChange: (e) => {
337
- De(e.target.value);
317
+ we(e.target.value);
338
318
  },
339
- searchPlaceholder: ge,
340
- selectAllLabel: P("nestedList.selectAll"),
319
+ searchPlaceholder: De,
320
+ selectAllLabel: b("nestedList.selectAll"),
341
321
  enableCollapse: Ce
342
322
  }
343
323
  ),
344
- /* @__PURE__ */ S(
345
- Me,
324
+ /* @__PURE__ */ v(
325
+ lt,
346
326
  {
347
- isListCollapsed: z,
348
- enableGroupBy: g,
349
- categories: Ve,
350
- selectedCategories: B,
351
- onToggleCategory: Oe
327
+ isListCollapsed: A,
328
+ enableGroupBy: k,
329
+ categories: Fe,
330
+ selectedCategories: H,
331
+ onToggleCategory: Ke
352
332
  }
353
333
  )
354
334
  ] }),
355
- /* @__PURE__ */ S("div", { className: "flex-1 min-h-0 overflow-hidden", children: /* @__PURE__ */ S(
356
- Ge,
335
+ /* @__PURE__ */ v("div", { className: "flex-1 min-h-0 overflow-hidden", children: /* @__PURE__ */ v(
336
+ ot,
357
337
  {
358
- isListCollapsed: z,
359
- enableDragDrop: H,
360
- sensors: ze,
361
- items: q,
362
- renderItem: je,
363
- activeId: v,
338
+ isListCollapsed: A,
339
+ enableDragDrop: E,
340
+ dragMode: V,
341
+ sensors: Ue,
342
+ items: N,
343
+ flatVirtualRowModel: l,
344
+ renderItem: Xe,
345
+ activeId: d,
346
+ onToggleCollapse: re,
347
+ toggleCollapseHandlerRef: ne,
348
+ collapsedItems: o,
349
+ onVirtualDrop: _e,
364
350
  onDragStart: (e) => {
365
351
  W(e.active.id);
366
352
  },
367
353
  onDragOver: (e) => {
368
- j(e.over?.id);
354
+ q(e.over?.id);
369
355
  },
370
356
  onDragEnd: (e) => {
371
- W(null), j(null), R(), Be(e, (s) => {
372
- const r = s(h);
373
- L(r), t(r);
357
+ W(null), q(null), n(), Ve(e, (t) => {
358
+ const i = t(s);
359
+ a(i), u(i);
374
360
  });
375
361
  },
376
362
  onDragCancel: () => {
377
- W(null), j(null);
363
+ W(null), q(null);
378
364
  }
379
365
  }
380
366
  ) }),
381
- /* @__PURE__ */ S(
382
- et,
367
+ /* @__PURE__ */ v(
368
+ rt,
383
369
  {
384
- enableApplyDiscard: p,
385
- hasChanges: de,
386
- onDiscard: Je,
387
- onApply: qe,
388
- cancelButtonLabel: Ee,
389
- submitButtonLabel: ke
370
+ enableApplyDiscard: B,
371
+ hasChanges: ue,
372
+ onDiscard: $e,
373
+ onApply: Ze,
374
+ cancelButtonLabel: be,
375
+ submitButtonLabel: Be
390
376
  }
391
377
  )
392
378
  ]
@@ -394,5 +380,5 @@ const ae = (i, t) => {
394
380
  );
395
381
  };
396
382
  export {
397
- St as NestedList
383
+ Xt as NestedList
398
384
  };