impact-nova 2.5.13 → 2.5.14

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 (148) hide show
  1. package/dist/components/data/data-table/build-column-tree-from-grid.d.ts +0 -1
  2. package/dist/components/data/data-table/build-column-tree-from-grid.js +50 -55
  3. package/dist/components/data/data-table/data-table-column-apply.d.ts +0 -2
  4. package/dist/components/data/data-table/data-table-column-apply.js +73 -84
  5. package/dist/components/data/data-table/data-table-column-list.js +64 -94
  6. package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +6 -12
  7. package/dist/components/data/data-table/data-table-column-tree-cache.js +131 -250
  8. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.d.ts +0 -5
  9. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.js +11 -28
  10. package/dist/components/data/data-table/use-data-table-column-list-sync.d.ts +0 -10
  11. package/dist/components/data/data-table/use-data-table-column-list-sync.js +196 -250
  12. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +3 -2
  13. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +3 -2
  14. package/dist/components/data/nested-list/components/NestedListContent.d.ts +2 -10
  15. package/dist/components/data/nested-list/components/NestedListContent.js +138 -253
  16. package/dist/components/data/nested-list/components/SortableItem.d.ts +1 -2
  17. package/dist/components/data/nested-list/components/SortableItem.js +60 -62
  18. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +20 -10
  19. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +233 -44
  20. package/dist/components/data/nested-list/nested-list-constants.d.ts +1 -4
  21. package/dist/components/data/nested-list/nested-list-constants.js +4 -10
  22. package/dist/components/data/nested-list/nested-list.js +336 -322
  23. package/dist/components/data/nested-list/nested-list.types.d.ts +0 -17
  24. package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +2 -0
  25. package/dist/components/data-display/calendar/calendar-apply-validation.js +64 -67
  26. package/dist/components/data-display/calendar/calendar-available-view.d.ts +27 -0
  27. package/dist/components/data-display/calendar/calendar-available-view.js +85 -0
  28. package/dist/components/data-display/calendar/calendar-config.js +1 -1
  29. package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +4 -2
  30. package/dist/components/data-display/calendar/calendar-day-picker-components.js +234 -164
  31. package/dist/components/data-display/calendar/calendar-day-picker-view.js +77 -76
  32. package/dist/components/data-display/calendar/calendar-fiscal-day-cell.d.ts +9 -0
  33. package/dist/components/data-display/calendar/calendar-fiscal-day-cell.js +45 -0
  34. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.d.ts +6 -0
  35. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.js +34 -18
  36. package/dist/components/data-display/calendar/calendar-footer.js +21 -21
  37. package/dist/components/data-display/calendar/calendar-injected-week-row.d.ts +5 -0
  38. package/dist/components/data-display/calendar/calendar-injected-week-row.js +92 -0
  39. package/dist/components/data-display/calendar/calendar-leading-week.utils.d.ts +16 -0
  40. package/dist/components/data-display/calendar/calendar-leading-week.utils.js +51 -0
  41. package/dist/components/data-display/calendar/calendar-month-picker-panel.js +50 -49
  42. package/dist/components/data-display/calendar/calendar-month-utils.d.ts +5 -0
  43. package/dist/components/data-display/calendar/calendar-month-utils.js +85 -64
  44. package/dist/components/data-display/calendar/calendar-orphan-week.d.ts +23 -0
  45. package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +3 -1
  46. package/dist/components/data-display/calendar/calendar-padding-week.utils.js +7 -5
  47. package/dist/components/data-display/calendar/calendar-period-cell.js +45 -46
  48. package/dist/components/data-display/calendar/calendar-quarter-panes.js +33 -31
  49. package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +10 -0
  50. package/dist/components/data-display/calendar/calendar-selection-appearance.js +53 -39
  51. package/dist/components/data-display/calendar/calendar-selection.d.ts +25 -0
  52. package/dist/components/data-display/calendar/calendar-selection.js +52 -23
  53. package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +2 -1
  54. package/dist/components/data-display/calendar/calendar-week-number-cell.js +59 -45
  55. package/dist/components/data-display/calendar/calendar-week-utils.d.ts +15 -4
  56. package/dist/components/data-display/calendar/calendar-week-utils.js +59 -50
  57. package/dist/components/data-display/calendar/calendar-year-panes.d.ts +3 -0
  58. package/dist/components/data-display/calendar/calendar-year-panes.js +53 -49
  59. package/dist/components/data-display/calendar/calendar.js +146 -143
  60. package/dist/components/data-display/calendar/calendar.types.d.ts +5 -0
  61. package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +2 -1
  62. package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +79 -74
  63. package/dist/components/data-display/calendar/use-calendar-state.d.ts +3 -1
  64. package/dist/components/data-display/calendar/use-calendar-state.js +394 -314
  65. package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
  66. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  67. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  68. package/dist/components/forms/date-picker/date-picker.js +60 -58
  69. package/dist/components/forms/date-picker/date-picker.types.d.ts +5 -0
  70. package/dist/components/forms/date-picker/date-range-picker.js +66 -64
  71. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +1 -0
  72. package/dist/components/forms/date-picker/fiscal-pass-through.js +3 -2
  73. package/dist/components/forms/date-picker/fiscal-picker-fixtures.d.ts +17 -0
  74. package/dist/components/forms/date-picker/month-picker.js +61 -59
  75. package/dist/components/forms/date-picker/month-range-picker.js +63 -61
  76. package/dist/components/forms/date-picker/multi-date-picker.js +51 -49
  77. package/dist/components/forms/date-picker/multi-month-picker.js +49 -47
  78. package/dist/components/forms/date-picker/multi-quarter-picker.js +51 -47
  79. package/dist/components/forms/date-picker/multi-week-picker.js +53 -51
  80. package/dist/components/forms/date-picker/multi-year-picker.js +53 -49
  81. package/dist/components/forms/date-picker/quarter-picker.js +51 -47
  82. package/dist/components/forms/date-picker/quarter-range-picker.js +50 -46
  83. package/dist/components/forms/date-picker/week-picker.js +130 -126
  84. package/dist/components/forms/date-picker/week-range-picker.js +159 -155
  85. package/dist/components/forms/date-picker/year-picker.js +52 -48
  86. package/dist/components/forms/date-picker/year-range-picker.js +52 -48
  87. package/dist/components/forms/select/components/SelectTriggerValue.js +3 -2
  88. package/dist/components/forms/select/components/Submenu.js +3 -2
  89. package/dist/form-react/Fields/DateInputField.js +51 -50
  90. package/dist/form-react/Fields/DateRangeField.js +14 -13
  91. package/dist/form-react/Fields/MonthRangeField.js +29 -28
  92. package/dist/form-react/Fields/MultiMonthPickerField.js +13 -12
  93. package/dist/form-react/Fields/MultiWeekPickerField.js +35 -27
  94. package/dist/form-react/Fields/MultiYearPickerField.d.ts +8 -0
  95. package/dist/form-react/Fields/MultiYearPickerField.js +57 -0
  96. package/dist/form-react/Fields/WeekRangePicker.js +33 -32
  97. package/dist/form-react/Fields/YearPickerField.d.ts +8 -0
  98. package/dist/form-react/Fields/YearPickerField.js +57 -0
  99. package/dist/form-react/Fields/YearRangePickerField.d.ts +8 -0
  100. package/dist/form-react/Fields/YearRangePickerField.js +57 -0
  101. package/dist/form-react/registry/defaultFieldRegistrations.d.ts +1 -1
  102. package/dist/form-react/registry/defaultFieldRegistrations.js +16 -13
  103. package/dist/form-react/types/fields.types.d.ts +69 -1
  104. package/dist/form-react/types/fieldsOutput.types.d.ts +8 -2
  105. package/dist/form-react/utils/fieldDefaults.utils.js +1 -1
  106. package/dist/impact-nova-components.css +13 -6
  107. package/dist/impact-nova.css +1 -1
  108. package/dist/lib/fiscal-calendar/index.d.ts +2 -2
  109. package/dist/lib/fiscal-calendar/index.js +26 -28
  110. package/dist/lib/fiscal-calendar/types.d.ts +0 -7
  111. package/dist/lib/fiscal-calendar/week-selection.d.ts +3 -4
  112. package/dist/lib/fiscal-calendar/week-selection.js +52 -79
  113. package/dist/llms/rules/ag-grid.js +1 -1
  114. package/dist/llms/rules/installation.js +1 -1
  115. package/dist/llms/rules/requirements.js +1 -1
  116. package/package.json +1 -1
  117. package/dist/components/data/data-table/column-picker-authority.d.ts +0 -34
  118. package/dist/components/data/data-table/column-picker-authority.js +0 -116
  119. package/dist/components/data/data-table/column-picker-drop-validation.d.ts +0 -7
  120. package/dist/components/data/data-table/column-picker-drop-validation.js +0 -37
  121. package/dist/components/data/data-table/data-table-column-list-tree-apply.d.ts +0 -10
  122. package/dist/components/data/data-table/data-table-column-list-tree-apply.js +0 -79
  123. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.d.ts +0 -26
  124. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.js +0 -195
  125. package/dist/components/data/data-table/data-table-picker-column-eligibility.d.ts +0 -1
  126. package/dist/components/data/data-table/data-table-picker-column-eligibility.js +0 -7
  127. package/dist/components/data/data-table/reconcile-column-tree-from-grid.d.ts +0 -12
  128. package/dist/components/data/data-table/reconcile-column-tree-from-grid.js +0 -12
  129. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +0 -24
  130. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +0 -128
  131. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +0 -11
  132. package/dist/components/data/nested-list/nested-list-display-utils.js +0 -74
  133. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +0 -31
  134. package/dist/components/data/nested-list/nested-list-drop-engine.js +0 -209
  135. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +0 -26
  136. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +0 -67
  137. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +0 -4
  138. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +0 -43
  139. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +0 -3
  140. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +0 -34
  141. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +0 -9
  142. package/dist/components/data/nested-list/nested-list-row-estimates.js +0 -14
  143. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +0 -36
  144. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +0 -47
  145. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +0 -59
  146. package/dist/components/data/nested-list/nested-list-virtual-drop.js +0 -341
  147. package/dist/lib/hash/fnv1a128.d.ts +0 -16
  148. package/dist/lib/hash/fnv1a128.js +0 -21
@@ -1,404 +1,484 @@
1
1
  import * as n from "react";
2
- import { parseCivilDate as Wi, localDateFromCivil as V } from "../../../lib/fiscal-calendar/civil-date.js";
3
- import { buildFiscalYear as w } from "../../../lib/fiscal-calendar/build-year.js";
4
- import { isCalendarApplyDisabled as Ki } from "./calendar-apply-validation.js";
5
- import { nextMonthSelection as Ri, getAvailableYears as ei, isMonthSelected as Ti, getMonthRangeProps as pi, isMonthDisabled as Fi } from "./calendar-month-utils.js";
6
- import { calculateWeekSelection as wi, nextWeekSelection as yi, weekSelectionsToDates as hi, computeWeekRangeModifiers as di } from "./calendar-week-utils.js";
7
- import { priorFyComparison as it, flattenDateRanges as tt, multiRangeModifiers as nt, isDateRangeArray as h, dateSelectToCalendarSelection as rt, presetIntervalToDateRange as Si, asDayPickerSelection as Ii, isMultiRangeComplete as ut, asRangeSelection as at, nextMultiRangeDateSelection as st } from "./calendar-interval-utils.js";
8
- import { nextQuarterSelection as $i, isQuarterSelected as ft, isQuarterDisabledForBounds as lt } from "./calendar-quarter-utils.js";
9
- import { nextYearSelection as ji, isYearSelectedForSelection as mt, isYearDisabledForBounds as ct } from "./calendar-year-utils.js";
10
- function yt({
2
+ import { parseCivilDate as ht, localDateFromCivil as J } from "../../../lib/fiscal-calendar/civil-date.js";
3
+ import { buildFiscalYear as ft } from "../../../lib/fiscal-calendar/build-year.js";
4
+ import { isCalendarApplyDisabled as pt } from "./calendar-apply-validation.js";
5
+ import { isWeekSelectableInBounds as dt, nextMonthSelection as _t, getAvailableYears as tr, isMonthSelected as rr, getMonthRangeProps as nr, isMonthDisabled as ir } from "./calendar-month-utils.js";
6
+ import { calculateWeekSelection as ur, nextWeekSelection as Vt, weekSelectionsToDates as ar, computeWeekRangeModifiers as fr } from "./calendar-week-utils.js";
7
+ import { priorFyComparison as sr, flattenDateRanges as lr, multiRangeModifiers as mr, isDateRangeArray as st, dateSelectToCalendarSelection as cr, presetIntervalToDateRange as $t, asDayPickerSelection as jt, isMultiRangeComplete as Dr, asRangeSelection as br, nextMultiRangeDateSelection as vr } from "./calendar-interval-utils.js";
8
+ import { nextQuarterSelection as qt, isQuarterSelected as gr, isQuarterDisabledForBounds as Ar } from "./calendar-quarter-utils.js";
9
+ import { nextYearSelection as yt, isYearSelectedForSelection as Rr, isYearDisabledForBounds as xr } from "./calendar-year-utils.js";
10
+ import { isSameCalendarMonth as Pr, DEFAULT_YEAR_PAGE_SIZE as Sr, boundsFromDisabled as Er, resolveAvailableViewMonth as Ir, hasCalendarValue as Q } from "./calendar-available-view.js";
11
+ function _r(r, i, a) {
12
+ return r === "week" ? a === "range" || a === "multiple" || a === "multi-range" ? 2 : 1 : r === "date" && (i === "range" || i === "multiple" || i === "multi-range") ? 2 : 1;
13
+ }
14
+ function Vr(r, i, a, l, k, f) {
15
+ return r === "week" ? Q(a) : r === "month" ? Q(l) : r === "quarter" ? Q(k) : r === "year" ? Q(f) : Q(i);
16
+ }
17
+ function $r(r, i, a) {
18
+ if (r) return r;
19
+ if (i) return i;
20
+ if (a) {
21
+ if (Array.isArray(a)) {
22
+ const l = a[0];
23
+ return l instanceof Date ? l : /* @__PURE__ */ new Date();
24
+ }
25
+ if (a instanceof Date) return a;
26
+ if ("from" in a && a.from) return a.from;
27
+ }
28
+ return /* @__PURE__ */ new Date();
29
+ }
30
+ function Bt(r, i) {
31
+ const { minDate: a, maxDate: l } = Er(i.disabled);
32
+ return Ir({
33
+ seed: r,
34
+ pickerType: i.pickerType,
35
+ minDate: a,
36
+ maxDate: l,
37
+ numberOfMonths: _r(i.pickerType, i.mode, i.weekMode),
38
+ hasSelection: Vr(
39
+ i.pickerType,
40
+ i.selected,
41
+ i.selectedWeeks,
42
+ i.selectedMonths,
43
+ i.selectedQuarters,
44
+ i.selectedYear
45
+ ),
46
+ autoNavigateToAvailable: i.autoNavigateToAvailable,
47
+ yearPageSize: i.yearPageSize
48
+ });
49
+ }
50
+ function Or({
11
51
  showFooter: r,
12
- mode: x,
13
- selected: s,
14
- onSelect: g,
15
- onSelectionChange: d,
16
- pickerType: u,
17
- weekMode: y,
18
- selectedWeeks: A,
19
- onWeekSelect: I,
20
- calendarKind: v,
21
- fiscalMode: ii,
22
- granularity: ti,
23
- resolvedFiscalPattern: ni,
24
- fiscalConfig: l,
25
- fiscalYearStartMonth: ri,
26
- weekStartsOn: ui,
27
- monthMode: S,
28
- selectedMonths: $,
29
- onMonthSelect: j,
30
- selectedQuarters: _,
31
- onQuarterSelect: C,
32
- selectedYear: q,
33
- onYearSelect: Y,
34
- yearMode: K = "single",
35
- comparison: e,
36
- onComparisonChange: E,
52
+ mode: i,
53
+ selected: a,
54
+ onSelect: l,
55
+ onSelectionChange: k,
56
+ pickerType: f,
57
+ weekMode: x,
58
+ selectedWeeks: g,
59
+ onWeekSelect: j,
60
+ calendarKind: P,
61
+ fiscalMode: lt,
62
+ granularity: z,
63
+ resolvedFiscalPattern: mt,
64
+ fiscalConfig: m,
65
+ fiscalYearStartMonth: ct,
66
+ weekStartsOn: Dt,
67
+ monthMode: $,
68
+ selectedMonths: S,
69
+ onMonthSelect: q,
70
+ selectedQuarters: E,
71
+ onQuarterSelect: y,
72
+ selectedYear: I,
73
+ onYearSelect: B,
74
+ yearMode: w = "single",
75
+ comparison: h,
76
+ onComparisonChange: N,
37
77
  onRangesChange: X,
38
- month: O,
39
- defaultMonth: ai,
40
- onMonthChange: si,
41
- resolvedStartMonth: fi,
42
- resolvedEndMonth: li,
43
- disabled: B,
44
- onApply: N,
45
- onCancel: mi,
46
- onClear: ci
78
+ month: Y,
79
+ defaultMonth: Nt,
80
+ onMonthChange: e,
81
+ resolvedStartMonth: bt,
82
+ resolvedEndMonth: vt,
83
+ disabled: A,
84
+ autoNavigateToAvailable: p = !1,
85
+ yearPageSize: d = Sr,
86
+ onApply: C,
87
+ onCancel: gt,
88
+ onClear: At
47
89
  }) {
48
- const [f, U] = n.useState(s), [Di, bi] = n.useState(() => {
49
- if (O) return O;
50
- if (ai) return ai;
51
- if (s) {
52
- if (Array.isArray(s)) {
53
- const i = s[0];
54
- return i instanceof Date ? i : /* @__PURE__ */ new Date();
55
- }
56
- if (s instanceof Date)
57
- return s;
58
- if ("from" in s && s.from)
59
- return s.from;
60
- }
61
- return /* @__PURE__ */ new Date();
62
- }), [P, Z] = n.useState(A), [z, k] = n.useState($), [G, Q] = n.useState(_), [H, o] = n.useState(q), [_i, gi] = n.useState(
63
- Di.getFullYear()
90
+ const tt = n.useRef(!1), Rt = n.useRef(e), [c, H] = n.useState(a), [xt, rt] = n.useState(
91
+ () => Bt($r(Y, Nt, a), {
92
+ pickerType: f,
93
+ mode: i,
94
+ weekMode: x,
95
+ selected: a,
96
+ selectedWeeks: g,
97
+ selectedMonths: S,
98
+ selectedQuarters: E,
99
+ selectedYear: I,
100
+ disabled: A,
101
+ autoNavigateToAvailable: p,
102
+ yearPageSize: d
103
+ })
104
+ ), [_, M] = n.useState(g), [G, W] = n.useState(S), [L, K] = n.useState(E), [O, F] = n.useState(I), [Yt, nt] = n.useState(
105
+ xt.getFullYear()
64
106
  );
65
107
  n.useEffect(() => {
66
- O && (bi(O), gi(O.getFullYear()));
67
- }, [O]), n.useEffect(() => {
68
- U(s), Z(A), k($), Q(_), o(q);
69
- }, [s, A, $, _, q]);
70
- const qi = n.useCallback(
71
- (i) => {
72
- bi(i), gi(i.getFullYear()), si?.(i);
108
+ Rt.current = e;
109
+ }, [e]), n.useEffect(() => {
110
+ if (!Y) return;
111
+ if (tt.current) {
112
+ tt.current = !1, rt(Y), nt(Y.getFullYear());
113
+ return;
114
+ }
115
+ const t = Bt(Y, {
116
+ pickerType: f,
117
+ mode: i,
118
+ weekMode: x,
119
+ selected: a,
120
+ selectedWeeks: g,
121
+ selectedMonths: S,
122
+ selectedQuarters: E,
123
+ selectedYear: I,
124
+ disabled: A,
125
+ autoNavigateToAvailable: p,
126
+ yearPageSize: d
127
+ });
128
+ rt(t), nt(t.getFullYear()), Pr(t, Y) || Rt.current?.(t);
129
+ }, [
130
+ Y,
131
+ A,
132
+ p,
133
+ f,
134
+ i,
135
+ x,
136
+ a,
137
+ g,
138
+ S,
139
+ E,
140
+ I,
141
+ d
142
+ ]), n.useEffect(() => {
143
+ H(a), M(g), W(S), K(E), F(I);
144
+ }, [a, g, S, E, I]);
145
+ const Ct = n.useCallback(
146
+ (t) => {
147
+ tt.current = !0, rt(t), nt(t.getFullYear()), e?.(t);
73
148
  },
74
- [si]
75
- ), vi = n.useMemo(
149
+ [e]
150
+ ), Pt = n.useMemo(
76
151
  () => ({
77
- calendarKind: v,
78
- fiscalMode: ii,
79
- granularity: ti,
80
- fiscalMonthPattern: ni,
81
- fiscalYearStartMonth: ri,
82
- weekStartsOn: ui
152
+ calendarKind: P,
153
+ fiscalMode: lt,
154
+ granularity: z,
155
+ fiscalMonthPattern: mt,
156
+ fiscalYearStartMonth: ct,
157
+ weekStartsOn: Dt,
158
+ fiscalConfig: m
83
159
  }),
84
160
  [
85
- v,
86
- ii,
87
- ti,
88
- ni,
89
- ri,
90
- ui
161
+ P,
162
+ lt,
163
+ z,
164
+ mt,
165
+ ct,
166
+ Dt,
167
+ m
91
168
  ]
92
- ), T = n.useCallback(
93
- (i) => wi(i, vi),
94
- [vi]
95
- ), p = n.useCallback(
96
- (i) => {
169
+ ), it = n.useCallback(
170
+ (t) => ur(t, Pt),
171
+ [Pt]
172
+ ), ut = n.useCallback(
173
+ (t) => {
174
+ if (!dt(t.startDate, t.endDate, A, z)) return;
97
175
  if (r) {
98
- Z((a) => {
99
- const m = yi(i, a, y === "multi-range" ? "range" : y);
100
- return I?.(m), m;
176
+ M((s) => {
177
+ const D = Vt(t, s, x === "multi-range" ? "range" : x);
178
+ return j?.(D), D;
101
179
  });
102
180
  return;
103
181
  }
104
- const t = yi(i, A, y === "multi-range" ? "range" : y);
105
- I?.(
106
- y === "multiple" ? Array.isArray(t) && t.length > 0 ? t : void 0 : t
182
+ const u = Vt(t, g, x === "multi-range" ? "range" : x);
183
+ j?.(
184
+ x === "multiple" ? Array.isArray(u) && u.length > 0 ? u : void 0 : u
107
185
  );
108
186
  },
109
- [y, r, A, I]
110
- ), Bi = n.useCallback(
111
- (i, t) => {
112
- let a = { year: i, month: t };
113
- if (v === "fiscal" && l)
187
+ [x, r, g, j, A, z]
188
+ ), Gt = n.useCallback(
189
+ (t, u) => {
190
+ let s = { year: t, month: u };
191
+ if (P === "fiscal" && m)
114
192
  try {
115
- const c = w(l, i).periods[t];
116
- if (c) {
117
- const b = Wi(c.start);
118
- a = {
119
- year: b.y,
120
- month: b.m - 1,
121
- fy: c.fy,
122
- period: c.period,
123
- start: V(c.start),
124
- end: V(c.end)
193
+ const b = ft(m, t).periods[u];
194
+ if (b) {
195
+ const R = ht(b.start);
196
+ s = {
197
+ year: R.y,
198
+ month: R.m - 1,
199
+ fy: b.fy,
200
+ period: b.period,
201
+ start: J(b.start),
202
+ end: J(b.end)
125
203
  };
126
204
  }
127
205
  } catch {
128
206
  }
129
207
  if (r) {
130
- k((D) => {
131
- const c = Ri(
132
- a,
133
- D,
134
- S === "multi-range" ? "range" : S
208
+ W((v) => {
209
+ const b = _t(
210
+ s,
211
+ v,
212
+ $ === "multi-range" ? "range" : $
135
213
  );
136
- return j?.(c), c;
214
+ return q?.(b), b;
137
215
  });
138
216
  return;
139
217
  }
140
- const m = Ri(
141
- a,
142
- $,
143
- S === "multi-range" ? "range" : S
218
+ const D = _t(
219
+ s,
220
+ S,
221
+ $ === "multi-range" ? "range" : $
144
222
  );
145
- j?.(
146
- S === "multiple" ? Array.isArray(m) && m.length > 0 ? m : void 0 : m
223
+ q?.(
224
+ $ === "multiple" ? Array.isArray(D) && D.length > 0 ? D : void 0 : D
147
225
  );
148
226
  },
149
- [S, r, $, j, v, l]
150
- ), Ci = n.useCallback(
151
- (i, t) => {
152
- let a = {
153
- year: i,
154
- quarter: t,
155
- start: new Date(i, (t - 1) * 3, 1),
156
- end: new Date(i, t * 3, 0)
227
+ [$, r, S, q, P, m]
228
+ ), Lt = n.useCallback(
229
+ (t, u) => {
230
+ let s = {
231
+ year: t,
232
+ quarter: u,
233
+ start: new Date(t, (u - 1) * 3, 1),
234
+ end: new Date(t, u * 3, 0)
157
235
  };
158
- if (v === "fiscal" && l)
236
+ if (P === "fiscal" && m)
159
237
  try {
160
- const D = w(l, i).quarters.find((c) => c.quarter === t);
161
- D && (a = {
162
- year: i,
163
- quarter: t,
164
- fy: D.fy,
165
- start: V(D.start),
166
- end: V(D.end)
238
+ const v = ft(m, t).quarters.find((b) => b.quarter === u);
239
+ v && (s = {
240
+ year: t,
241
+ quarter: u,
242
+ fy: v.fy,
243
+ start: J(v.start),
244
+ end: J(v.end)
167
245
  });
168
246
  } catch {
169
247
  }
170
248
  if (r) {
171
- Q((m) => {
172
- const D = $i(a, m, S);
173
- return C?.(D), D;
249
+ K((D) => {
250
+ const v = qt(s, D, $);
251
+ return y?.(v), v;
174
252
  });
175
253
  return;
176
254
  }
177
- C?.($i(a, _, S));
255
+ y?.(qt(s, E, $));
178
256
  },
179
- [v, l, S, C, _, r]
180
- ), Yi = n.useCallback(
181
- (i) => {
182
- let t = {
183
- year: i,
184
- start: new Date(i, 0, 1),
185
- end: new Date(i, 11, 31)
257
+ [P, m, $, y, E, r]
258
+ ), Ot = n.useCallback(
259
+ (t) => {
260
+ let u = {
261
+ year: t,
262
+ start: new Date(t, 0, 1),
263
+ end: new Date(t, 11, 31)
186
264
  };
187
- if (v === "fiscal" && l)
265
+ if (P === "fiscal" && m)
188
266
  try {
189
- const a = w(l, i);
190
- t = {
191
- year: a.fy,
192
- fy: a.fy,
193
- start: V(a.start),
194
- end: V(a.end)
267
+ const s = ft(m, t);
268
+ u = {
269
+ year: s.fy,
270
+ fy: s.fy,
271
+ start: J(s.start),
272
+ end: J(s.end)
195
273
  };
196
274
  } catch {
197
275
  }
198
276
  if (r) {
199
- o((a) => {
200
- const m = ji(t, a, K);
201
- return Y?.(m), m;
277
+ F((s) => {
278
+ const D = yt(u, s, w);
279
+ return B?.(D), D;
202
280
  });
203
281
  return;
204
282
  }
205
- Y?.(ji(t, q, K));
283
+ B?.(yt(u, I, w));
206
284
  },
207
- [v, l, Y, q, r, K]
208
- ), J = n.useCallback(
209
- (i) => {
210
- if (e !== "prior-fy" || !l || !i?.from || !i.to) {
211
- e === "prior-fy" && E?.(void 0);
285
+ [P, m, B, I, r, w]
286
+ ), U = n.useCallback(
287
+ (t) => {
288
+ if (h !== "prior-fy" || !m || !t?.from || !t.to) {
289
+ h === "prior-fy" && N?.(void 0);
212
290
  return;
213
291
  }
214
- E?.(it(l, i.from, i.to));
292
+ N?.(sr(m, t.from, t.to));
215
293
  },
216
- [e, l, E]
217
- ), Ei = n.useMemo(
218
- () => ei(fi, li),
219
- [fi, li]
220
- ), F = n.useMemo(() => u !== "week" ? void 0 : hi(r ? P : A), [u, r, P, A]), Ni = n.useMemo(() => {
221
- if (x === "multi-range")
222
- return tt(r ? f : s);
223
- }, [x, r, f, s]), Ai = n.useMemo(() => {
224
- if (x !== "multi-range") return;
225
- const i = r ? f : s;
226
- return nt(h(i) ? i : void 0);
227
- }, [x, r, f, s]), zi = n.useMemo(() => u !== "week" ? Ai ?? { range_start: [], range_middle: [], range_end: [] } : di(F, y === "multi-range" ? "range" : y, r ? P : A), [
228
- u,
229
- F,
230
- y,
294
+ [h, m, N]
295
+ ), Ut = n.useMemo(
296
+ () => tr(bt, vt),
297
+ [bt, vt]
298
+ ), at = n.useMemo(() => f !== "week" ? void 0 : ar(r ? _ : g), [f, r, _, g]), Zt = n.useMemo(() => {
299
+ if (i === "multi-range")
300
+ return lr(r ? c : a);
301
+ }, [i, r, c, a]), St = n.useMemo(() => {
302
+ if (i !== "multi-range") return;
303
+ const t = r ? c : a;
304
+ return mr(st(t) ? t : void 0);
305
+ }, [i, r, c, a]), zt = n.useMemo(() => f !== "week" ? St ?? { range_start: [], range_middle: [], range_end: [] } : fr(at, x === "multi-range" ? "range" : x, r ? _ : g), [
306
+ f,
307
+ at,
308
+ x,
231
309
  r,
232
- P,
233
- A,
234
- Ai
235
- ]), R = n.useCallback(
236
- (i) => {
237
- d?.(rt(x, i));
310
+ _,
311
+ g,
312
+ St
313
+ ]), V = n.useCallback(
314
+ (t) => {
315
+ k?.(cr(i, t));
238
316
  },
239
- [x, d]
240
- ), Gi = n.useCallback(
241
- (i, t) => {
242
- if (u === "week" && i) {
243
- const a = t ?? (Array.isArray(i) ? i[i.length - 1] : i instanceof Date ? i : void 0);
244
- if (a) {
245
- p(T(a));
317
+ [i, k]
318
+ ), Ht = n.useCallback(
319
+ (t, u) => {
320
+ if (f === "week" && t) {
321
+ const s = u ?? (Array.isArray(t) ? t[t.length - 1] : t instanceof Date ? t : void 0);
322
+ if (s) {
323
+ ut(it(s));
246
324
  return;
247
325
  }
248
326
  }
249
- if (x === "multi-range") {
250
- const a = t ?? (i instanceof Date ? i : Array.isArray(i) ? i[i.length - 1] : i && "from" in i ? i.to ?? i.from : void 0);
251
- if (!a) return;
252
- const m = (b) => {
253
- const L = h(b) ? b : b && typeof b == "object" && !(b instanceof Date) && !Array.isArray(b) && "from" in b ? [b] : void 0;
254
- return st(a, L);
327
+ if (i === "multi-range") {
328
+ const s = u ?? (t instanceof Date ? t : Array.isArray(t) ? t[t.length - 1] : t && "from" in t ? t.to ?? t.from : void 0);
329
+ if (!s) return;
330
+ const D = (R) => {
331
+ const Z = st(R) ? R : R && typeof R == "object" && !(R instanceof Date) && !Array.isArray(R) && "from" in R ? [R] : void 0;
332
+ return vr(s, Z);
255
333
  };
256
334
  if (r) {
257
- U((b) => {
258
- const L = m(b), W = L[L.length - 1];
259
- return g?.(W), X?.(L), R(L), W?.from && W.to && J(W), L;
335
+ H((R) => {
336
+ const Z = D(R), T = Z[Z.length - 1];
337
+ return l?.(T), X?.(Z), V(Z), T?.from && T.to && U(T), Z;
260
338
  });
261
339
  return;
262
340
  }
263
- const D = m(s), c = D[D.length - 1];
264
- g?.(c), X?.(D), R(D), c?.from && c.to && J(c);
341
+ const v = D(a), b = v[v.length - 1];
342
+ l?.(b), X?.(v), V(v), b?.from && b.to && U(b);
265
343
  return;
266
344
  }
267
- r ? (U(i), g?.(i), R(i), i && typeof i == "object" && !(i instanceof Date) && !Array.isArray(i) && i.from && i.to && J(i)) : (g?.(i), R(i), i && typeof i == "object" && !(i instanceof Date) && !Array.isArray(i) && i.from && i.to && J(i));
345
+ r ? (H(t), l?.(t), V(t), t && typeof t == "object" && !(t instanceof Date) && !Array.isArray(t) && t.from && t.to && U(t)) : (l?.(t), V(t), t && typeof t == "object" && !(t instanceof Date) && !Array.isArray(t) && t.from && t.to && U(t));
268
346
  },
269
- [r, g, X, R, u, T, p, x, s, J]
270
- ), Hi = n.useCallback(
271
- (i) => {
272
- const t = Si(i.interval);
273
- r && U(t), g?.(t), R(t), i.comparison ? E?.({
274
- primary: t,
275
- comparison: Si(i.comparison)
276
- }) : J(t);
347
+ [r, l, X, V, f, it, ut, i, a, U]
348
+ ), Jt = n.useCallback(
349
+ (t) => {
350
+ const u = $t(t.interval);
351
+ r && H(u), l?.(u), V(u), t.comparison ? N?.({
352
+ primary: u,
353
+ comparison: $t(t.comparison)
354
+ }) : U(u);
277
355
  },
278
- [J, R, E, g, r]
279
- ), Ji = n.useCallback(() => {
280
- if (u === "week")
281
- I?.(P), N?.(P);
282
- else if (u === "month")
283
- j?.(z), N?.(z);
284
- else if (u === "quarter")
285
- C?.(G), N?.(G);
286
- else if (u === "year")
287
- Y?.(H), N?.(H);
288
- else if (h(f)) {
289
- const i = f[f.length - 1];
290
- g?.(i), X?.(f), R(f), N?.(f);
356
+ [U, V, N, l, r]
357
+ ), Xt = n.useCallback(() => {
358
+ if (f === "week")
359
+ j?.(_), C?.(_);
360
+ else if (f === "month")
361
+ q?.(G), C?.(G);
362
+ else if (f === "quarter")
363
+ y?.(L), C?.(L);
364
+ else if (f === "year")
365
+ B?.(O), C?.(O);
366
+ else if (st(c)) {
367
+ const t = c[c.length - 1];
368
+ l?.(t), X?.(c), V(c), C?.(c);
291
369
  } else
292
- g?.(Ii(f)), R(f), N?.(f);
370
+ l?.(jt(c)), V(c), C?.(c);
293
371
  }, [
294
- f,
295
- P,
296
- z,
372
+ c,
373
+ _,
297
374
  G,
298
- H,
299
- g,
300
- I,
375
+ L,
376
+ O,
377
+ l,
301
378
  j,
379
+ q,
380
+ y,
381
+ B,
302
382
  C,
303
- Y,
304
- N,
305
383
  X,
306
- R,
307
- u
308
- ]), Li = n.useCallback(() => {
309
- u === "week" ? Z(A) : u === "month" ? k($) : u === "quarter" ? Q(_) : u === "year" ? o(q) : U(s), mi?.();
310
- }, [s, A, $, _, q, mi, u]), Oi = n.useCallback(() => {
311
- u === "week" ? (Z(void 0), r || I?.(void 0)) : u === "month" ? (k(void 0), r || j?.(void 0)) : u === "quarter" ? (Q(void 0), r || C?.(void 0)) : u === "year" ? (o(void 0), r || Y?.(void 0)) : (U(void 0), r || g?.(void 0)), E?.(void 0), ci?.();
384
+ V,
385
+ f
386
+ ]), et = n.useCallback(() => {
387
+ f === "week" ? M(g) : f === "month" ? W(S) : f === "quarter" ? K(E) : f === "year" ? F(I) : H(a), gt?.();
388
+ }, [a, g, S, E, I, gt, f]), Qt = n.useCallback(() => {
389
+ f === "week" ? (M(void 0), r || j?.(void 0)) : f === "month" ? (W(void 0), r || q?.(void 0)) : f === "quarter" ? (K(void 0), r || y?.(void 0)) : f === "year" ? (F(void 0), r || B?.(void 0)) : (H(void 0), r || l?.(void 0)), N?.(void 0), At?.();
312
390
  }, [
313
391
  r,
314
- g,
315
- I,
392
+ l,
316
393
  j,
317
- C,
318
- Y,
319
- E,
320
- ci,
321
- u
322
- ]), M = r ? z : $, xi = r ? G : _, Ui = n.useCallback(
323
- (i, t) => Ti(i, t, M),
324
- [M]
325
- ), Vi = n.useCallback(
326
- (i, t) => pi(i, t, M),
327
- [M]
328
- ), Xi = n.useCallback(
329
- (i, t) => Fi(i, t, B),
330
- [B]
331
- ), Zi = n.useCallback(
332
- (i, t) => ft(i, t, xi),
333
- [xi]
334
- ), ki = n.useCallback(
335
- (i, t) => lt(i, t, B, {
336
- calendarKind: v,
337
- fiscalConfig: l
394
+ q,
395
+ y,
396
+ B,
397
+ N,
398
+ At,
399
+ f
400
+ ]), o = r ? G : S, Et = r ? L : E, kt = n.useCallback(
401
+ (t, u) => rr(t, u, o),
402
+ [o]
403
+ ), Mt = n.useCallback(
404
+ (t, u) => nr(t, u, o),
405
+ [o]
406
+ ), Wt = n.useCallback(
407
+ (t, u) => ir(t, u, A),
408
+ [A]
409
+ ), Kt = n.useCallback(
410
+ (t, u) => gr(t, u, Et),
411
+ [Et]
412
+ ), Ft = n.useCallback(
413
+ (t, u) => Ar(t, u, A, {
414
+ calendarKind: P,
415
+ fiscalConfig: m
338
416
  }),
339
- [v, B, l]
340
- ), Pi = r ? H : q, Qi = n.useCallback(
341
- (i) => mt(i, Pi),
342
- [Pi]
343
- ), oi = n.useCallback(
344
- (i) => ct(i, B, {
345
- calendarKind: v,
346
- fiscalConfig: l
417
+ [P, A, m]
418
+ ), It = r ? O : I, ot = n.useCallback(
419
+ (t) => Rr(t, It),
420
+ [It]
421
+ ), Tt = n.useCallback(
422
+ (t) => xr(t, A, {
423
+ calendarKind: P,
424
+ fiscalConfig: m
347
425
  }),
348
- [v, B, l]
349
- ), Mi = n.useMemo(() => x === "multi-range" && r && !ut(at(f)) ? !0 : Ki({
426
+ [P, A, m]
427
+ ), wt = n.useMemo(() => i === "multi-range" && r && !Dr(br(c)) ? !0 : pt({
350
428
  showFooter: r,
351
- pickerType: u,
352
- disabled: B,
353
- pendingSelection: Ii(f),
354
- pendingWeekSelection: P,
355
- pendingMonthSelection: z,
356
- pendingQuarterSelection: G,
357
- pendingYearSelection: H
429
+ pickerType: f,
430
+ granularity: z,
431
+ disabled: A,
432
+ pendingSelection: jt(c),
433
+ pendingWeekSelection: _,
434
+ pendingMonthSelection: G,
435
+ pendingQuarterSelection: L,
436
+ pendingYearSelection: O
358
437
  }), [
359
438
  r,
360
- u,
361
- B,
362
439
  f,
363
- P,
364
440
  z,
441
+ A,
442
+ c,
443
+ _,
365
444
  G,
366
- H,
367
- x
445
+ L,
446
+ O,
447
+ i
368
448
  ]);
369
449
  return {
370
- pendingSelection: f,
371
- currentMonth: Di,
372
- pendingWeekSelection: P,
373
- pendingMonthSelection: z,
374
- pendingQuarterSelection: G,
375
- pendingYearSelection: H,
376
- monthPickerYear: _i,
377
- handleMonthChangeInternal: qi,
378
- resolveWeekFromInput: T,
379
- handleWeekClick: p,
380
- handleMonthClick: Bi,
381
- handleQuarterClick: Ci,
382
- handleYearClick: Yi,
383
- handlePresetSelect: Hi,
384
- availableYears: Ei,
385
- selectedDaysFromWeeks: F,
386
- selectedDaysFromRanges: Ni,
387
- weekRangeModifiers: zi,
388
- handleInternalSelect: Gi,
389
- handleApply: Ji,
390
- handleCancel: Li,
391
- handleClear: Oi,
392
- isMonthSelected: Ui,
393
- getMonthRangeProps: Vi,
394
- isMonthDisabled: Xi,
395
- isQuarterSelected: Zi,
396
- isQuarterDisabled: ki,
397
- isYearSelected: Qi,
398
- isYearDisabled: oi,
399
- isApplyDisabledInternal: Mi
450
+ pendingSelection: c,
451
+ currentMonth: xt,
452
+ pendingWeekSelection: _,
453
+ pendingMonthSelection: G,
454
+ pendingQuarterSelection: L,
455
+ pendingYearSelection: O,
456
+ monthPickerYear: Yt,
457
+ handleMonthChangeInternal: Ct,
458
+ resolveWeekFromInput: it,
459
+ handleWeekClick: ut,
460
+ handleMonthClick: Gt,
461
+ handleQuarterClick: Lt,
462
+ handleYearClick: Ot,
463
+ handlePresetSelect: Jt,
464
+ availableYears: Ut,
465
+ selectedDaysFromWeeks: at,
466
+ selectedDaysFromRanges: Zt,
467
+ weekRangeModifiers: zt,
468
+ handleInternalSelect: Ht,
469
+ handleApply: Xt,
470
+ handleCancel: et,
471
+ handleClear: Qt,
472
+ isMonthSelected: kt,
473
+ getMonthRangeProps: Mt,
474
+ isMonthDisabled: Wt,
475
+ isQuarterSelected: Kt,
476
+ isQuarterDisabled: Ft,
477
+ isYearSelected: ot,
478
+ isYearDisabled: Tt,
479
+ isApplyDisabledInternal: wt
400
480
  };
401
481
  }
402
482
  export {
403
- yt as useCalendarState
483
+ Or as useCalendarState
404
484
  };