impact-nova 2.5.7 → 2.5.8

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/ag-grid-react/ag-grid.types.d.ts +2 -2
  2. package/dist/components/data/ag-grid-react/headers/components/date-filter-picker.d.ts +4 -2
  3. package/dist/components/data/ag-grid-react/headers/header-search-input.js +65 -65
  4. package/dist/components/data/ag-grid-react/headers/utils/date-utils.js +55 -48
  5. package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +4 -2
  6. package/dist/components/data-display/calendar/calendar-apply-validation.js +80 -61
  7. package/dist/components/data-display/calendar/calendar-config.d.ts +13 -5
  8. package/dist/components/data-display/calendar/calendar-config.js +31 -20
  9. package/dist/components/data-display/calendar/calendar-day-button.js +43 -35
  10. package/dist/components/data-display/calendar/calendar-day-hover.d.ts +8 -0
  11. package/dist/components/data-display/calendar/calendar-day-hover.js +20 -0
  12. package/dist/components/data-display/calendar/calendar-day-picker-classnames.d.ts +8 -1
  13. package/dist/components/data-display/calendar/calendar-day-picker-classnames.js +40 -20
  14. package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +12 -1
  15. package/dist/components/data-display/calendar/calendar-day-picker-components.js +201 -108
  16. package/dist/components/data-display/calendar/calendar-day-picker-view.d.ts +11 -3
  17. package/dist/components/data-display/calendar/calendar-day-picker-view.js +136 -92
  18. package/dist/components/data-display/calendar/calendar-fiscal-labels.d.ts +38 -0
  19. package/dist/components/data-display/calendar/calendar-fiscal-labels.js +90 -0
  20. package/dist/components/data-display/calendar/calendar-footer-summary.d.ts +13 -4
  21. package/dist/components/data-display/calendar/calendar-footer-summary.js +101 -50
  22. package/dist/components/data-display/calendar/calendar-footer.d.ts +16 -7
  23. package/dist/components/data-display/calendar/calendar-footer.js +88 -66
  24. package/dist/components/data-display/calendar/calendar-gregorian-presets.d.ts +2 -0
  25. package/dist/components/data-display/calendar/calendar-gregorian-presets.js +26 -0
  26. package/dist/components/data-display/calendar/calendar-interval-caption.d.ts +1 -0
  27. package/dist/components/data-display/calendar/calendar-interval-caption.js +10 -0
  28. package/dist/components/data-display/calendar/calendar-interval-utils.d.ts +23 -0
  29. package/dist/components/data-display/calendar/calendar-interval-utils.js +154 -0
  30. package/dist/components/data-display/calendar/calendar-month-panes.d.ts +5 -1
  31. package/dist/components/data-display/calendar/calendar-month-panes.js +9 -7
  32. package/dist/components/data-display/calendar/calendar-month-picker-panel.d.ts +5 -1
  33. package/dist/components/data-display/calendar/calendar-month-picker-panel.js +76 -77
  34. package/dist/components/data-display/calendar/calendar-month-utils.d.ts +2 -0
  35. package/dist/components/data-display/calendar/calendar-month-utils.js +69 -60
  36. package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +15 -0
  37. package/dist/components/data-display/calendar/calendar-padding-week.utils.js +22 -3
  38. package/dist/components/data-display/calendar/calendar-panel-context.d.ts +1 -1
  39. package/dist/components/data-display/calendar/calendar-period-cell.d.ts +18 -0
  40. package/dist/components/data-display/calendar/calendar-period-cell.js +89 -0
  41. package/dist/components/data-display/calendar/calendar-period-keyboard.d.ts +2 -0
  42. package/dist/components/data-display/calendar/calendar-period-keyboard.js +18 -0
  43. package/dist/components/data-display/calendar/calendar-preset-strip.d.ts +6 -0
  44. package/dist/components/data-display/calendar/calendar-preset-strip.js +26 -0
  45. package/dist/components/data-display/calendar/calendar-quarter-panes.d.ts +24 -0
  46. package/dist/components/data-display/calendar/calendar-quarter-panes.js +115 -0
  47. package/dist/components/data-display/calendar/calendar-quarter-utils.d.ts +19 -0
  48. package/dist/components/data-display/calendar/calendar-quarter-utils.js +95 -0
  49. package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +38 -0
  50. package/dist/components/data-display/calendar/calendar-selection-appearance.js +72 -0
  51. package/dist/components/data-display/calendar/calendar-selection.d.ts +20 -0
  52. package/dist/components/data-display/calendar/calendar-selection.js +31 -0
  53. package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +6 -1
  54. package/dist/components/data-display/calendar/calendar-week-number-cell.js +53 -38
  55. package/dist/components/data-display/calendar/calendar-week-number-header.d.ts +4 -0
  56. package/dist/components/data-display/calendar/calendar-week-number-header.js +15 -0
  57. package/dist/components/data-display/calendar/calendar-week-utils.d.ts +11 -3
  58. package/dist/components/data-display/calendar/calendar-week-utils.js +49 -42
  59. package/dist/components/data-display/calendar/calendar-year-panes.d.ts +18 -0
  60. package/dist/components/data-display/calendar/calendar-year-panes.js +98 -0
  61. package/dist/components/data-display/calendar/calendar-year-utils.d.ts +17 -0
  62. package/dist/components/data-display/calendar/calendar-year-utils.js +75 -0
  63. package/dist/components/data-display/calendar/calendar.d.ts +1 -1
  64. package/dist/components/data-display/calendar/calendar.js +303 -181
  65. package/dist/components/data-display/calendar/calendar.types.d.ts +53 -16
  66. package/dist/components/data-display/calendar/fiscal-period-caption-select.d.ts +7 -0
  67. package/dist/components/data-display/calendar/fiscal-period-caption-select.js +63 -0
  68. package/dist/components/data-display/calendar/index.d.ts +1 -1
  69. package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +12 -2
  70. package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +92 -62
  71. package/dist/components/data-display/calendar/use-calendar-state.d.ts +31 -11
  72. package/dist/components/data-display/calendar/use-calendar-state.js +370 -163
  73. package/dist/components/data-display/calendar/use-fiscal-calendar.d.ts +5 -0
  74. package/dist/components/data-display/calendar/use-fiscal-calendar.js +24 -0
  75. package/dist/components/feedback/tooltip/overflow-tooltip.js +57 -57
  76. package/dist/components/forms/date-picker/date-input-behavior.d.ts +7 -0
  77. package/dist/components/forms/date-picker/date-input-behavior.js +28 -24
  78. package/dist/components/forms/date-picker/date-picker-shell.d.ts +13 -0
  79. package/dist/components/forms/date-picker/date-picker-shell.js +31 -0
  80. package/dist/components/forms/date-picker/date-picker.js +187 -167
  81. package/dist/components/forms/date-picker/date-picker.types.d.ts +90 -43
  82. package/dist/components/forms/date-picker/date-range-picker.js +273 -224
  83. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +13 -0
  84. package/dist/components/forms/date-picker/fiscal-pass-through.js +17 -0
  85. package/dist/components/forms/date-picker/fiscal-period-format.d.ts +9 -0
  86. package/dist/components/forms/date-picker/fiscal-period-format.js +50 -0
  87. package/dist/components/forms/date-picker/index.d.ts +12 -0
  88. package/dist/components/forms/date-picker/index.js +19 -7
  89. package/dist/components/forms/date-picker/month-picker.js +225 -182
  90. package/dist/components/forms/date-picker/month-range-picker.js +134 -110
  91. package/dist/components/forms/date-picker/multi-date-picker.js +77 -56
  92. package/dist/components/forms/date-picker/multi-month-picker.js +78 -57
  93. package/dist/components/forms/date-picker/multi-quarter-picker.d.ts +3 -0
  94. package/dist/components/forms/date-picker/multi-quarter-picker.js +177 -0
  95. package/dist/components/forms/date-picker/multi-week-picker.js +81 -70
  96. package/dist/components/forms/date-picker/multi-year-picker.d.ts +3 -0
  97. package/dist/components/forms/date-picker/multi-year-picker.js +179 -0
  98. package/dist/components/forms/date-picker/quarter-picker.d.ts +3 -0
  99. package/dist/components/forms/date-picker/quarter-picker.js +176 -0
  100. package/dist/components/forms/date-picker/quarter-range-picker.d.ts +3 -0
  101. package/dist/components/forms/date-picker/quarter-range-picker.js +177 -0
  102. package/dist/components/forms/date-picker/week-picker.js +148 -137
  103. package/dist/components/forms/date-picker/week-range-picker.js +216 -205
  104. package/dist/components/forms/date-picker/year-picker.d.ts +3 -0
  105. package/dist/components/forms/date-picker/year-picker.js +176 -0
  106. package/dist/components/forms/date-picker/year-range-picker.d.ts +3 -0
  107. package/dist/components/forms/date-picker/year-range-picker.js +179 -0
  108. package/dist/form-react/Fields/DateInputField.js +63 -58
  109. package/dist/form-react/Fields/DateRangeField.js +42 -37
  110. package/dist/form-react/Fields/MonthRangeField.js +50 -45
  111. package/dist/form-react/Fields/MultiWeekPickerField.js +7 -7
  112. package/dist/form-react/Fields/WeekRangePicker.js +44 -45
  113. package/dist/form-react/components/FieldRenderer.js +21 -23
  114. package/dist/form-react/registry/defaultFieldRegistrations.d.ts +9 -1
  115. package/dist/form-react/registry/defaultFieldRegistrations.js +27 -36
  116. package/dist/form-react/registry/resolveFieldComponent.d.ts +3 -2
  117. package/dist/form-react/registry/resolveFieldComponent.js +9 -133
  118. package/dist/form-react/types/fields.types.d.ts +19 -4
  119. package/dist/form-react/utils/date.utils.d.ts +1 -1
  120. package/dist/form-react/utils/date.utils.js +38 -38
  121. package/dist/i18n/defaultMessages.d.ts +19 -1
  122. package/dist/i18n/defaultMessages.js +37 -20
  123. package/dist/i18n/locales/de.js +18 -1
  124. package/dist/i18n/locales/es.js +18 -1
  125. package/dist/i18n/locales/hi.js +18 -1
  126. package/dist/i18n/locales/kn.js +18 -1
  127. package/dist/impact-nova-components.css +379 -3
  128. package/dist/impact-nova.css +1 -1
  129. package/dist/index.js +528 -516
  130. package/dist/lib/fiscal-calendar/build-year.d.ts +8 -0
  131. package/dist/lib/fiscal-calendar/build-year.js +173 -0
  132. package/dist/lib/fiscal-calendar/civil-date.d.ts +21 -0
  133. package/dist/lib/fiscal-calendar/civil-date.js +94 -0
  134. package/dist/lib/fiscal-calendar/index.d.ts +10 -0
  135. package/dist/lib/fiscal-calendar/index.js +40 -0
  136. package/dist/lib/fiscal-calendar/lookup.d.ts +4 -0
  137. package/dist/lib/fiscal-calendar/lookup.js +70 -0
  138. package/dist/lib/fiscal-calendar/presets.d.ts +8 -0
  139. package/dist/lib/fiscal-calendar/presets.js +99 -0
  140. package/dist/lib/fiscal-calendar/selection.d.ts +18 -0
  141. package/dist/lib/fiscal-calendar/selection.js +32 -0
  142. package/dist/lib/fiscal-calendar/types.d.ts +145 -0
  143. package/dist/lib/fiscal-calendar/types.js +10 -0
  144. package/dist/lib/fiscal-calendar/week-selection.d.ts +22 -0
  145. package/dist/lib/fiscal-calendar/week-selection.js +107 -0
  146. package/package.json +5 -1
  147. package/dist/lib/fiscal-calendar.d.ts +0 -62
  148. package/dist/lib/fiscal-calendar.js +0 -99
@@ -1,169 +1,262 @@
1
- import { jsx as n, jsxs as R } from "react/jsx-runtime";
2
- import * as u from "react";
3
- import "react-day-picker";
4
- import { ChevronRight as N } from "impact-nova-icons";
5
- import { cn as d } from "../../../lib/utils.js";
6
- import { Button as D } from "../../primitives/button/button.js";
7
- import { Select as w } from "../../forms/select/select.js";
8
- import { CalendarCaptionHeader as Y } from "./calendar-caption-header.js";
9
- import { CalendarDayButton as z } from "./calendar-day-button.js";
10
- import { PanelIndexContext as h } from "./calendar-panel-context.js";
11
- import { CalendarWeekNumberCell as O } from "./calendar-week-number-cell.js";
12
- import { getAvailableMonths as A } from "./calendar-month-utils.js";
13
- import { isCalendarPaddingWeek as F } from "./calendar-padding-week.utils.js";
14
- function _({
15
- buttonVariant: f,
16
- pickerType: p,
17
- currentMonth: c,
18
- monthsFull: b,
19
- resolvedStartMonth: k,
20
- resolvedEndMonth: P,
21
- availableYears: g,
22
- weekStartsOn: I,
23
- previousMonthLabel: v,
24
- nextMonthLabel: x,
25
- monthPlaceholder: M,
26
- yearPlaceholder: W,
27
- weekNumberLabel: S,
28
- weekLabel: y,
29
- onMonthChange: m,
30
- onWeekSelect: C,
31
- components: B
1
+ import { jsx as i, jsxs as z } from "react/jsx-runtime";
2
+ import * as k from "react";
3
+ import { useDayPicker as K } from "react-day-picker";
4
+ import { ChevronRight as B } from "impact-nova-icons";
5
+ import { cn as D } from "../../../lib/utils.js";
6
+ import { Button as R } from "../../primitives/button/button.js";
7
+ import { Select as _ } from "../../forms/select/select.js";
8
+ import { CalendarCaptionHeader as V } from "./calendar-caption-header.js";
9
+ import { CalendarDayButton as ee } from "./calendar-day-button.js";
10
+ import { PanelIndexContext as y } from "./calendar-panel-context.js";
11
+ import { CalendarWeekNumberCell as te } from "./calendar-week-number-cell.js";
12
+ import { paneCivilMonthIndex as re } from "./calendar-week-number-header.js";
13
+ import { localDateFromCivil as E } from "../../../lib/fiscal-calendar/civil-date.js";
14
+ import { buildFiscalYear as ne } from "../../../lib/fiscal-calendar/build-year.js";
15
+ import { getAvailableMonths as oe } from "./calendar-month-utils.js";
16
+ import { isCalendarPaddingWeek as ie, weekHasInMonthSelection as ae, weekIntervalContinues as se } from "./calendar-padding-week.utils.js";
17
+ import { fiscalPeriodForWeek as le } from "./calendar-week-utils.js";
18
+ import { FiscalPeriodCaptionSelect as de } from "./fiscal-period-caption-select.js";
19
+ function M(u, m, h) {
20
+ if (m != null && u)
21
+ try {
22
+ return ne(u, m).periods;
23
+ } catch {
24
+ }
25
+ return h ?? [];
26
+ }
27
+ function G(u, m) {
28
+ return new Date(u.getFullYear(), u.getMonth() - (m ? 1 : 0), 1);
29
+ }
30
+ function We({
31
+ buttonVariant: u,
32
+ pickerType: m,
33
+ calendarKind: h,
34
+ currentMonth: p,
35
+ monthsFull: C,
36
+ monthsShort: H,
37
+ resolvedStartMonth: q,
38
+ resolvedEndMonth: J,
39
+ availableYears: P,
40
+ fiscalPeriods: N,
41
+ fiscalConfig: w,
42
+ weekStartsOn: Q,
43
+ previousMonthLabel: W,
44
+ nextMonthLabel: b,
45
+ monthPlaceholder: F,
46
+ yearPlaceholder: U,
47
+ weekNumberLabel: X,
48
+ weekNumberHeader: I,
49
+ weekLabel: Z,
50
+ fiscalWeekNumberLabel: $,
51
+ fiscalWeekAriaLabel: L,
52
+ getCellMeta: x,
53
+ onMonthChange: g,
54
+ onWeekSelect: Y,
55
+ periodRowHover: A = !1,
56
+ weekMode: O = "single",
57
+ components: T
32
58
  }) {
33
59
  return {
34
- Root: ({ className: e, rootRef: t, ...a }) => /* @__PURE__ */ n("div", { "data-slot": "calendar", ref: t, className: d(e), ...a }),
35
- Chevron: ({ className: e, orientation: t, ...a }) => t === "left" ? /* @__PURE__ */ n(
36
- N,
60
+ Root: ({ className: e, rootRef: r, ...t }) => /* @__PURE__ */ i("div", { "data-slot": "calendar", ref: r, className: D(e), ...t }),
61
+ Chevron: ({ className: e, orientation: r, ...t }) => r === "left" ? /* @__PURE__ */ i(
62
+ B,
37
63
  {
38
64
  size: 16,
39
- className: d("rotate-180 text-content", e),
40
- ...a
65
+ className: D("rotate-180 text-content", e),
66
+ ...t
41
67
  }
42
- ) : t === "right" ? /* @__PURE__ */ n(N, { size: 16, className: d("text-content", e), ...a }) : /* @__PURE__ */ n("span", {}),
43
- PreviousMonthButton: (e) => /* @__PURE__ */ n(
44
- D,
68
+ ) : r === "right" ? /* @__PURE__ */ i(B, { size: 16, className: D("text-content", e), ...t }) : /* @__PURE__ */ i("span", {}),
69
+ PreviousMonthButton: (e) => /* @__PURE__ */ i(
70
+ R,
45
71
  {
46
- variant: f,
72
+ variant: u,
47
73
  size: "icon",
48
74
  className: "h-7 w-7",
49
- "aria-label": v,
50
- title: v,
75
+ "aria-label": W,
76
+ title: W,
51
77
  ...e
52
78
  }
53
79
  ),
54
- NextMonthButton: (e) => /* @__PURE__ */ n(
55
- D,
80
+ NextMonthButton: (e) => /* @__PURE__ */ i(
81
+ R,
56
82
  {
57
- variant: f,
83
+ variant: u,
58
84
  size: "icon",
59
85
  className: "h-7 w-7",
60
- "aria-label": x,
61
- title: x,
86
+ "aria-label": b,
87
+ title: b,
62
88
  ...e
63
89
  }
64
90
  ),
65
- MonthCaption: ({ displayIndex: e, calendarMonth: t, ...a }) => /* @__PURE__ */ n(h.Provider, { value: e, children: /* @__PURE__ */ n("div", { ...a }) }),
66
- Month: ({ calendarMonth: e, displayIndex: t, className: a, children: l, ...r }) => {
67
- const o = u.Children.toArray(l), s = o[o.length - 1], i = o.slice(0, -1);
68
- return /* @__PURE__ */ R("div", { className: d(a), ...r, children: [
69
- i.length > 0 ? /* @__PURE__ */ n(Y, { children: i }) : null,
70
- s
91
+ MonthCaption: ({ displayIndex: e, calendarMonth: r, ...t }) => /* @__PURE__ */ i("div", { ...t }),
92
+ Month: ({ calendarMonth: e, displayIndex: r, className: t, children: a, ...s }) => {
93
+ const d = k.Children.toArray(a), l = d[d.length - 1], o = d.slice(0, -1);
94
+ return /* @__PURE__ */ i(y.Provider, { value: r, children: /* @__PURE__ */ z("div", { className: D(t), ...s, children: [
95
+ o.length > 0 ? /* @__PURE__ */ i(V, { children: o }) : null,
96
+ l
97
+ ] }) });
98
+ },
99
+ Months: ({ className: e, children: r, ...t }) => /* @__PURE__ */ i(
100
+ "div",
101
+ {
102
+ "data-slot": "day-months",
103
+ "data-period-row-hover": A ? "true" : void 0,
104
+ "data-week-gutter-track": m === "week" ? "true" : void 0,
105
+ className: D(e),
106
+ ...t,
107
+ children: r
108
+ }
109
+ ),
110
+ DropdownNav: ({ children: e, className: r, ...t }) => {
111
+ if (h !== "fiscal")
112
+ return /* @__PURE__ */ i("div", { className: r, ...t, children: e });
113
+ const a = k.Children.toArray(e), s = (n) => k.isValidElement(n) && n.key != null ? String(n.key) : "", d = a.find((n) => s(n).endsWith("year")), l = a.find((n) => s(n).endsWith("month")), o = a.filter((n) => {
114
+ const c = s(n);
115
+ return !c.endsWith("year") && !c.endsWith("month");
116
+ });
117
+ return /* @__PURE__ */ z("div", { className: r, ...t, children: [
118
+ d,
119
+ l,
120
+ o
71
121
  ] });
72
122
  },
73
- Months: ({ className: e, children: t, ...a }) => /* @__PURE__ */ n("div", { "data-slot": "day-months", className: d(e), ...a, children: t }),
74
123
  MonthsDropdown: ({ value: e }) => {
75
- const t = u.useContext(h), a = t > 0, r = new Date(c.getFullYear(), c.getMonth() + t, 1).getFullYear(), o = A(
76
- r,
77
- b,
78
- k,
79
- P
124
+ const r = k.useContext(y), t = r > 0, a = new Date(p.getFullYear(), p.getMonth() + r, 1), s = a.getFullYear();
125
+ if (h === "fiscal" && w) {
126
+ const o = x?.(a), n = M(w, o?.fy, N), c = o?.fiscalPeriod != null ? String(o.fiscalPeriod) : void 0, v = n.find((f) => String(f.period) === c);
127
+ return /* @__PURE__ */ i(
128
+ de,
129
+ {
130
+ periods: n,
131
+ selectedPeriod: v,
132
+ placeholder: F,
133
+ onPeriodChange: (f) => {
134
+ g(G(E(f.start), t));
135
+ }
136
+ }
137
+ );
138
+ }
139
+ const l = oe(
140
+ s,
141
+ C,
142
+ q,
143
+ J
80
144
  );
81
- return /* @__PURE__ */ n(
82
- w,
145
+ return /* @__PURE__ */ i(
146
+ _,
83
147
  {
84
- value: o.find((s) => s.value === e?.toString()),
85
- onChange: (s) => {
86
- if (s && "value" in s) {
87
- const i = parseInt(s.value);
88
- m(a ? new Date(r, i - 1, 1) : new Date(r, i, 1));
148
+ value: l.find((o) => o.value === e?.toString()),
149
+ onChange: (o) => {
150
+ if (o && "value" in o) {
151
+ const n = parseInt(o.value);
152
+ g(t ? new Date(s, n - 1, 1) : new Date(s, n, 1));
89
153
  }
90
154
  },
91
155
  scrollToSelectedOnOpen: !0,
92
- options: o,
156
+ options: l,
93
157
  className: "w-[116px] shrink-0",
94
158
  menuWidth: "160px",
95
159
  isSearchable: !0,
96
160
  isClearable: !1,
97
- placeholder: M
161
+ placeholder: F
98
162
  }
99
163
  );
100
164
  },
101
165
  YearsDropdown: ({ value: e }) => {
102
- const a = u.useContext(h) > 0;
103
- return /* @__PURE__ */ n(
104
- w,
166
+ const r = k.useContext(y), t = r > 0, a = h === "fiscal" && w, s = new Date(p.getFullYear(), p.getMonth() + r, 1), d = a ? x?.(s) : void 0, l = a && d?.fy != null ? String(d.fy) : e?.toString();
167
+ return /* @__PURE__ */ i(
168
+ _,
105
169
  {
106
- value: g.find((l) => l.value === e?.toString()),
107
- onChange: (l) => {
108
- if (l && "value" in l) {
109
- const r = parseInt(l.value);
170
+ value: P.find((n) => n.value === l),
171
+ onChange: (n) => {
172
+ if (n && "value" in n) {
173
+ const c = parseInt(n.value);
110
174
  if (a) {
111
- const o = new Date(
112
- c.getFullYear(),
113
- c.getMonth() + 1,
175
+ const v = M(w, c, N), f = v.find((S) => S.period === d?.fiscalPeriod) ?? v[0];
176
+ f && g(G(E(f.start), t));
177
+ return;
178
+ }
179
+ if (t) {
180
+ const v = new Date(
181
+ p.getFullYear(),
182
+ p.getMonth() + 1,
114
183
  1
115
184
  ).getMonth();
116
- m(new Date(r, o - 1, 1));
185
+ g(new Date(c, v - 1, 1));
117
186
  } else
118
- m(new Date(r, c.getMonth(), 1));
187
+ g(new Date(c, p.getMonth(), 1));
119
188
  }
120
189
  },
121
190
  scrollToSelectedOnOpen: !0,
122
- options: g,
123
- className: "w-[84px] shrink-0",
191
+ options: P,
192
+ className: "w-[116px] shrink-0",
124
193
  menuWidth: "140px",
125
194
  isSearchable: !0,
126
195
  isClearable: !1,
127
- placeholder: W
196
+ placeholder: U
128
197
  }
129
198
  );
130
199
  },
131
- DayButton: (e) => /* @__PURE__ */ n(z, { ...e, pickerType: p }),
132
- Week: ({ week: e, className: t, children: a, ...l }) => {
133
- const r = F(e), o = p === "week";
134
- return /* @__PURE__ */ n(
200
+ DayButton: (e) => /* @__PURE__ */ i(
201
+ ee,
202
+ {
203
+ ...e,
204
+ pickerType: m,
205
+ modifiers: {
206
+ ...e.modifiers,
207
+ fiscal_period_start: !!x?.(e.day.date)?.isPeriodStart,
208
+ fiscal_period_end: !!x?.(e.day.date)?.isPeriodEnd
209
+ }
210
+ }
211
+ ),
212
+ Week: ({ week: e, className: r, children: t, onClick: a, ...s }) => {
213
+ const { isSelected: d } = K(), l = ie(e), o = m === "week", n = A && !l ? le(e, x) : void 0, c = !l && ae(e, d), f = m === "week" && O !== "multiple" && O !== "multi-range" && c ? se(e, d) : { prev: !1, next: !1 };
214
+ return /* @__PURE__ */ i(
135
215
  "tr",
136
216
  {
137
- className: d(
138
- t,
139
- r && "invisible",
140
- o && !r && "cursor-pointer"
217
+ className: D(
218
+ r,
219
+ l && "invisible",
220
+ o && !l && "cursor-pointer"
141
221
  ),
142
- "aria-hidden": r || void 0,
143
- onClick: o && !r ? (s) => {
144
- const i = s.target;
145
- i.closest("button") || i.closest("[data-week-number]") || C(e);
146
- } : void 0,
147
- ...l,
148
- children: a
222
+ ...s,
223
+ "aria-hidden": l || void 0,
224
+ "data-fiscal-period": n,
225
+ "data-week-selected": c ? !0 : void 0,
226
+ "data-week-continues-next": f.next || void 0,
227
+ "data-week-continues-prev": f.prev || void 0,
228
+ onClick: o && !l ? (S) => {
229
+ if (a?.(S), S.defaultPrevented) return;
230
+ const j = S.target;
231
+ j.closest("button") || j.closest("[data-week-number]") || Y(e);
232
+ } : a,
233
+ children: t
149
234
  }
150
235
  );
151
236
  },
152
- WeekNumber: ({ week: e, ...t }) => /* @__PURE__ */ n(
153
- O,
237
+ WeekNumber: ({ week: e, ...r }) => /* @__PURE__ */ i(
238
+ te,
154
239
  {
155
240
  week: e,
156
- weekStartsOn: I,
157
- pickerType: p,
158
- weekNumberLabel: S,
159
- weekLabel: y,
160
- onWeekSelect: C,
161
- ...t
241
+ weekStartsOn: Q,
242
+ pickerType: m,
243
+ calendarKind: h,
244
+ weekNumberLabel: X,
245
+ weekLabel: Z,
246
+ fiscalWeekNumberLabel: $,
247
+ fiscalWeekAriaLabel: L,
248
+ getCellMeta: x,
249
+ onWeekSelect: Y,
250
+ ...r
162
251
  }
163
252
  ),
164
- ...B
253
+ WeekNumberHeader: (e) => {
254
+ const r = k.useContext(y), t = re(h, p, r), a = t === void 0 ? I : H[t], s = t === void 0 ? I : C[t];
255
+ return /* @__PURE__ */ i("th", { ...e, "aria-label": s, children: a });
256
+ },
257
+ ...T
165
258
  };
166
259
  }
167
260
  export {
168
- _ as buildCalendarDayPickerComponents
261
+ We as buildCalendarDayPickerComponents
169
262
  };
@@ -1,15 +1,17 @@
1
1
  import { DayPicker, DateRange } from 'react-day-picker';
2
2
  import { Button } from '../../primitives/button/button';
3
3
  import { Option } from '../../forms/select';
4
+ import { FiscalCalendarConfig, FiscalPeriod } from '../../../lib/fiscal-calendar';
4
5
  import { CalendarProps } from './calendar.types';
5
6
  import { WeekPickerInput } from './calendar-week-utils';
6
7
  import * as React from "react";
7
8
  type DayPickerProps = React.ComponentProps<typeof DayPicker>;
8
- export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFooter" | "disableApply" | "onApply" | "onCancel" | "onClear" | "pickerType" | "weekMode" | "selectedWeeks" | "onWeekSelect" | "monthMode" | "selectedMonths" | "onMonthSelect" | "defaultMonth" | "fiscalMode" | "fiscalMonthPattern" | "fiscalYearStartMonth" | "selectionMode" | "buttonVariant" | "components" | "classNames" | "formatters" | "captionLayout" | "showOutsideDays" | "fixedWeeks" | "calendarType" | "weekStartsOn" | "startMonth" | "endMonth" | "month" | "onMonthChange" | "selected" | "onSelect" | "mode"> {
9
+ export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFooter" | "disableApply" | "onApply" | "onCancel" | "onClear" | "pickerType" | "weekMode" | "selectedWeeks" | "onWeekSelect" | "monthMode" | "selectedMonths" | "onMonthSelect" | "defaultMonth" | "fiscalMode" | "fiscalMonthPattern" | "fiscalYearStartMonth" | "buttonVariant" | "components" | "classNames" | "formatters" | "captionLayout" | "showOutsideDays" | "fixedWeeks" | "calendarKind" | "fiscalConfig" | "granularity" | "showPresets" | "comparison" | "onComparisonChange" | "onSelectionChange" | "selectedQuarters" | "onQuarterSelect" | "selectedYear" | "onYearSelect" | "weekStartsOn" | "startMonth" | "endMonth" | "month" | "onMonthChange" | "selected" | "onSelect" | "mode"> {
9
10
  pickerType: "date" | "week";
10
11
  mode: NonNullable<CalendarProps["mode"]>;
11
12
  weekMode: NonNullable<CalendarProps["weekMode"]>;
12
- calendarType: NonNullable<CalendarProps["calendarType"]>;
13
+ calendarKind: NonNullable<CalendarProps["calendarKind"]>;
14
+ granularity?: CalendarProps["granularity"];
13
15
  showOutsideDays: boolean;
14
16
  fixedWeeks: boolean;
15
17
  captionLayout: NonNullable<CalendarProps["captionLayout"]>;
@@ -24,9 +26,13 @@ export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFoo
24
26
  selectedDaysFromWeeks?: Date[];
25
27
  currentMonth: Date;
26
28
  monthsFull: string[];
29
+ monthsShort: string[];
30
+ weekNumberHeader: string;
27
31
  resolvedStartMonth: Date;
28
32
  resolvedEndMonth: Date;
29
33
  availableYears: Option[];
34
+ fiscalPeriods?: readonly FiscalPeriod[];
35
+ fiscalConfig?: FiscalCalendarConfig;
30
36
  dateFnsLocale: DayPickerProps["locale"];
31
37
  intlLocale: string;
32
38
  weekRangeModifiers?: DayPickerProps["modifiers"];
@@ -39,7 +45,9 @@ export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFoo
39
45
  yearPlaceholder: string;
40
46
  weekNumberLabel: (weekOfMonth: number) => string;
41
47
  weekLabel: (weekOfMonth: number) => string;
48
+ fiscalWeekAriaLabel?: (meta: import('../../../lib/fiscal-calendar').DateCellMeta) => string;
49
+ getCellMeta?: (date: Date) => import('../../../lib/fiscal-calendar').DateCellMeta | undefined;
42
50
  formatWeekNumber: (weekNumber: number) => string;
43
51
  }
44
- export declare function CalendarDayPickerView({ className, pickerType, mode, weekMode, calendarType, showOutsideDays, fixedWeeks, captionLayout, buttonVariant, weekStartsOn, formatters, classNames, components, selected, showFooter, pendingSelection, selectedDaysFromWeeks, currentMonth, monthsFull, resolvedStartMonth, resolvedEndMonth, availableYears, dateFnsLocale, intlLocale, weekRangeModifiers, onSelect, onMonthChange, onWeekSelect, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekLabel, formatWeekNumber, disabled, ...props }: CalendarDayPickerViewProps): import("react/jsx-runtime").JSX.Element;
52
+ export declare function CalendarDayPickerView({ className, pickerType, mode, weekMode, calendarKind, granularity, showOutsideDays, fixedWeeks, captionLayout, buttonVariant, weekStartsOn, formatters, classNames, components, selected, showFooter, pendingSelection, selectedDaysFromWeeks, currentMonth, monthsFull, monthsShort, weekNumberHeader, resolvedStartMonth, resolvedEndMonth, availableYears, fiscalPeriods, fiscalConfig, dateFnsLocale, intlLocale, weekRangeModifiers, onSelect, onMonthChange, onWeekSelect, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekLabel, fiscalWeekAriaLabel, getCellMeta, formatWeekNumber, disabled, ...props }: CalendarDayPickerViewProps): import("react/jsx-runtime").JSX.Element;
45
53
  export {};