impact-nova 2.5.10 → 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 (59) hide show
  1. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +3 -2
  2. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +3 -2
  3. package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +2 -0
  4. package/dist/components/data-display/calendar/calendar-apply-validation.js +64 -67
  5. package/dist/components/data-display/calendar/calendar-available-view.d.ts +27 -0
  6. package/dist/components/data-display/calendar/calendar-available-view.js +85 -0
  7. package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +4 -2
  8. package/dist/components/data-display/calendar/calendar-day-picker-components.js +163 -152
  9. package/dist/components/data-display/calendar/calendar-day-picker-view.js +77 -76
  10. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.d.ts +6 -0
  11. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.js +34 -18
  12. package/dist/components/data-display/calendar/calendar-month-utils.d.ts +5 -0
  13. package/dist/components/data-display/calendar/calendar-month-utils.js +85 -64
  14. package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +1 -0
  15. package/dist/components/data-display/calendar/calendar-selection-appearance.js +31 -30
  16. package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +2 -1
  17. package/dist/components/data-display/calendar/calendar-week-number-cell.js +55 -41
  18. package/dist/components/data-display/calendar/calendar-year-panes.d.ts +2 -0
  19. package/dist/components/data-display/calendar/calendar-year-panes.js +3 -1
  20. package/dist/components/data-display/calendar/calendar.js +146 -143
  21. package/dist/components/data-display/calendar/calendar.types.d.ts +5 -0
  22. package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +2 -1
  23. package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +79 -74
  24. package/dist/components/data-display/calendar/use-calendar-state.d.ts +3 -1
  25. package/dist/components/data-display/calendar/use-calendar-state.js +403 -325
  26. package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
  27. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  28. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  29. package/dist/components/forms/date-picker/date-picker.js +60 -58
  30. package/dist/components/forms/date-picker/date-picker.types.d.ts +5 -0
  31. package/dist/components/forms/date-picker/date-range-picker.js +66 -64
  32. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +1 -0
  33. package/dist/components/forms/date-picker/fiscal-pass-through.js +3 -2
  34. package/dist/components/forms/date-picker/month-picker.js +61 -59
  35. package/dist/components/forms/date-picker/month-range-picker.js +63 -61
  36. package/dist/components/forms/date-picker/multi-date-picker.js +51 -49
  37. package/dist/components/forms/date-picker/multi-month-picker.js +49 -47
  38. package/dist/components/forms/date-picker/multi-quarter-picker.js +46 -44
  39. package/dist/components/forms/date-picker/multi-week-picker.js +53 -51
  40. package/dist/components/forms/date-picker/multi-year-picker.js +48 -46
  41. package/dist/components/forms/date-picker/quarter-picker.js +46 -44
  42. package/dist/components/forms/date-picker/quarter-range-picker.js +45 -43
  43. package/dist/components/forms/date-picker/week-picker.js +68 -66
  44. package/dist/components/forms/date-picker/week-range-picker.js +82 -80
  45. package/dist/components/forms/date-picker/year-picker.js +47 -45
  46. package/dist/components/forms/date-picker/year-range-picker.js +47 -45
  47. package/dist/components/forms/select/components/SelectTriggerValue.js +3 -2
  48. package/dist/components/forms/select/components/Submenu.js +3 -2
  49. package/dist/form-react/Fields/DateInputField.js +51 -50
  50. package/dist/form-react/Fields/DateRangeField.js +14 -13
  51. package/dist/form-react/Fields/MonthRangeField.js +29 -28
  52. package/dist/form-react/Fields/MultiMonthPickerField.js +13 -12
  53. package/dist/form-react/Fields/MultiWeekPickerField.js +18 -17
  54. package/dist/form-react/Fields/WeekRangePicker.js +22 -21
  55. package/dist/form-react/types/fields.types.d.ts +12 -0
  56. package/dist/impact-nova.css +1 -1
  57. package/dist/llms/rules/installation.js +1 -1
  58. package/dist/llms/rules/requirements.js +1 -1
  59. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
1
  import { jsx as r, jsxs as y } from "react/jsx-runtime";
2
2
  import * as t from "react";
3
- import { Cross as X, CalendarMonth as Z } from "impact-nova-icons";
4
- import { cn as _ } from "../../../lib/utils.js";
5
- import { Input as $ } from "../input/input.js";
6
- import { Calendar as ee } from "../../data-display/calendar/calendar.js";
3
+ import { Cross as Z, CalendarMonth as _ } from "impact-nova-icons";
4
+ import { cn as $ } from "../../../lib/utils.js";
5
+ import { Input as ee } from "../input/input.js";
6
+ import { Calendar as re } from "../../data-display/calendar/calendar.js";
7
7
  import { Tooltip as x, TooltipTrigger as R, TooltipContent as D } from "../../feedback/tooltip/tooltip.js";
8
- import { useImpactNovaI18n as re } from "../../../i18n/use-impact-nova-i18n.js";
9
- import { buildDateBoundsMatcher as te } from "../../../lib/date-bounds-matcher.js";
10
- import { fiscalCalendarPassThrough as ne } from "./fiscal-pass-through.js";
11
- import { DatePickerShell as oe } from "./date-picker-shell.js";
12
- import { usePickerDismissActionsRef as ae, usePickerFooterDismissNudge as ie, handleReadonlyPickerKeyDown as ce, handlePickerSurfacePointerDown as se } from "./date-input-behavior.js";
13
- import { formatYearInput as le } from "../../data-display/calendar/calendar-fiscal-labels.js";
14
- import { viewMonthFromYear as pe } from "../../data-display/calendar/calendar-year-utils.js";
15
- const fe = t.forwardRef(
8
+ import { useImpactNovaI18n as te } from "../../../i18n/use-impact-nova-i18n.js";
9
+ import { buildDateBoundsMatcher as ne } from "../../../lib/date-bounds-matcher.js";
10
+ import { fiscalCalendarPassThrough as oe } from "./fiscal-pass-through.js";
11
+ import { DatePickerShell as ae } from "./date-picker-shell.js";
12
+ import { usePickerDismissActionsRef as ie, usePickerFooterDismissNudge as ce, handleReadonlyPickerKeyDown as se, handlePickerSurfacePointerDown as le } from "./date-input-behavior.js";
13
+ import { formatYearInput as pe } from "../../data-display/calendar/calendar-fiscal-labels.js";
14
+ import { viewMonthFromYear as fe } from "../../data-display/calendar/calendar-year-utils.js";
15
+ const de = t.forwardRef(
16
16
  ({
17
17
  value: n,
18
18
  onChange: d,
@@ -32,16 +32,17 @@ const fe = t.forwardRef(
32
32
  fiscalConfig: k,
33
33
  showPresets: j,
34
34
  showPeriodBoundaries: F,
35
- showIntervalCaption: L = !1,
36
- ...z
37
- }, E) => {
38
- const { t: a } = re(), H = Y ?? a("datePicker.selectYear"), m = t.useRef(null), P = t.useRef(null);
39
- t.useImperativeHandle(E, () => m.current);
40
- const [i, c] = t.useState(!1), u = t.useRef(!1), g = ae(), { footerFlashKey: V, footerFlashTarget: B, popoverHandlers: q } = ie(s, i, g, P), [C, l] = t.useState(n), [G, J] = t.useState(pe(n));
35
+ autoNavigateToAvailable: L,
36
+ showIntervalCaption: z = !1,
37
+ ...E
38
+ }, H) => {
39
+ const { t: a } = te(), V = Y ?? a("datePicker.selectYear"), m = t.useRef(null), P = t.useRef(null);
40
+ t.useImperativeHandle(H, () => m.current);
41
+ const [i, c] = t.useState(!1), u = t.useRef(!1), g = ie(), { footerFlashKey: B, footerFlashTarget: q, popoverHandlers: G } = ce(s, i, g, P), [C, l] = t.useState(n), [J, Q] = t.useState(fe(n));
41
42
  t.useEffect(() => {
42
43
  i || l(n);
43
44
  }, [i, n]);
44
- const p = t.useCallback(() => c(!1), []), Q = ne({
45
+ const p = t.useCallback(() => c(!1), []), U = oe({
45
46
  calendarKind: O,
46
47
  fiscalMode: T,
47
48
  granularity: w,
@@ -49,11 +50,12 @@ const fe = t.forwardRef(
49
50
  fiscalYearStartMonth: K,
50
51
  fiscalConfig: k,
51
52
  showPresets: j,
52
- showPeriodBoundaries: F
53
- }), U = (e) => {
53
+ showPeriodBoundaries: F,
54
+ autoNavigateToAvailable: L
55
+ }), W = (e) => {
54
56
  const f = e && !Array.isArray(e) && !("from" in e) && !("to" in e) ? e : void 0;
55
57
  l(f), s || (d?.(f), p());
56
- }, W = () => {
58
+ }, X = () => {
57
59
  d?.(C), p();
58
60
  }, h = () => {
59
61
  l(n), p();
@@ -63,7 +65,7 @@ const fe = t.forwardRef(
63
65
  return t.useLayoutEffect(() => {
64
66
  g.current = { onDismiss: h, resolveFlash: () => "cancel" };
65
67
  }), /* @__PURE__ */ r(
66
- oe,
68
+ ae,
67
69
  {
68
70
  open: i,
69
71
  disabled: o,
@@ -74,26 +76,26 @@ const fe = t.forwardRef(
74
76
  onOpenAutoFocus: (e) => {
75
77
  u.current || e.preventDefault(), u.current = !1;
76
78
  },
77
- popoverHandlers: q,
79
+ popoverHandlers: G,
78
80
  trigger: /* @__PURE__ */ r(
79
81
  "div",
80
82
  {
81
83
  ref: P,
82
84
  "data-component": "year-picker",
83
85
  "data-state": i ? "open" : "closed",
84
- onPointerDown: (e) => se({
86
+ onPointerDown: (e) => le({
85
87
  disabled: o,
86
88
  event: e,
87
89
  onOpen: () => c(!0),
88
90
  focusField: () => m.current?.focus()
89
91
  }),
90
92
  children: /* @__PURE__ */ r(
91
- $,
93
+ ee,
92
94
  {
93
95
  ref: m,
94
- value: n ? le(n, k?.fyLabel ?? "fy-long") : "",
96
+ value: n ? pe(n, k?.fyLabel ?? "fy-long") : "",
95
97
  readOnly: !0,
96
- onKeyDown: (e) => ce(e, {
98
+ onKeyDown: (e) => se(e, {
97
99
  disabled: o,
98
100
  open: i,
99
101
  onOpen: () => c(!0),
@@ -103,10 +105,10 @@ const fe = t.forwardRef(
103
105
  }
104
106
  }),
105
107
  onClick: () => !o && c(!0),
106
- placeholder: H,
108
+ placeholder: V,
107
109
  disabled: o,
108
110
  "data-form-control": "input",
109
- className: _("cursor-pointer", I),
111
+ className: $("cursor-pointer", I),
110
112
  suffix: /* @__PURE__ */ y("div", { className: "flex items-center gap-1", children: [
111
113
  n && !o ? /* @__PURE__ */ y(x, { children: [
112
114
  /* @__PURE__ */ r(R, { asChild: !0, children: /* @__PURE__ */ r(
@@ -119,7 +121,7 @@ const fe = t.forwardRef(
119
121
  e.stopPropagation(), b();
120
122
  },
121
123
  className: "inline-flex size-4 items-center justify-center border-none bg-transparent p-0",
122
- children: /* @__PURE__ */ r(X, { className: "size-3 hover:text-content" })
124
+ children: /* @__PURE__ */ r(Z, { className: "size-3 hover:text-content" })
123
125
  }
124
126
  ) }),
125
127
  /* @__PURE__ */ r(D, { variant: "tertiary", side: "top", children: a("calendar.clear") })
@@ -136,43 +138,43 @@ const fe = t.forwardRef(
136
138
  e.stopPropagation(), o || c((f) => !f);
137
139
  },
138
140
  className: "inline-flex items-center justify-center border-none bg-transparent p-0",
139
- children: /* @__PURE__ */ r(Z, { className: "h-4 w-4 text-secondary-foreground" })
141
+ children: /* @__PURE__ */ r(_, { className: "h-4 w-4 text-secondary-foreground" })
140
142
  }
141
143
  ) }),
142
144
  /* @__PURE__ */ r(D, { variant: "tertiary", side: "top", children: a("datePicker.selectYear") })
143
145
  ] })
144
146
  ] }),
145
- ...z
147
+ ...E
146
148
  }
147
149
  )
148
150
  }
149
151
  ),
150
152
  children: /* @__PURE__ */ r(
151
- ee,
153
+ re,
152
154
  {
153
155
  pickerType: "year",
154
156
  selectedYear: C,
155
- footerFlashKey: V,
156
- footerFlashTarget: B,
157
- onYearSelect: U,
158
- month: G,
159
- onMonthChange: J,
160
- disabled: te(v, N),
157
+ footerFlashKey: B,
158
+ footerFlashTarget: q,
159
+ onYearSelect: W,
160
+ month: J,
161
+ onMonthChange: Q,
162
+ disabled: ne(v, N),
161
163
  startMonth: S,
162
164
  endMonth: A,
163
165
  showFooter: s,
164
- onApply: W,
166
+ onApply: X,
165
167
  onCancel: h,
166
168
  onClear: b,
167
- showIntervalCaption: L,
168
- ...Q
169
+ showIntervalCaption: z,
170
+ ...U
169
171
  }
170
172
  )
171
173
  }
172
174
  );
173
175
  }
174
176
  );
175
- fe.displayName = "YearPicker";
177
+ de.displayName = "YearPicker";
176
178
  export {
177
- fe as YearPicker
179
+ de as YearPicker
178
180
  };
@@ -1,18 +1,18 @@
1
1
  import { jsx as r, jsxs as g } from "react/jsx-runtime";
2
2
  import * as t from "react";
3
- import { Cross as _, CalendarMonth as ee } from "impact-nova-icons";
4
- import { cn as re } from "../../../lib/utils.js";
5
- import { Input as te } from "../input/input.js";
6
- import { Calendar as ne } from "../../data-display/calendar/calendar.js";
3
+ import { Cross as ee, CalendarMonth as re } from "impact-nova-icons";
4
+ import { cn as te } from "../../../lib/utils.js";
5
+ import { Input as ne } from "../input/input.js";
6
+ import { Calendar as oe } from "../../data-display/calendar/calendar.js";
7
7
  import { Tooltip as x, TooltipTrigger as D, TooltipContent as Y } from "../../feedback/tooltip/tooltip.js";
8
- import { useImpactNovaI18n as oe } from "../../../i18n/use-impact-nova-i18n.js";
9
- import { buildDateBoundsMatcher as ae } from "../../../lib/date-bounds-matcher.js";
10
- import { fiscalCalendarPassThrough as ie } from "./fiscal-pass-through.js";
11
- import { DatePickerShell as ce } from "./date-picker-shell.js";
12
- import { usePickerDismissActionsRef as se, usePickerFooterDismissNudge as le, handleReadonlyPickerKeyDown as fe, handlePickerSurfacePointerDown as pe } from "./date-input-behavior.js";
8
+ import { useImpactNovaI18n as ae } from "../../../i18n/use-impact-nova-i18n.js";
9
+ import { buildDateBoundsMatcher as ie } from "../../../lib/date-bounds-matcher.js";
10
+ import { fiscalCalendarPassThrough as ce } from "./fiscal-pass-through.js";
11
+ import { DatePickerShell as se } from "./date-picker-shell.js";
12
+ import { usePickerDismissActionsRef as le, usePickerFooterDismissNudge as fe, handleReadonlyPickerKeyDown as pe, handlePickerSurfacePointerDown as de } from "./date-input-behavior.js";
13
13
  import { formatYearInput as N } from "../../data-display/calendar/calendar-fiscal-labels.js";
14
- import { viewMonthFromYear as de } from "../../data-display/calendar/calendar-year-utils.js";
15
- const me = t.forwardRef(
14
+ import { viewMonthFromYear as me } from "../../data-display/calendar/calendar-year-utils.js";
15
+ const ue = t.forwardRef(
16
16
  ({
17
17
  value: n,
18
18
  onChange: d,
@@ -32,16 +32,17 @@ const me = t.forwardRef(
32
32
  fiscalConfig: y,
33
33
  showPresets: L,
34
34
  showPeriodBoundaries: $,
35
- showIntervalCaption: z = !1,
36
- ...E
37
- }, H) => {
38
- const { t: a } = oe(), V = S ?? a("datePicker.selectYearRange"), k = y?.fyLabel ?? "fy-long", m = t.useRef(null), P = t.useRef(null);
39
- t.useImperativeHandle(H, () => m.current);
40
- const [i, c] = t.useState(!1), u = t.useRef(!1), R = se(), { footerFlashKey: B, footerFlashTarget: q, popoverHandlers: G } = le(l, i, R, P), [C, f] = t.useState(n), [J, Q] = t.useState(de(n?.from));
35
+ autoNavigateToAvailable: z,
36
+ showIntervalCaption: E = !1,
37
+ ...H
38
+ }, V) => {
39
+ const { t: a } = ae(), B = S ?? a("datePicker.selectYearRange"), k = y?.fyLabel ?? "fy-long", m = t.useRef(null), P = t.useRef(null);
40
+ t.useImperativeHandle(V, () => m.current);
41
+ const [i, c] = t.useState(!1), u = t.useRef(!1), R = le(), { footerFlashKey: q, footerFlashTarget: G, popoverHandlers: J } = fe(l, i, R, P), [C, f] = t.useState(n), [Q, U] = t.useState(me(n?.from));
41
42
  t.useEffect(() => {
42
43
  i || f(n);
43
44
  }, [i, n]);
44
- const p = t.useCallback(() => c(!1), []), U = ie({
45
+ const p = t.useCallback(() => c(!1), []), W = ce({
45
46
  calendarKind: T,
46
47
  fiscalMode: w,
47
48
  granularity: K,
@@ -49,11 +50,12 @@ const me = t.forwardRef(
49
50
  fiscalYearStartMonth: F,
50
51
  fiscalConfig: y,
51
52
  showPresets: L,
52
- showPeriodBoundaries: $
53
- }), W = (e) => {
53
+ showPeriodBoundaries: $,
54
+ autoNavigateToAvailable: z
55
+ }), X = (e) => {
54
56
  const s = e && !Array.isArray(e) && ("from" in e || "to" in e) ? e : void 0;
55
57
  f(s), l || (d?.(s), s?.to && p());
56
- }, X = () => {
58
+ }, Z = () => {
57
59
  d?.(C), p();
58
60
  }, h = () => {
59
61
  f(n), p();
@@ -63,9 +65,9 @@ const me = t.forwardRef(
63
65
  t.useLayoutEffect(() => {
64
66
  R.current = { onDismiss: h, resolveFlash: () => "cancel" };
65
67
  });
66
- const Z = n?.from ? `${N(n.from, k)}${n.to ? ` – ${N(n.to, k)}` : ""}` : "";
68
+ const _ = n?.from ? `${N(n.from, k)}${n.to ? ` – ${N(n.to, k)}` : ""}` : "";
67
69
  return /* @__PURE__ */ r(
68
- ce,
70
+ se,
69
71
  {
70
72
  open: i,
71
73
  disabled: o,
@@ -76,26 +78,26 @@ const me = t.forwardRef(
76
78
  onOpenAutoFocus: (e) => {
77
79
  u.current || e.preventDefault(), u.current = !1;
78
80
  },
79
- popoverHandlers: G,
81
+ popoverHandlers: J,
80
82
  trigger: /* @__PURE__ */ r(
81
83
  "div",
82
84
  {
83
85
  ref: P,
84
86
  "data-component": "year-range-picker",
85
87
  "data-state": i ? "open" : "closed",
86
- onPointerDown: (e) => pe({
88
+ onPointerDown: (e) => de({
87
89
  disabled: o,
88
90
  event: e,
89
91
  onOpen: () => c(!0),
90
92
  focusField: () => m.current?.focus()
91
93
  }),
92
94
  children: /* @__PURE__ */ r(
93
- te,
95
+ ne,
94
96
  {
95
97
  ref: m,
96
- value: Z,
98
+ value: _,
97
99
  readOnly: !0,
98
- onKeyDown: (e) => fe(e, {
100
+ onKeyDown: (e) => pe(e, {
99
101
  disabled: o,
100
102
  open: i,
101
103
  onOpen: () => c(!0),
@@ -105,10 +107,10 @@ const me = t.forwardRef(
105
107
  }
106
108
  }),
107
109
  onClick: () => !o && c(!0),
108
- placeholder: V,
110
+ placeholder: B,
109
111
  disabled: o,
110
112
  "data-form-control": "input",
111
- className: re("cursor-pointer", O),
113
+ className: te("cursor-pointer", O),
112
114
  suffix: /* @__PURE__ */ g("div", { className: "flex items-center gap-1", children: [
113
115
  n?.from && !o ? /* @__PURE__ */ g(x, { children: [
114
116
  /* @__PURE__ */ r(D, { asChild: !0, children: /* @__PURE__ */ r(
@@ -121,7 +123,7 @@ const me = t.forwardRef(
121
123
  e.stopPropagation(), b();
122
124
  },
123
125
  className: "inline-flex size-4 items-center justify-center border-none bg-transparent p-0",
124
- children: /* @__PURE__ */ r(_, { className: "size-3 hover:text-content" })
126
+ children: /* @__PURE__ */ r(ee, { className: "size-3 hover:text-content" })
125
127
  }
126
128
  ) }),
127
129
  /* @__PURE__ */ r(Y, { variant: "tertiary", side: "top", children: a("calendar.clear") })
@@ -138,44 +140,44 @@ const me = t.forwardRef(
138
140
  e.stopPropagation(), o || c((s) => !s);
139
141
  },
140
142
  className: "inline-flex items-center justify-center border-none bg-transparent p-0",
141
- children: /* @__PURE__ */ r(ee, { className: "h-4 w-4 text-secondary-foreground" })
143
+ children: /* @__PURE__ */ r(re, { className: "h-4 w-4 text-secondary-foreground" })
142
144
  }
143
145
  ) }),
144
146
  /* @__PURE__ */ r(Y, { variant: "tertiary", side: "top", children: a("datePicker.selectYearRange") })
145
147
  ] })
146
148
  ] }),
147
- ...E
149
+ ...H
148
150
  }
149
151
  )
150
152
  }
151
153
  ),
152
154
  children: /* @__PURE__ */ r(
153
- ne,
155
+ oe,
154
156
  {
155
157
  pickerType: "year",
156
158
  yearMode: "range",
157
159
  selectedYear: C,
158
- footerFlashKey: B,
159
- footerFlashTarget: q,
160
- onYearSelect: W,
161
- month: J,
162
- onMonthChange: Q,
163
- disabled: ae(v, A),
160
+ footerFlashKey: q,
161
+ footerFlashTarget: G,
162
+ onYearSelect: X,
163
+ month: Q,
164
+ onMonthChange: U,
165
+ disabled: ie(v, A),
164
166
  startMonth: I,
165
167
  endMonth: M,
166
168
  showFooter: l,
167
- onApply: X,
169
+ onApply: Z,
168
170
  onCancel: h,
169
171
  onClear: b,
170
- showIntervalCaption: z,
171
- ...U
172
+ showIntervalCaption: E,
173
+ ...W
172
174
  }
173
175
  )
174
176
  }
175
177
  );
176
178
  }
177
179
  );
178
- me.displayName = "YearRangePicker";
180
+ ue.displayName = "YearRangePicker";
179
181
  export {
180
- me as YearRangePicker
182
+ ue as YearRangePicker
181
183
  };
@@ -1,8 +1,9 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { cn as x } from "../../../../lib/utils.js";
3
+ import "react";
3
4
  import { OverflowTooltip as m } from "../../../feedback/tooltip/overflow-tooltip.js";
4
5
  import { isInvertedSelection as h, isOptionArray as d } from "../utils/select.js";
5
- function w({
6
+ function C({
6
7
  isMulti: u,
7
8
  isDisabled: p,
8
9
  internalValue: o,
@@ -52,5 +53,5 @@ function w({
52
53
  );
53
54
  }
54
55
  export {
55
- w as SelectTriggerValue
56
+ C as SelectTriggerValue
56
57
  };
@@ -1,13 +1,14 @@
1
1
  import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
2
  import * as i from "@radix-ui/react-popover";
3
3
  import { Checkbox as P } from "../../checkbox/checkbox.js";
4
+ import "react";
4
5
  import { OverflowTooltip as y } from "../../../feedback/tooltip/overflow-tooltip.js";
5
6
  import { ChevronRight as A, Checkmark as O } from "impact-nova-icons";
6
7
  import { cn as v } from "../../../../lib/utils.js";
7
8
  import { useOverlayPortalContainer as T } from "../../../../lib/overlay/overlay-portal-context.js";
8
9
  import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as _ } from "../../../../lib/overlay/overlay-host.constants.js";
9
10
  import { useSuppressOptionClickForTextSelection as E } from "../hooks/useSuppressOptionClickForTextSelection.js";
10
- const G = ({
11
+ const R = ({
11
12
  parentOption: n,
12
13
  isMulti: u,
13
14
  isReadOnly: l,
@@ -105,5 +106,5 @@ const G = ({
105
106
  ] });
106
107
  };
107
108
  export {
108
- G as Submenu
109
+ R as Submenu
109
110
  };
@@ -1,98 +1,98 @@
1
- import { jsx as F, jsxs as M } from "react/jsx-runtime";
2
- import { useMemo as I, useRef as K, useEffect as Y } from "react";
3
- import { useWatch as W, Controller as k } from "react-hook-form";
1
+ import { jsx as x, jsxs as N } from "react/jsx-runtime";
2
+ import { useMemo as F, useRef as K, useEffect as Y } from "react";
3
+ import { useWatch as S, Controller as k } from "react-hook-form";
4
4
  import { DatePicker as q } from "../../components/forms/date-picker/date-picker.js";
5
5
  import { getEffectiveMinOffsetDaysFromToday as O } from "../utils/formDate.utils.js";
6
- import { startOfDayDate as v, addDaysDate as y, handleDateFnsFormat as L } from "../utils/date.utils.js";
6
+ import { startOfDayDate as I, addDaysDate as A, handleDateFnsFormat as L } from "../utils/date.utils.js";
7
7
  import { parseYmdString as f, formatYmd as $ } from "../utils/calendar-boundary.js";
8
- const b = "__dateInputPairedSentinel__", H = ({
8
+ const M = "__dateInputPairedSentinel__", H = ({
9
9
  field: n,
10
- validationRules: N,
10
+ validationRules: W,
11
11
  isDisabled: u,
12
12
  formHelpers: h
13
13
  }) => {
14
- const m = n.fieldType === "date", e = m ? n : null, g = h.form.control, A = h.form.trigger, P = h.getValues, s = I(() => e?.dateAfterFieldId ? Array.isArray(e.dateAfterFieldId) ? e.dateAfterFieldId : [e.dateAfterFieldId] : [], [e]), i = I(() => e?.dateBeforeFieldId ? Array.isArray(e.dateBeforeFieldId) ? e.dateBeforeFieldId : [e.dateBeforeFieldId] : [], [e]), B = s.length > 0 ? s : [b], p = W({
14
+ const m = n.fieldType === "date", e = m ? n : null, g = h.form.control, y = h.form.trigger, T = h.getValues, i = F(() => e?.dateAfterFieldId ? Array.isArray(e.dateAfterFieldId) ? e.dateAfterFieldId : [e.dateAfterFieldId] : [], [e]), s = F(() => e?.dateBeforeFieldId ? Array.isArray(e.dateBeforeFieldId) ? e.dateBeforeFieldId : [e.dateBeforeFieldId] : [], [e]), B = i.length > 0 ? i : [M], p = S({
15
15
  control: g,
16
16
  name: B,
17
- disabled: !m || s.length === 0
18
- }), E = i.length > 0 ? i : [b], D = W({
17
+ disabled: !m || i.length === 0
18
+ }), E = s.length > 0 ? s : [M], D = S({
19
19
  control: g,
20
20
  name: E,
21
- disabled: !m || i.length === 0
22
- }), T = s.length > 0 || i.length > 0, w = K(!0), _ = s.length > 0 ? p.join("|") : "", C = i.length > 0 ? D.join("|") : "";
21
+ disabled: !m || s.length === 0
22
+ }), P = i.length > 0 || s.length > 0, b = K(!0), _ = i.length > 0 ? p.join("|") : "", C = s.length > 0 ? D.join("|") : "";
23
23
  Y(() => {
24
- if (!e || !T) return;
25
- if (w.current) {
26
- w.current = !1;
24
+ if (!e || !P) return;
25
+ if (b.current) {
26
+ b.current = !1;
27
27
  return;
28
28
  }
29
- const r = P()[e.id];
30
- r != null && String(r).trim() !== "" && A(e.id);
29
+ const a = T()[e.id];
30
+ a != null && String(a).trim() !== "" && y(e.id);
31
31
  }, [
32
32
  _,
33
33
  C,
34
34
  e,
35
- P,
36
35
  T,
37
- A
36
+ P,
37
+ y
38
38
  ]);
39
- const { minDate: R, maxDate: V } = I(() => {
39
+ const { minDate: R, maxDate: V } = F(() => {
40
40
  if (!e)
41
41
  return {
42
42
  minDate: void 0,
43
43
  maxDate: void 0
44
44
  };
45
- const r = [], l = O(e);
46
- if (l != null && l >= 0 && r.push(v(y(/* @__PURE__ */ new Date(), l))), e.minDate) {
45
+ const a = [], l = O(e);
46
+ if (l != null && l >= 0 && a.push(I(A(/* @__PURE__ */ new Date(), l))), e.minDate) {
47
47
  const t = f(e.minDate);
48
- t && r.push(t);
48
+ t && a.push(t);
49
49
  }
50
- if (s.length > 0) {
51
- const t = s.length > 0 ? p : [];
52
- for (const a of t) {
53
- if (!a) continue;
54
- const c = f(String(a));
50
+ if (i.length > 0) {
51
+ const t = i.length > 0 ? p : [];
52
+ for (const r of t) {
53
+ if (!r) continue;
54
+ const c = f(String(r));
55
55
  if (c) {
56
- const x = e.dateAfterFieldIdInclusive ? 0 : 1;
57
- r.push(v(y(c, x)));
56
+ const v = e.dateAfterFieldIdInclusive ? 0 : 1;
57
+ a.push(I(A(c, v)));
58
58
  }
59
59
  }
60
60
  }
61
61
  let d;
62
- r.length > 0 && (d = r.reduce(
63
- (t, a) => t.getTime() >= a.getTime() ? t : a
62
+ a.length > 0 && (d = a.reduce(
63
+ (t, r) => t.getTime() >= r.getTime() ? t : r
64
64
  ));
65
65
  let o;
66
66
  if (e.maxDate) {
67
67
  const t = f(e.maxDate);
68
68
  t && (o = t);
69
69
  }
70
- if (i.length > 0) {
71
- const t = i.length > 0 ? D : [];
72
- for (const a of t) {
73
- if (!a) continue;
74
- const c = f(String(a));
70
+ if (s.length > 0) {
71
+ const t = s.length > 0 ? D : [];
72
+ for (const r of t) {
73
+ if (!r) continue;
74
+ const c = f(String(r));
75
75
  if (c) {
76
- const x = e.dateBeforeFieldIdInclusive ? 0 : -1, S = v(y(c, x));
77
- o = o == null || S.getTime() < o.getTime() ? S : o;
76
+ const v = e.dateBeforeFieldIdInclusive ? 0 : -1, w = I(A(c, v));
77
+ o = o == null || w.getTime() < o.getTime() ? w : o;
78
78
  }
79
79
  }
80
80
  }
81
81
  return { minDate: d, maxDate: o };
82
- }, [e, s, i, p, D]);
82
+ }, [e, i, s, p, D]);
83
83
  if (!m || !e) return null;
84
84
  const j = L(e.dateFormat);
85
- return /* @__PURE__ */ F(
85
+ return /* @__PURE__ */ x(
86
86
  k,
87
87
  {
88
88
  name: n.id,
89
89
  control: g,
90
90
  disabled: u,
91
- rules: N,
92
- render: ({ field: r, fieldState: l }) => {
93
- const d = !!l.error, o = r.value, t = o ? f(String(o)) : void 0;
94
- return /* @__PURE__ */ M("div", { className: "flex w-full min-w-0 flex-col gap-[6px]", children: [
95
- /* @__PURE__ */ M(
91
+ rules: W,
92
+ render: ({ field: a, fieldState: l }) => {
93
+ const d = !!l.error, o = a.value, t = o ? f(String(o)) : void 0;
94
+ return /* @__PURE__ */ N("div", { className: "flex w-full min-w-0 flex-col gap-[6px]", children: [
95
+ /* @__PURE__ */ N(
96
96
  "label",
97
97
  {
98
98
  htmlFor: n.id,
@@ -100,11 +100,11 @@ const b = "__dateInputPairedSentinel__", H = ({
100
100
  children: [
101
101
  n.label,
102
102
  " ",
103
- n.isRequired ? /* @__PURE__ */ F("span", { className: "text-[red]", children: "*" }) : null
103
+ n.isRequired ? /* @__PURE__ */ x("span", { className: "text-[red]", children: "*" }) : null
104
104
  ]
105
105
  }
106
106
  ),
107
- /* @__PURE__ */ F(
107
+ /* @__PURE__ */ x(
108
108
  q,
109
109
  {
110
110
  id: n.id,
@@ -113,8 +113,8 @@ const b = "__dateInputPairedSentinel__", H = ({
113
113
  minDate: R,
114
114
  maxDate: V,
115
115
  value: t,
116
- onChange: (a) => {
117
- r.onChange(a ? $(a) : "");
116
+ onChange: (r) => {
117
+ a.onChange(r ? $(r) : "");
118
118
  },
119
119
  placeholder: n.placeholder,
120
120
  required: n.isRequired,
@@ -126,7 +126,8 @@ const b = "__dateInputPairedSentinel__", H = ({
126
126
  fiscalMode: e.fiscalMode,
127
127
  fiscalYearStartMonth: e.fiscalYearStartMonth,
128
128
  fiscalMonthPattern: e.fiscalMonthPattern,
129
- showPresets: e.showPresets
129
+ showPresets: e.showPresets,
130
+ autoNavigateToAvailable: e.autoNavigateToAvailable
130
131
  }
131
132
  )
132
133
  ] });