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