impact-nova 2.5.6 → 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 (192) 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 +82 -51
  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 +199 -98
  16. package/dist/components/data-display/calendar/calendar-day-picker-view.d.ts +12 -4
  17. package/dist/components/data-display/calendar/calendar-day-picker-view.js +139 -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 +50 -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 +32 -12
  72. package/dist/components/data-display/calendar/use-calendar-state.js +371 -164
  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/flows/guidance/guidance-error-boundary.js +22 -14
  77. package/dist/components/flows/guidance/guidance-layer.js +34 -32
  78. package/dist/components/flows/guidance/help-center/assets/whats-new-guide-icon.svg.js +4 -0
  79. package/dist/components/flows/guidance/help-center/filter-help-center-guides.js +10 -7
  80. package/dist/components/flows/guidance/help-center/guide-catalog-section.d.ts +7 -0
  81. package/dist/components/flows/guidance/help-center/guide-catalog-section.js +24 -0
  82. package/dist/components/flows/guidance/help-center/guide-catalog-utils.d.ts +3 -0
  83. package/dist/components/flows/guidance/help-center/guide-catalog-utils.js +19 -0
  84. package/dist/components/flows/guidance/help-center/guide-catalog.d.ts +1 -1
  85. package/dist/components/flows/guidance/help-center/guide-catalog.js +89 -79
  86. package/dist/components/flows/guidance/help-center/help-center-guide-labels.d.ts +6 -0
  87. package/dist/components/flows/guidance/help-center/help-center-guide-labels.js +33 -0
  88. package/dist/components/flows/guidance/help-center/help-center-guide-row.d.ts +12 -0
  89. package/dist/components/flows/guidance/help-center/help-center-guide-row.js +57 -0
  90. package/dist/components/flows/guidance/help-center/help-center-guide-type-icons.d.ts +9 -0
  91. package/dist/components/flows/guidance/help-center/help-center-guide-type-icons.js +114 -0
  92. package/dist/components/flows/guidance/help-center/help-center-header.d.ts +1 -1
  93. package/dist/components/flows/guidance/help-center/help-center-header.js +20 -16
  94. package/dist/components/flows/guidance/help-center/help-center.constants.d.ts +1 -1
  95. package/dist/components/flows/guidance/help-center/help-center.constants.js +1 -1
  96. package/dist/components/flows/guidance/help-center/help-center.d.ts +3 -1
  97. package/dist/components/flows/guidance/help-center/help-center.js +74 -51
  98. package/dist/components/flows/guidance/help-center/help-center.types.d.ts +9 -1
  99. package/dist/components/flows/guidance/help-center/renderHelpCenterGuideTypeIcon.d.ts +4 -0
  100. package/dist/components/flows/guidance/help-center/renderHelpCenterGuideTypeIcon.js +18 -0
  101. package/dist/components/flows/guidance/help-center.d.ts +4 -2
  102. package/dist/components/flows/guidance/help-center.js +23 -14
  103. package/dist/components/flows/guidance/hooks/useGuidanceOverlayGeometry.js +19 -17
  104. package/dist/components/flows/guidance/index.d.ts +1 -1
  105. package/dist/components/flows/guidance/renderers/announcement-renderer.d.ts +1 -1
  106. package/dist/components/flows/guidance/renderers/announcement-renderer.js +20 -12
  107. package/dist/components/flows/guidance/renderers/guidance-card-shared.d.ts +9 -11
  108. package/dist/components/flows/guidance/renderers/guidance-card-shared.js +124 -177
  109. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.d.ts +1 -1
  110. package/dist/components/flows/guidance/renderers/guidance-renderer-shared.js +57 -72
  111. package/dist/components/flows/guidance/renderers/guidance-tour-overlay.js +23 -23
  112. package/dist/components/flows/wizard/wizard.js +41 -38
  113. package/dist/components/forms/date-picker/date-input-behavior.d.ts +7 -0
  114. package/dist/components/forms/date-picker/date-input-behavior.js +28 -24
  115. package/dist/components/forms/date-picker/date-picker-shell.d.ts +13 -0
  116. package/dist/components/forms/date-picker/date-picker-shell.js +31 -0
  117. package/dist/components/forms/date-picker/date-picker.js +187 -167
  118. package/dist/components/forms/date-picker/date-picker.types.d.ts +90 -43
  119. package/dist/components/forms/date-picker/date-range-picker.js +273 -224
  120. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +13 -0
  121. package/dist/components/forms/date-picker/fiscal-pass-through.js +17 -0
  122. package/dist/components/forms/date-picker/fiscal-period-format.d.ts +9 -0
  123. package/dist/components/forms/date-picker/fiscal-period-format.js +50 -0
  124. package/dist/components/forms/date-picker/index.d.ts +12 -0
  125. package/dist/components/forms/date-picker/index.js +19 -7
  126. package/dist/components/forms/date-picker/month-picker.js +225 -182
  127. package/dist/components/forms/date-picker/month-range-picker.js +134 -110
  128. package/dist/components/forms/date-picker/multi-date-picker.js +77 -56
  129. package/dist/components/forms/date-picker/multi-month-picker.js +78 -57
  130. package/dist/components/forms/date-picker/multi-quarter-picker.d.ts +3 -0
  131. package/dist/components/forms/date-picker/multi-quarter-picker.js +177 -0
  132. package/dist/components/forms/date-picker/multi-week-picker.js +81 -70
  133. package/dist/components/forms/date-picker/multi-year-picker.d.ts +3 -0
  134. package/dist/components/forms/date-picker/multi-year-picker.js +179 -0
  135. package/dist/components/forms/date-picker/quarter-picker.d.ts +3 -0
  136. package/dist/components/forms/date-picker/quarter-picker.js +176 -0
  137. package/dist/components/forms/date-picker/quarter-range-picker.d.ts +3 -0
  138. package/dist/components/forms/date-picker/quarter-range-picker.js +177 -0
  139. package/dist/components/forms/date-picker/week-picker.js +148 -137
  140. package/dist/components/forms/date-picker/week-range-picker.js +216 -205
  141. package/dist/components/forms/date-picker/year-picker.d.ts +3 -0
  142. package/dist/components/forms/date-picker/year-picker.js +176 -0
  143. package/dist/components/forms/date-picker/year-range-picker.d.ts +3 -0
  144. package/dist/components/forms/date-picker/year-range-picker.js +179 -0
  145. package/dist/components/layout/horizontal-scroller/horizontal-scroller.js +35 -53
  146. package/dist/form-react/Fields/DateInputField.js +63 -58
  147. package/dist/form-react/Fields/DateRangeField.js +42 -37
  148. package/dist/form-react/Fields/MonthRangeField.js +50 -45
  149. package/dist/form-react/Fields/MultiWeekPickerField.js +7 -7
  150. package/dist/form-react/Fields/WeekRangePicker.js +44 -45
  151. package/dist/form-react/components/FieldRenderer.js +21 -23
  152. package/dist/form-react/registry/defaultFieldRegistrations.d.ts +9 -1
  153. package/dist/form-react/registry/defaultFieldRegistrations.js +11 -12
  154. package/dist/form-react/registry/resolveFieldComponent.d.ts +3 -2
  155. package/dist/form-react/registry/resolveFieldComponent.js +9 -133
  156. package/dist/form-react/types/fields.types.d.ts +22 -7
  157. package/dist/form-react/utils/date.utils.d.ts +3 -1
  158. package/dist/form-react/utils/date.utils.js +82 -53
  159. package/dist/i18n/defaultMessages.d.ts +29 -1
  160. package/dist/i18n/defaultMessages.js +54 -27
  161. package/dist/i18n/locales/de.js +31 -4
  162. package/dist/i18n/locales/es.js +31 -4
  163. package/dist/i18n/locales/hi.js +31 -4
  164. package/dist/i18n/locales/kn.js +31 -4
  165. package/dist/impact-nova-components.css +379 -3
  166. package/dist/impact-nova.css +1 -1
  167. package/dist/index.js +528 -516
  168. package/dist/lib/fiscal-calendar/build-year.d.ts +8 -0
  169. package/dist/lib/fiscal-calendar/build-year.js +173 -0
  170. package/dist/lib/fiscal-calendar/civil-date.d.ts +21 -0
  171. package/dist/lib/fiscal-calendar/civil-date.js +94 -0
  172. package/dist/lib/fiscal-calendar/index.d.ts +10 -0
  173. package/dist/lib/fiscal-calendar/index.js +40 -0
  174. package/dist/lib/fiscal-calendar/lookup.d.ts +4 -0
  175. package/dist/lib/fiscal-calendar/lookup.js +70 -0
  176. package/dist/lib/fiscal-calendar/presets.d.ts +8 -0
  177. package/dist/lib/fiscal-calendar/presets.js +99 -0
  178. package/dist/lib/fiscal-calendar/selection.d.ts +18 -0
  179. package/dist/lib/fiscal-calendar/selection.js +32 -0
  180. package/dist/lib/fiscal-calendar/types.d.ts +145 -0
  181. package/dist/lib/fiscal-calendar/types.js +10 -0
  182. package/dist/lib/fiscal-calendar/week-selection.d.ts +22 -0
  183. package/dist/lib/fiscal-calendar/week-selection.js +107 -0
  184. package/dist/lib/guidance/engine/guidance-engine.d.ts +7 -5
  185. package/dist/lib/guidance/engine/guidance-engine.js +115 -47
  186. package/dist/lib/guidance/triggers/trigger-registry.js +6 -6
  187. package/dist/lib/guidance/types/guidance.types.d.ts +11 -1
  188. package/dist/llms/rules/installation.js +1 -1
  189. package/dist/llms/rules/requirements.js +1 -1
  190. package/package.json +5 -1
  191. package/dist/lib/fiscal-calendar.d.ts +0 -62
  192. package/dist/lib/fiscal-calendar.js +0 -99
@@ -1,161 +1,262 @@
1
- import { jsx as n, jsxs as R } from "react/jsx-runtime";
2
- import * as p from "react";
3
- import "react-day-picker";
4
- import { ChevronRight as C } from "impact-nova-icons";
5
- import { cn as s } from "../../../lib/utils.js";
6
- import { Button as N } from "../../primitives/button/button.js";
7
- import { Select as D } 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 _({
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({
15
31
  buttonVariant: u,
16
- pickerType: f,
17
- currentMonth: d,
18
- monthsFull: w,
19
- resolvedStartMonth: b,
20
- resolvedEndMonth: k,
21
- availableYears: v,
22
- weekStartsOn: I,
23
- previousMonthLabel: g,
24
- nextMonthLabel: x,
25
- monthPlaceholder: M,
26
- yearPlaceholder: P,
27
- weekNumberLabel: S,
28
- weekLabel: W,
29
- onMonthChange: m,
30
- onWeekSelect: y,
31
- components: B
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: s(e), ...a }),
35
- Chevron: ({ className: e, orientation: t, ...a }) => t === "left" ? /* @__PURE__ */ n(
36
- C,
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: s("rotate-180 text-content", e),
40
- ...a
65
+ className: D("rotate-180 text-content", e),
66
+ ...t
41
67
  }
42
- ) : t === "right" ? /* @__PURE__ */ n(C, { size: 16, className: s("text-content", e), ...a }) : /* @__PURE__ */ n("span", {}),
43
- PreviousMonthButton: (e) => /* @__PURE__ */ n(
44
- N,
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
72
  variant: u,
47
73
  size: "icon",
48
74
  className: "h-7 w-7",
49
- "aria-label": g,
50
- title: g,
75
+ "aria-label": W,
76
+ title: W,
51
77
  ...e
52
78
  }
53
79
  ),
54
- NextMonthButton: (e) => /* @__PURE__ */ n(
55
- N,
80
+ NextMonthButton: (e) => /* @__PURE__ */ i(
81
+ R,
56
82
  {
57
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 = p.Children.toArray(l), i = o[o.length - 1], c = o.slice(0, -1);
68
- return /* @__PURE__ */ R("div", { className: s(a), ...r, children: [
69
- c.length > 0 ? /* @__PURE__ */ n(Y, { children: c }) : null,
70
- i
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: s(e), ...a, children: t }),
74
123
  MonthsDropdown: ({ value: e }) => {
75
- const t = p.useContext(h), a = t > 0, r = new Date(d.getFullYear(), d.getMonth() + t, 1).getFullYear(), o = A(
76
- r,
77
- w,
78
- b,
79
- k
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
- D,
145
+ return /* @__PURE__ */ i(
146
+ _,
83
147
  {
84
- value: o.find((i) => i.value === e?.toString()),
85
- onChange: (i) => {
86
- if (i && "value" in i) {
87
- const c = parseInt(i.value);
88
- m(a ? new Date(r, c - 1, 1) : new Date(r, c, 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 = p.useContext(h) > 0;
103
- return /* @__PURE__ */ n(
104
- D,
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: v.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
- d.getFullYear(),
113
- d.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, d.getMonth(), 1));
187
+ g(new Date(c, p.getMonth(), 1));
119
188
  }
120
189
  },
121
190
  scrollToSelectedOnOpen: !0,
122
- options: v,
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: P
196
+ placeholder: U
128
197
  }
129
198
  );
130
199
  },
131
- DayButton: (e) => /* @__PURE__ */ n(z, { ...e, pickerType: f }),
132
- Week: ({ week: e, className: t, children: a, ...l }) => {
133
- const r = F(e);
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: s(t, r && "invisible"),
138
- "aria-hidden": r || void 0,
139
- ...l,
140
- children: a
217
+ className: D(
218
+ r,
219
+ l && "invisible",
220
+ o && !l && "cursor-pointer"
221
+ ),
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
141
234
  }
142
235
  );
143
236
  },
144
- WeekNumber: ({ week: e, ...t }) => /* @__PURE__ */ n(
145
- O,
237
+ WeekNumber: ({ week: e, ...r }) => /* @__PURE__ */ i(
238
+ te,
146
239
  {
147
240
  week: e,
148
- weekStartsOn: I,
149
- pickerType: f,
150
- weekNumberLabel: S,
151
- weekLabel: W,
152
- onWeekSelect: y,
153
- ...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
154
251
  }
155
252
  ),
156
- ...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
157
258
  };
158
259
  }
159
260
  export {
160
- _ as buildCalendarDayPickerComponents
261
+ We as buildCalendarDayPickerComponents
161
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,13 +26,17 @@ 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"];
33
- onSelect: (date: Date | Date[] | DateRange | undefined) => void;
39
+ onSelect: (date: Date | Date[] | DateRange | undefined, triggerDate?: Date) => void;
34
40
  onMonthChange: (month: Date) => void;
35
41
  onWeekSelect: (input: WeekPickerInput) => void;
36
42
  previousMonthLabel: string;
@@ -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 {};