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,65 +1,96 @@
1
- import { isMonthDisabled as y } from "./calendar-month-utils.js";
2
- function s(u, o, n) {
3
- const c = new Date(u.getFullYear(), u.getMonth(), u.getDate());
4
- if (o) {
5
- const l = new Date(o.getFullYear(), o.getMonth(), o.getDate());
6
- if (c < l) return !0;
1
+ import { isMonthDisabled as S, isDateIntervalDisabled as b } from "./calendar-month-utils.js";
2
+ function u(e) {
3
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate());
4
+ }
5
+ function c(e, i, t) {
6
+ const f = u(e);
7
+ if (i) {
8
+ const o = u(i);
9
+ if (f < o) return !0;
7
10
  }
8
- if (n) {
9
- const l = new Date(n.getFullYear(), n.getMonth(), n.getDate());
10
- if (c > l) return !0;
11
+ if (t) {
12
+ const o = u(t);
13
+ if (f > o) return !0;
11
14
  }
12
15
  return !1;
13
16
  }
14
- function h(u) {
17
+ function O(e, i, t, f) {
18
+ const o = u(e), g = u(i);
19
+ return !!(t && g < u(t) || f && o > u(f));
20
+ }
21
+ function p(e, i, t) {
22
+ return !e || !i ? !1 : b(e, i, t);
23
+ }
24
+ function d(e, i) {
25
+ if (Array.isArray(e)) return e.some(i);
26
+ if (typeof e == "object" && e !== null && "from" in e) {
27
+ const t = e;
28
+ return !!(t.from && i(t.from) || t.to && i(t.to));
29
+ }
30
+ return i(e);
31
+ }
32
+ function v(e) {
15
33
  const {
16
- showFooter: o,
17
- pickerType: n,
18
- disabled: c,
19
- pendingSelection: l,
34
+ showFooter: i,
35
+ pickerType: t,
36
+ disabled: f,
37
+ pendingSelection: o,
20
38
  pendingWeekSelection: g,
21
- pendingMonthSelection: m
22
- } = u;
23
- if (!o) return !1;
24
- const f = c;
25
- if (!f || typeof f != "object" || !("before" in f) && !("after" in f)) return !1;
26
- const i = f.before, a = f.after;
27
- if (n === "month") {
28
- const e = m;
29
- if (!e) return !1;
30
- const r = (t) => y(t.year, t.month, c);
31
- if (Array.isArray(e)) return e.some(r);
32
- if ("from" in e) {
33
- const t = e;
34
- return !!(t.from && r(t.from) || t.to && r(t.to));
35
- }
36
- return r(e);
39
+ pendingMonthSelection: y,
40
+ pendingQuarterSelection: D,
41
+ pendingYearSelection: m
42
+ } = e;
43
+ if (!i) return !1;
44
+ const a = f;
45
+ if (!a || typeof a != "object" || !("before" in a) && !("after" in a)) return !1;
46
+ const s = a.before, l = a.after;
47
+ if (t === "month") {
48
+ const r = y;
49
+ return r ? d(
50
+ r,
51
+ (n) => S(n.year, n.month, f)
52
+ ) : !1;
37
53
  }
38
- if (n === "week") {
39
- const e = g;
40
- if (!e) return !1;
41
- const r = (t) => s(t.startDate, i, a) || s(t.endDate, i, a);
42
- if (Array.isArray(e)) return e.some(r);
43
- if ("from" in e) {
44
- const t = e;
45
- return !!(t.from && r(t.from) || t.to && r(t.to));
46
- }
47
- return r(e);
54
+ if (t === "quarter") {
55
+ const r = D;
56
+ return r ? d(
57
+ r,
58
+ (n) => p(n.start, n.end, f)
59
+ ) : !1;
60
+ }
61
+ if (t === "year") {
62
+ const r = m;
63
+ return r ? d(
64
+ r,
65
+ (n) => p(n.start, n.end, f)
66
+ ) : !1;
67
+ }
68
+ if (t === "week") {
69
+ const r = g;
70
+ return r ? d(
71
+ r,
72
+ (n) => O(
73
+ n.startDate,
74
+ n.endDate,
75
+ s,
76
+ l
77
+ )
78
+ ) : !1;
48
79
  }
49
- if (n === "date") {
50
- const e = l;
51
- if (!e) return !1;
52
- if (Array.isArray(e))
53
- return e.some((r) => s(r, i, a));
54
- if (e instanceof Date)
55
- return s(e, i, a);
56
- if ("from" in e) {
57
- const r = e;
58
- if (r.from && s(r.from, i, a) || r.to && s(r.to, i, a)) return !0;
80
+ if (t === "date") {
81
+ const r = o;
82
+ if (!r) return !1;
83
+ if (Array.isArray(r))
84
+ return r.some((n) => c(n, s, l));
85
+ if (r instanceof Date)
86
+ return c(r, s, l);
87
+ if ("from" in r) {
88
+ const n = r;
89
+ if (n.from && c(n.from, s, l) || n.to && c(n.to, s, l)) return !0;
59
90
  }
60
91
  }
61
92
  return !1;
62
93
  }
63
94
  export {
64
- h as isCalendarApplyDisabled
95
+ v as isCalendarApplyDisabled
65
96
  };
@@ -1,13 +1,21 @@
1
- import { FiscalMode, FiscalMonthPattern } from '../../../lib/fiscal-calendar';
1
+ import { CalendarKind, FiscalCalendarConfig, FiscalMode, FiscalMonthPattern } from '../../../lib/fiscal-calendar';
2
2
  export declare const CALENDAR_DEFAULT_START_MONTH: Date;
3
3
  export declare const CALENDAR_DEFAULT_END_MONTH: Date;
4
+ export declare function resolveFiscalConfig(params: {
5
+ fiscalConfig?: FiscalCalendarConfig;
6
+ calendarKind?: CalendarKind;
7
+ fiscalMode?: FiscalMode;
8
+ fiscalMonthPattern?: FiscalMonthPattern;
9
+ fiscalYearStartMonth?: number;
10
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
11
+ }): FiscalCalendarConfig | undefined;
4
12
  export declare function resolveFiscalPattern(params: {
5
- calendarType: "calendar" | "fiscal";
13
+ calendarKind: CalendarKind;
6
14
  fiscalMode: FiscalMode;
7
15
  fiscalMonthPattern?: FiscalMonthPattern;
8
16
  }): FiscalMonthPattern | undefined;
9
17
  export declare function getMonthNamesLong(intlLocale: string): string[];
10
18
  export declare function getMonthNamesShort(intlLocale: string): string[];
11
- export declare function getCalendarMonthLayoutAttr(pickerType: "date" | "week" | "month", monthMode: "single" | "multiple" | "range"): "dual" | "single" | undefined;
12
- export declare function getCalendarDayLayoutAttr(pickerType: "date" | "week" | "month", mode: "single" | "multiple" | "range", weekMode: "single" | "multiple" | "range"): "dual" | "single" | undefined;
13
- export declare function getCalendarNumberOfMonths(mode: "single" | "multiple" | "range", weekMode: "single" | "multiple" | "range"): 1 | 2;
19
+ export declare function getCalendarMonthLayoutAttr(pickerType: "date" | "week" | "month" | "quarter" | "year", monthMode: "single" | "multiple" | "range" | "multi-range"): "dual" | "single" | undefined;
20
+ export declare function getCalendarDayLayoutAttr(pickerType: "date" | "week" | "month" | "quarter" | "year", mode: "single" | "multiple" | "range" | "multi-range", weekMode: "single" | "multiple" | "range" | "multi-range"): "dual" | "single" | undefined;
21
+ export declare function getCalendarNumberOfMonths(mode: "single" | "multiple" | "range" | "multi-range", weekMode: "single" | "multiple" | "range" | "multi-range"): 1 | 2;
@@ -1,38 +1,49 @@
1
- import { FISCAL_PATTERNS as o } from "../../../lib/fiscal-calendar.js";
2
- const i = new Date(1900, 0, 1), l = new Date(2100, 11, 31);
3
- function u(t) {
4
- const { calendarType: n, fiscalMode: r, fiscalMonthPattern: e } = t;
1
+ import { FISCAL_PATTERNS as a } from "../../../lib/fiscal-calendar/types.js";
2
+ import { toFiscalCalendarConfig as i } from "../../../lib/fiscal-calendar/week-selection.js";
3
+ const f = new Date(1900, 0, 1), u = new Date(2100, 11, 31);
4
+ function c(t) {
5
+ return t.fiscalConfig ? t.fiscalConfig : i({
6
+ calendarKind: t.calendarKind,
7
+ fiscalMode: t.fiscalMode,
8
+ fiscalMonthPattern: t.fiscalMonthPattern,
9
+ fiscalYearStartMonth: t.fiscalYearStartMonth,
10
+ weekStartsOn: t.weekStartsOn
11
+ });
12
+ }
13
+ function g(t) {
14
+ const { calendarKind: n, fiscalMode: r, fiscalMonthPattern: e } = t;
5
15
  if (n === "fiscal") {
6
16
  if (e) return e;
7
- if (r === "advanced") return o["4-4-5"];
17
+ if (r === "advanced") return a["4-4-5"];
8
18
  }
9
19
  }
10
- function c(t) {
20
+ function s(t) {
11
21
  return Array.from(
12
22
  { length: 12 },
13
23
  (n, r) => new Date(2024, r, 1).toLocaleString(t, { month: "long" })
14
24
  );
15
25
  }
16
- function f(t) {
26
+ function d(t) {
17
27
  return Array.from(
18
28
  { length: 12 },
19
29
  (n, r) => new Date(2024, r, 1).toLocaleString(t, { month: "short" })
20
30
  );
21
31
  }
22
- function g(t, n) {
23
- if (t === "month")
24
- return n === "range" || n === "multiple" ? "dual" : "single";
32
+ function h(t, n) {
33
+ if (!(t !== "month" && t !== "quarter"))
34
+ return n === "range" || n === "multiple" || n === "multi-range" ? "dual" : "single";
25
35
  }
26
- function s(t, n, r) {
27
- if (t !== "month")
28
- return n === "range" || n === "multiple" || r === "range" || r === "multiple" ? "dual" : "single";
36
+ function A(t, n, r) {
37
+ if (!(t === "month" || t === "quarter" || t === "year"))
38
+ return n === "range" || n === "multiple" || n === "multi-range" || r === "range" || r === "multiple" || r === "multi-range" ? "dual" : "single";
29
39
  }
30
40
  export {
31
- l as CALENDAR_DEFAULT_END_MONTH,
32
- i as CALENDAR_DEFAULT_START_MONTH,
33
- s as getCalendarDayLayoutAttr,
34
- g as getCalendarMonthLayoutAttr,
35
- c as getMonthNamesLong,
36
- f as getMonthNamesShort,
37
- u as resolveFiscalPattern
41
+ u as CALENDAR_DEFAULT_END_MONTH,
42
+ f as CALENDAR_DEFAULT_START_MONTH,
43
+ A as getCalendarDayLayoutAttr,
44
+ h as getCalendarMonthLayoutAttr,
45
+ s as getMonthNamesLong,
46
+ d as getMonthNamesShort,
47
+ c as resolveFiscalConfig,
48
+ g as resolveFiscalPattern
38
49
  };
@@ -1,49 +1,57 @@
1
- import { jsx as s } from "react/jsx-runtime";
2
- import * as g from "react";
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import * as s from "react";
3
3
  import "react-day-picker";
4
- import { cn as u } from "../../../lib/utils.js";
5
- import { Button as l } from "../../primitives/button/button.js";
6
- function v({
7
- className: n,
8
- day: d,
9
- modifiers: e,
10
- pickerType: t,
11
- ...a
4
+ import { cn as p } from "../../../lib/utils.js";
5
+ import { Button as v } from "../../primitives/button/button.js";
6
+ import { useCalendarDayHover as g } from "./calendar-day-hover.js";
7
+ import { dayButtonAppearanceClassName as _ } from "./calendar-selection-appearance.js";
8
+ import { selectionKindFromModifiers as y } from "./calendar-selection.js";
9
+ function B({
10
+ className: r,
11
+ day: n,
12
+ modifiers: a,
13
+ pickerType: c,
14
+ ...t
12
15
  }) {
13
- const o = g.useCallback(
14
- (r) => {
15
- r && e.focused && r.focus({ preventScroll: !0 });
16
+ const o = g(), d = y(a), l = s.useCallback(
17
+ (e) => {
18
+ e && a.focused && e.focus({ preventScroll: !0 });
16
19
  },
17
- [e.focused]
20
+ [a.focused]
18
21
  );
19
- return /* @__PURE__ */ s(
20
- l,
22
+ return /* @__PURE__ */ u(
23
+ v,
21
24
  {
22
- ref: o,
23
- tabIndex: e.focused ? 0 : -1,
25
+ ...t,
26
+ ref: l,
27
+ tabIndex: a.focused ? 0 : -1,
24
28
  variant: "ghost",
25
29
  size: "sm",
26
- "data-day": d.date.toLocaleDateString(),
27
- "data-selected-single": e.selected && !e.range_start && !e.range_end && !e.range_middle,
28
- "data-range-start": e.range_start,
29
- "data-range-end": e.range_end,
30
- "data-range-middle": e.range_middle,
31
- className: u(
32
- "gap-2 whitespace-nowrap focus-visible:ring-1 focus-visible:ring-focus-ring disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 px-3 rounded-lg flex items-center justify-center font-normal transition-colors w-5 h-5 border border-transparent focus-visible:outline-none text-sm rdp-day rdp-day_button",
33
- t !== "week" && "hover:bg-accent hover:text-accent-foreground hover:border-brand",
34
- t === "week" && "hover:bg-transparent hover:text-inherit hover:border-transparent",
35
- "data-[selected-single=true]:bg-brand data-[selected-single=true]:text-brand-foreground data-[selected-single=true]:rounded-lg data-[selected-single=true]:border-transparent",
36
- "data-[range-start=true]:bg-brand data-[range-start=true]:text-brand-foreground data-[range-start=true]:rounded-lg data-[range-start=true]:border-transparent",
37
- "data-[range-end=true]:bg-brand data-[range-end=true]:text-brand-foreground data-[range-end=true]:rounded-lg data-[range-end=true]:border-transparent",
38
- "data-[range-middle=true]:text-accent-foreground data-[range-middle=true]:rounded-none",
39
- n
30
+ "data-day": n.date.toLocaleDateString(),
31
+ "data-selection": d,
32
+ "data-preview": a.preview || a.preview_cap ? !0 : void 0,
33
+ "data-today": a.today || void 0,
34
+ "data-selected-single": a.selected && !a.range_start && !a.range_end && !a.range_middle,
35
+ "data-range-start": a.range_start,
36
+ "data-range-end": a.range_end,
37
+ "data-range-middle": a.range_middle,
38
+ "aria-current": a.today ? "date" : void 0,
39
+ className: p(
40
+ _(d, c === "week" ? "week" : "date"),
41
+ r
40
42
  ),
41
43
  "data-component": "calendar-day",
42
- ...a,
43
- disabled: a.disabled || e.disabled
44
+ onMouseEnter: (e) => {
45
+ t.onMouseEnter?.(e), o(n.date);
46
+ },
47
+ onMouseLeave: (e) => {
48
+ t.onMouseLeave?.(e), o(void 0);
49
+ },
50
+ "data-period-boundary": a.fiscal_period_start ? "start" : a.fiscal_period_end ? "end" : void 0,
51
+ disabled: t.disabled || a.disabled
44
52
  }
45
53
  );
46
54
  }
47
55
  export {
48
- v as CalendarDayButton
56
+ B as CalendarDayButton
49
57
  };
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ type HoverHandler = (date: Date | undefined) => void;
3
+ export declare function CalendarDayHoverProvider({ onDayHover, children, }: {
4
+ onDayHover: HoverHandler;
5
+ children: React.ReactNode;
6
+ }): React.FunctionComponentElement<React.ProviderProps<HoverHandler>>;
7
+ export declare function useCalendarDayHover(): HoverHandler;
8
+ export {};
@@ -0,0 +1,20 @@
1
+ import * as e from "react";
2
+ const r = e.createContext(() => {
3
+ });
4
+ function n({
5
+ onDayHover: t,
6
+ children: a
7
+ }) {
8
+ return e.createElement(
9
+ r.Provider,
10
+ { value: t },
11
+ a
12
+ );
13
+ }
14
+ function o() {
15
+ return e.useContext(r);
16
+ }
17
+ export {
18
+ n as CalendarDayHoverProvider,
19
+ o as useCalendarDayHover
20
+ };
@@ -1,10 +1,12 @@
1
1
  import { getDefaultClassNames } from 'react-day-picker';
2
+ import { CalendarKind } from '../../../lib/fiscal-calendar';
2
3
  type DefaultClassNames = ReturnType<typeof getDefaultClassNames>;
3
4
  export declare function getCalendarDayPickerClassNames(params: {
4
5
  defaultClassNames: DefaultClassNames;
5
6
  pickerType: "date" | "week" | "month";
6
- calendarType: "calendar" | "fiscal";
7
+ calendarKind: CalendarKind;
7
8
  showOutsideDays: boolean;
9
+ periodRowHover?: boolean;
8
10
  classNames?: Partial<DefaultClassNames>;
9
11
  }): {
10
12
  root: string;
@@ -50,4 +52,9 @@ export declare function getCalendarDayPickerClassNames(params: {
50
52
  caption_before_exit?: string | undefined;
51
53
  table: string;
52
54
  };
55
+ export declare const previewModifierClassNames: {
56
+ preview: string;
57
+ preview_cap_start: string;
58
+ preview_cap_end: string;
59
+ };
53
60
  export {};
@@ -1,12 +1,22 @@
1
1
  import "react-day-picker";
2
2
  import { cn as e } from "../../../lib/utils.js";
3
- function s(o) {
4
- const { defaultClassNames: t, pickerType: r, calendarType: l, showOutsideDays: a, classNames: n } = o;
3
+ import { previewCapEndCellClassName as m, previewCapStartCellClassName as f, previewCellClassName as p, rangeEndCellClassName as w, rangeMiddleCellClassName as u, rangeStartCellClassName as b, dayCellBaseClassName as h, weekNumberInteractiveClassName as k, weekNumberSelectedFillClassName as x, weekNumberBaseClassName as s, DAY_MONTH_MIN_WIDTH as _ } from "./calendar-selection-appearance.js";
4
+ function v(l) {
5
+ const {
6
+ defaultClassNames: t,
7
+ pickerType: o,
8
+ calendarKind: i,
9
+ showOutsideDays: d,
10
+ periodRowHover: c = !1,
11
+ classNames: r
12
+ } = l, a = o === "week", n = a && !c;
5
13
  return {
6
14
  root: e("w-fit", t.root),
7
15
  months: e("relative", t.months),
8
16
  month: e(
9
- "relative flex flex-1 min-w-[260px] flex-col gap-2 after:absolute after:top-[5.5rem] after:bottom-0 after:left-[30px] after:w-[1px] after:bg-stroke-hairline",
17
+ "relative flex flex-1",
18
+ _,
19
+ "flex-col gap-2 after:absolute after:top-[5.5rem] after:bottom-0 after:left-9 after:w-[1px] after:bg-stroke-hairline",
10
20
  t.month
11
21
  ),
12
22
  button_previous: e(
@@ -28,7 +38,7 @@ function s(o) {
28
38
  caption_label: e("select-none font-medium text-sm", t.caption_label),
29
39
  table: "w-full border-collapse",
30
40
  weekdays: e(
31
- "flex w-full relative after:absolute after:bottom-0 after:right-0 after:h-[1px] after:bg-stroke-hairline after:left-[30px]",
41
+ "flex w-full relative after:absolute after:bottom-0 after:right-0 after:h-[1px] after:bg-stroke-hairline after:left-9",
32
42
  t.weekdays
33
43
  ),
34
44
  weekday: e(
@@ -37,37 +47,47 @@ function s(o) {
37
47
  "[&:nth-child(2)]:pl-2",
38
48
  t.weekday
39
49
  ),
40
- week: e("mt-1 flex w-full items-stretch group/week", t.week),
50
+ week: e(
51
+ a ? "flex w-full items-stretch group/week" : "mt-1 flex w-full items-stretch group/week",
52
+ t.week
53
+ ),
41
54
  week_number_header: e(
42
- "select-none font-normal text-center h-[30px] flex items-center justify-center",
43
- "text-[11px] text-secondary-foreground w-[30px] flex-shrink-0",
55
+ "select-none text-center flex items-center justify-center",
56
+ s,
44
57
  t.week_number_header
45
58
  ),
46
59
  week_number: e(
47
- "select-none flex items-center justify-center h-[30px]",
48
- "text-[11px] text-secondary-foreground w-[30px] flex-shrink-0 transition-colors",
49
- r === "week" && "group-hover/week:bg-accent group-hover/week:rounded-l-lg",
60
+ s,
61
+ "whitespace-nowrap transition-colors",
62
+ n && "group-hover/week:bg-accent",
63
+ a && x,
64
+ a && k,
50
65
  t.week_number
51
66
  ),
52
67
  day: e(
53
- "group/day relative select-none p-0 text-center flex-1 h-[30px] flex items-center justify-center [&:nth-child(2)]:pl-2 rdp-day",
54
- r === "week" && "group-hover/week:bg-accent [&:nth-child(2)]:group-hover/week:rounded-l-full [&:nth-child(8)]:group-hover/week:rounded-r-full",
55
- r === "week" && "[&.rdp-selected:nth-child(2)]:rounded-l-full [&.rdp-selected:nth-child(8)]:rounded-r-full",
56
- n?.day
68
+ h,
69
+ n && "group-hover/week:bg-accent",
70
+ r?.day
57
71
  ),
58
- range_start: e("bg-accent rounded-l-full", t.range_start),
59
- range_middle: e("bg-accent rounded-none", t.range_middle),
60
- range_end: e("bg-accent rounded-r-full", t.range_end),
72
+ range_start: e(b, t.range_start),
73
+ range_middle: e(u, t.range_middle),
74
+ range_end: e(w, t.range_end),
61
75
  today: e("text-brand", t.today),
62
76
  outside: e(
63
- l === "fiscal" || a ? "text-secondary-foreground opacity-50" : "invisible",
77
+ i === "fiscal" || d ? "text-secondary-foreground opacity-50" : "invisible",
64
78
  t.outside
65
79
  ),
66
80
  disabled: e("text-secondary-foreground opacity-50", t.disabled),
67
81
  hidden: e("invisible", t.hidden),
68
- ...n
82
+ ...r
69
83
  };
70
84
  }
85
+ const N = {
86
+ preview: p,
87
+ preview_cap_start: f,
88
+ preview_cap_end: m
89
+ };
71
90
  export {
72
- s as getCalendarDayPickerClassNames
91
+ v as getCalendarDayPickerClassNames,
92
+ N as previewModifierClassNames
73
93
  };
@@ -1,25 +1,36 @@
1
1
  import { DayPicker } from 'react-day-picker';
2
2
  import { Button } from '../../primitives/button/button';
3
3
  import { Option } from '../../forms/select';
4
+ import { FiscalCalendarConfig, FiscalPeriod, CalendarKind } from '../../../lib/fiscal-calendar';
4
5
  import { WeekPickerInput } from './calendar-week-utils';
5
6
  import * as React from "react";
6
7
  export interface BuildCalendarDayPickerComponentsParams {
7
8
  buttonVariant: React.ComponentProps<typeof Button>["variant"];
8
9
  pickerType: "date" | "week" | "month";
10
+ calendarKind: CalendarKind;
9
11
  currentMonth: Date;
10
12
  monthsFull: string[];
13
+ monthsShort: string[];
11
14
  resolvedStartMonth: Date;
12
15
  resolvedEndMonth: Date;
13
16
  availableYears: Option[];
17
+ fiscalPeriods?: readonly FiscalPeriod[];
18
+ fiscalConfig?: FiscalCalendarConfig;
14
19
  weekStartsOn: 0 | 1 | 2 | 3 | 4 | 5 | 6;
15
20
  previousMonthLabel: string;
16
21
  nextMonthLabel: string;
17
22
  monthPlaceholder: string;
18
23
  yearPlaceholder: string;
19
24
  weekNumberLabel: (weekOfMonth: number) => string;
25
+ weekNumberHeader: string;
20
26
  weekLabel: (weekOfMonth: number) => string;
27
+ fiscalWeekNumberLabel?: (week: number) => string;
28
+ fiscalWeekAriaLabel?: (meta: import('../../../lib/fiscal-calendar').DateCellMeta) => string;
29
+ getCellMeta?: (date: Date) => import('../../../lib/fiscal-calendar').DateCellMeta | undefined;
21
30
  onMonthChange: (month: Date) => void;
22
31
  onWeekSelect: (input: WeekPickerInput) => void;
32
+ periodRowHover?: boolean;
33
+ weekMode?: "single" | "multiple" | "range" | "multi-range";
23
34
  components?: React.ComponentProps<typeof DayPicker>["components"];
24
35
  }
25
- export declare function buildCalendarDayPickerComponents({ buttonVariant, pickerType, currentMonth, monthsFull, resolvedStartMonth, resolvedEndMonth, availableYears, weekStartsOn, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekLabel, onMonthChange, onWeekSelect, components, }: BuildCalendarDayPickerComponentsParams): React.ComponentProps<typeof DayPicker>["components"];
36
+ export declare function buildCalendarDayPickerComponents({ buttonVariant, pickerType, calendarKind, currentMonth, monthsFull, monthsShort, resolvedStartMonth, resolvedEndMonth, availableYears, fiscalPeriods, fiscalConfig, weekStartsOn, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekNumberHeader, weekLabel, fiscalWeekNumberLabel, fiscalWeekAriaLabel, getCellMeta, onMonthChange, onWeekSelect, periodRowHover, weekMode, components, }: BuildCalendarDayPickerComponentsParams): React.ComponentProps<typeof DayPicker>["components"];