impact-nova 2.5.9 → 2.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/data/data-table/column-runtime-state-guard.js +42 -42
- package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +15 -0
- package/dist/components/data/data-table/data-table-column-tree-cache.js +109 -80
- package/dist/components/data/data-table/use-data-table-column-list-sync.js +65 -62
- package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +2 -0
- package/dist/components/data-display/calendar/calendar-apply-validation.js +64 -67
- package/dist/components/data-display/calendar/calendar-available-view.d.ts +27 -0
- package/dist/components/data-display/calendar/calendar-available-view.js +85 -0
- package/dist/components/data-display/calendar/calendar-day-picker-classnames.d.ts +6 -1
- package/dist/components/data-display/calendar/calendar-day-picker-classnames.js +31 -23
- package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +5 -2
- package/dist/components/data-display/calendar/calendar-day-picker-components.js +210 -167
- package/dist/components/data-display/calendar/calendar-day-picker-view.d.ts +3 -2
- package/dist/components/data-display/calendar/calendar-day-picker-view.js +126 -124
- package/dist/components/data-display/calendar/calendar-fiscal-period-nav.d.ts +6 -0
- package/dist/components/data-display/calendar/calendar-fiscal-period-nav.js +34 -18
- package/dist/components/data-display/calendar/calendar-month-utils.d.ts +5 -0
- package/dist/components/data-display/calendar/calendar-month-utils.js +85 -64
- package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +5 -1
- package/dist/components/data-display/calendar/calendar-padding-week.utils.js +20 -16
- package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +1 -0
- package/dist/components/data-display/calendar/calendar-selection-appearance.js +31 -30
- package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +3 -1
- package/dist/components/data-display/calendar/calendar-week-number-cell.js +68 -53
- package/dist/components/data-display/calendar/calendar-week-utils.d.ts +6 -0
- package/dist/components/data-display/calendar/calendar-week-utils.js +51 -47
- package/dist/components/data-display/calendar/calendar-year-panes.d.ts +2 -0
- package/dist/components/data-display/calendar/calendar-year-panes.js +3 -1
- package/dist/components/data-display/calendar/calendar.js +170 -165
- package/dist/components/data-display/calendar/calendar.types.d.ts +7 -0
- package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +5 -2
- package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +86 -76
- package/dist/components/data-display/calendar/use-calendar-state.d.ts +3 -1
- package/dist/components/data-display/calendar/use-calendar-state.js +403 -325
- package/dist/components/feedback/dialog/dialog.js +12 -12
- package/dist/components/feedback/sheet/sheet.js +22 -22
- package/dist/components/forms/date-picker/calendar-selection-adapters.d.ts +2 -0
- package/dist/components/forms/date-picker/calendar-selection-adapters.js +36 -31
- package/dist/components/forms/date-picker/date-input-behavior.d.ts +10 -0
- package/dist/components/forms/date-picker/date-input-behavior.js +111 -90
- package/dist/components/forms/date-picker/date-picker.js +74 -70
- package/dist/components/forms/date-picker/date-picker.types.d.ts +7 -0
- package/dist/components/forms/date-picker/date-range-picker.js +148 -144
- package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +2 -0
- package/dist/components/forms/date-picker/fiscal-pass-through.js +4 -2
- package/dist/components/forms/date-picker/month-picker.js +84 -80
- package/dist/components/forms/date-picker/month-range-picker.js +147 -143
- package/dist/components/forms/date-picker/multi-date-picker.js +53 -49
- package/dist/components/forms/date-picker/multi-month-picker.js +51 -47
- package/dist/components/forms/date-picker/multi-quarter-picker.js +48 -44
- package/dist/components/forms/date-picker/multi-week-picker.js +55 -51
- package/dist/components/forms/date-picker/multi-year-picker.js +50 -46
- package/dist/components/forms/date-picker/picker-story-layout.d.ts +2 -0
- package/dist/components/forms/date-picker/quarter-picker.js +48 -44
- package/dist/components/forms/date-picker/quarter-range-picker.js +47 -43
- package/dist/components/forms/date-picker/week-picker.js +86 -82
- package/dist/components/forms/date-picker/week-range-picker.js +171 -164
- package/dist/components/forms/date-picker/year-picker.js +49 -45
- package/dist/components/forms/date-picker/year-range-picker.js +49 -45
- package/dist/components/forms/select/components/SelectMenuPanel.js +3 -2
- package/dist/components/forms/select/select.js +1 -0
- package/dist/form-react/Fields/DateInputField.js +51 -50
- package/dist/form-react/Fields/DateRangeField.js +14 -13
- package/dist/form-react/Fields/MonthRangeField.js +29 -28
- package/dist/form-react/Fields/MultiMonthPickerField.js +13 -12
- package/dist/form-react/Fields/MultiWeekPickerField.js +18 -17
- package/dist/form-react/Fields/WeekRangePicker.js +48 -48
- package/dist/form-react/types/fields.types.d.ts +14 -0
- package/dist/impact-nova.css +1 -1
- package/dist/lib/overlay/overlay-portal-context.js +16 -16
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +1 -1
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import "react-day-picker";
|
|
2
2
|
import { cn as e } from "../../../lib/utils.js";
|
|
3
|
-
import { previewCapEndCellClassName as m, previewCapStartCellClassName as
|
|
4
|
-
function
|
|
3
|
+
import { previewCapEndCellClassName as m, previewCapStartCellClassName as p, previewCellClassName as w, rangeEndCellClassName as b, rangeMiddleCellClassName as u, rangeStartCellClassName as x, dayCellBaseClassName as h, weekNumberInteractiveClassName as k, weekNumberSelectedFillClassName as _, weekNumberBaseClassName as s, DAY_MONTH_MIN_WIDTH as y } from "./calendar-selection-appearance.js";
|
|
4
|
+
function N(l) {
|
|
5
5
|
const {
|
|
6
6
|
defaultClassNames: t,
|
|
7
|
-
pickerType:
|
|
8
|
-
calendarKind:
|
|
7
|
+
pickerType: i,
|
|
8
|
+
calendarKind: f,
|
|
9
9
|
showOutsideDays: d,
|
|
10
10
|
periodRowHover: c = !1,
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
showWeekNumber: a = !0,
|
|
12
|
+
classNames: o
|
|
13
|
+
} = l, r = i === "week", n = r && !c;
|
|
13
14
|
return {
|
|
14
15
|
root: e("w-fit", t.root),
|
|
15
16
|
months: e("relative", t.months),
|
|
16
17
|
month: e(
|
|
17
18
|
"relative flex flex-1",
|
|
18
|
-
|
|
19
|
-
"flex-col gap-2
|
|
19
|
+
y,
|
|
20
|
+
"flex-col gap-2",
|
|
21
|
+
a && "after:absolute after:top-[5.5rem] after:bottom-0 after:left-9 after:w-[1px] after:bg-stroke-hairline",
|
|
20
22
|
t.month
|
|
21
23
|
),
|
|
22
24
|
button_previous: e(
|
|
@@ -37,18 +39,20 @@ function v(l) {
|
|
|
37
39
|
),
|
|
38
40
|
caption_label: e("select-none font-medium text-sm", t.caption_label),
|
|
39
41
|
table: "w-full border-collapse",
|
|
42
|
+
weeks: e("flex flex-col", t.weeks),
|
|
40
43
|
weekdays: e(
|
|
41
|
-
"flex w-full relative after:absolute after:bottom-0 after:right-0 after:h-[1px] after:bg-stroke-hairline
|
|
44
|
+
"flex w-full relative after:absolute after:bottom-0 after:right-0 after:h-[1px] after:bg-stroke-hairline",
|
|
45
|
+
a ? "after:left-9" : "after:left-0",
|
|
42
46
|
t.weekdays
|
|
43
47
|
),
|
|
44
48
|
weekday: e(
|
|
45
49
|
"flex-1 select-none rounded-md font-normal text-center",
|
|
46
50
|
"text-[11px] text-secondary-foreground pb-2",
|
|
47
|
-
"[&:nth-child(2)]:pl-2",
|
|
51
|
+
a && "[&:nth-child(2)]:pl-2",
|
|
48
52
|
t.weekday
|
|
49
53
|
),
|
|
50
54
|
week: e(
|
|
51
|
-
|
|
55
|
+
r ? "flex w-full items-stretch group/week" : "mt-1 flex w-full items-stretch group/week",
|
|
52
56
|
t.week
|
|
53
57
|
),
|
|
54
58
|
week_number_header: e(
|
|
@@ -60,34 +64,38 @@ function v(l) {
|
|
|
60
64
|
s,
|
|
61
65
|
"whitespace-nowrap transition-colors",
|
|
62
66
|
n && "group-hover/week:bg-accent",
|
|
63
|
-
|
|
64
|
-
|
|
67
|
+
r && _,
|
|
68
|
+
r && k,
|
|
65
69
|
t.week_number
|
|
66
70
|
),
|
|
67
71
|
day: e(
|
|
68
72
|
h,
|
|
69
73
|
n && "group-hover/week:bg-accent",
|
|
70
|
-
|
|
74
|
+
o?.day
|
|
71
75
|
),
|
|
72
|
-
range_start: e(
|
|
76
|
+
range_start: e(x, t.range_start),
|
|
73
77
|
range_middle: e(u, t.range_middle),
|
|
74
|
-
range_end: e(
|
|
78
|
+
range_end: e(b, t.range_end),
|
|
75
79
|
today: e("text-brand", t.today),
|
|
76
80
|
outside: e(
|
|
77
|
-
|
|
81
|
+
f === "fiscal" || d ? "text-secondary-foreground opacity-50" : "invisible",
|
|
78
82
|
t.outside
|
|
79
83
|
),
|
|
80
84
|
disabled: e("text-secondary-foreground opacity-50", t.disabled),
|
|
81
85
|
hidden: e("invisible", t.hidden),
|
|
82
|
-
...
|
|
86
|
+
...o
|
|
83
87
|
};
|
|
84
88
|
}
|
|
85
|
-
const
|
|
86
|
-
preview:
|
|
87
|
-
preview_cap_start:
|
|
89
|
+
const j = {
|
|
90
|
+
preview: w,
|
|
91
|
+
preview_cap_start: p,
|
|
88
92
|
preview_cap_end: m
|
|
93
|
+
}, D = {
|
|
94
|
+
fiscal_period_start: "before:pointer-events-none before:absolute before:left-0 before:top-1/2 before:-translate-y-1/2 before:content-['('] before:text-sm before:font-normal before:text-brand",
|
|
95
|
+
fiscal_period_end: "after:pointer-events-none after:absolute after:right-0 after:top-1/2 after:-translate-y-1/2 after:content-[')'] after:text-sm after:font-normal after:text-brand"
|
|
89
96
|
};
|
|
90
97
|
export {
|
|
91
|
-
|
|
92
|
-
N as
|
|
98
|
+
D as fiscalPeriodBoundaryClassNames,
|
|
99
|
+
N as getCalendarDayPickerClassNames,
|
|
100
|
+
j as previewModifierClassNames
|
|
93
101
|
};
|
|
@@ -1,13 +1,14 @@
|
|
|
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
|
+
import { FiscalCalendarConfig, FiscalPeriod, CalendarKind, Granularity } from '../../../lib/fiscal-calendar';
|
|
5
5
|
import { WeekPickerInput } from './calendar-week-utils';
|
|
6
6
|
import * as React from "react";
|
|
7
7
|
export interface BuildCalendarDayPickerComponentsParams {
|
|
8
8
|
buttonVariant: React.ComponentProps<typeof Button>["variant"];
|
|
9
9
|
pickerType: "date" | "week" | "month";
|
|
10
10
|
calendarKind: CalendarKind;
|
|
11
|
+
granularity?: Granularity;
|
|
11
12
|
currentMonth: Date;
|
|
12
13
|
monthsFull: string[];
|
|
13
14
|
monthsShort: string[];
|
|
@@ -31,6 +32,8 @@ export interface BuildCalendarDayPickerComponentsParams {
|
|
|
31
32
|
onWeekSelect: (input: WeekPickerInput) => void;
|
|
32
33
|
periodRowHover?: boolean;
|
|
33
34
|
weekMode?: "single" | "multiple" | "range" | "multi-range";
|
|
35
|
+
showPeriodBoundaries?: boolean;
|
|
36
|
+
disabled?: unknown;
|
|
34
37
|
components?: React.ComponentProps<typeof DayPicker>["components"];
|
|
35
38
|
}
|
|
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"];
|
|
39
|
+
export declare function buildCalendarDayPickerComponents({ buttonVariant, pickerType, calendarKind, granularity, currentMonth, monthsFull, monthsShort, resolvedStartMonth, resolvedEndMonth, availableYears, fiscalPeriods, fiscalConfig, weekStartsOn, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekNumberHeader, weekLabel, fiscalWeekNumberLabel, fiscalWeekAriaLabel, getCellMeta, onMonthChange, onWeekSelect, periodRowHover, weekMode, showPeriodBoundaries, disabled, components, }: BuildCalendarDayPickerComponentsParams): React.ComponentProps<typeof DayPicker>["components"];
|
|
@@ -1,263 +1,306 @@
|
|
|
1
|
-
import { jsx as i, jsxs as
|
|
2
|
-
import * as
|
|
3
|
-
import { useDayPicker as
|
|
4
|
-
import { ChevronRight as
|
|
5
|
-
import { cn as
|
|
6
|
-
import { Button as
|
|
7
|
-
import { Select as
|
|
8
|
-
import { CalendarCaptionHeader as
|
|
9
|
-
import { CalendarDayButton as
|
|
10
|
-
import { PanelIndexContext as
|
|
11
|
-
import { CalendarWeekNumberCell as
|
|
12
|
-
import { paneCivilMonthIndex as
|
|
13
|
-
import { buildFiscalYear as
|
|
14
|
-
import { civilMonthAtOffset as
|
|
15
|
-
import { getAvailableMonths as
|
|
16
|
-
import { isCalendarPaddingWeek as
|
|
17
|
-
import { fiscalPeriodForWeek as
|
|
18
|
-
import { FiscalPeriodCaptionSelect as
|
|
19
|
-
function
|
|
20
|
-
if (
|
|
1
|
+
import { jsx as i, jsxs as M } from "react/jsx-runtime";
|
|
2
|
+
import * as k from "react";
|
|
3
|
+
import { useDayPicker as ue } from "react-day-picker";
|
|
4
|
+
import { ChevronRight as Q } from "impact-nova-icons";
|
|
5
|
+
import { cn as y } from "../../../lib/utils.js";
|
|
6
|
+
import { Button as U } from "../../primitives/button/button.js";
|
|
7
|
+
import { Select as X } from "../../forms/select/select.js";
|
|
8
|
+
import { CalendarCaptionHeader as me } from "./calendar-caption-header.js";
|
|
9
|
+
import { CalendarDayButton as pe } from "./calendar-day-button.js";
|
|
10
|
+
import { PanelIndexContext as D } from "./calendar-panel-context.js";
|
|
11
|
+
import { CalendarWeekNumberCell as he } from "./calendar-week-number-cell.js";
|
|
12
|
+
import { paneCivilMonthIndex as ve } from "./calendar-week-number-header.js";
|
|
13
|
+
import { buildFiscalYear as xe } from "../../../lib/fiscal-calendar/build-year.js";
|
|
14
|
+
import { civilMonthAtOffset as N, midMonthDate as g, periodForFiscalYearChange as ke, visibleMonthForPeriod as Z, periodsAvailableInBounds as Pe, periodForCivilMonth as $ } from "./calendar-fiscal-period-nav.js";
|
|
15
|
+
import { getAvailableMonths as ye, isWeekSelectableInBounds as De } from "./calendar-month-utils.js";
|
|
16
|
+
import { isCalendarPaddingWeek as L, weekHasInMonthSelection as Se, weekIntervalContinues as We } from "./calendar-padding-week.utils.js";
|
|
17
|
+
import { isForeignFiscalWeekRow as T, fiscalPeriodForWeek as V } from "./calendar-week-utils.js";
|
|
18
|
+
import { FiscalPeriodCaptionSelect as be } from "./fiscal-period-caption-select.js";
|
|
19
|
+
function C(h, f, l) {
|
|
20
|
+
if (f != null && h)
|
|
21
21
|
try {
|
|
22
|
-
return
|
|
22
|
+
return xe(h, f).periods;
|
|
23
23
|
} catch {
|
|
24
24
|
}
|
|
25
|
-
return
|
|
25
|
+
return l ?? [];
|
|
26
26
|
}
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
27
|
+
function K(h, f, l) {
|
|
28
|
+
const S = h.days[0]?.date, m = h.days[h.days.length - 1]?.date;
|
|
29
|
+
return !S || !m ? !1 : De(S, m, f, l);
|
|
30
|
+
}
|
|
31
|
+
function Je({
|
|
32
|
+
buttonVariant: h,
|
|
33
|
+
pickerType: f,
|
|
34
|
+
calendarKind: l,
|
|
35
|
+
granularity: S,
|
|
36
|
+
currentMonth: m,
|
|
37
|
+
monthsFull: A,
|
|
38
|
+
monthsShort: ee,
|
|
39
|
+
resolvedStartMonth: te,
|
|
40
|
+
resolvedEndMonth: oe,
|
|
41
|
+
availableYears: Y,
|
|
42
|
+
fiscalPeriods: F,
|
|
43
|
+
fiscalConfig: W,
|
|
44
|
+
weekStartsOn: ne,
|
|
45
|
+
previousMonthLabel: B,
|
|
46
|
+
nextMonthLabel: j,
|
|
47
|
+
monthPlaceholder: O,
|
|
48
|
+
yearPlaceholder: re,
|
|
49
|
+
weekNumberLabel: ie,
|
|
50
|
+
weekNumberHeader: R,
|
|
51
|
+
weekLabel: se,
|
|
52
|
+
fiscalWeekNumberLabel: ae,
|
|
53
|
+
fiscalWeekAriaLabel: le,
|
|
54
|
+
getCellMeta: d,
|
|
55
|
+
onMonthChange: P,
|
|
56
|
+
onWeekSelect: z,
|
|
57
|
+
periodRowHover: _ = !1,
|
|
58
|
+
weekMode: E = "single",
|
|
59
|
+
showPeriodBoundaries: ce = !1,
|
|
60
|
+
disabled: w,
|
|
61
|
+
components: de
|
|
55
62
|
}) {
|
|
63
|
+
function G(e) {
|
|
64
|
+
if (l !== "fiscal") return;
|
|
65
|
+
const t = N(m, e);
|
|
66
|
+
return $(
|
|
67
|
+
C(
|
|
68
|
+
W,
|
|
69
|
+
d?.(g(t))?.fy ?? d?.(t)?.fy,
|
|
70
|
+
F
|
|
71
|
+
),
|
|
72
|
+
t.getFullYear(),
|
|
73
|
+
t.getMonth()
|
|
74
|
+
)?.period;
|
|
75
|
+
}
|
|
56
76
|
return {
|
|
57
|
-
Root: ({ className: e, rootRef:
|
|
58
|
-
Chevron: ({ className: e, orientation:
|
|
59
|
-
|
|
77
|
+
Root: ({ className: e, rootRef: t, ...o }) => /* @__PURE__ */ i("div", { "data-slot": "calendar", ref: t, className: y(e), ...o }),
|
|
78
|
+
Chevron: ({ className: e, orientation: t, ...o }) => t === "left" ? /* @__PURE__ */ i(
|
|
79
|
+
Q,
|
|
60
80
|
{
|
|
61
81
|
size: 16,
|
|
62
|
-
className:
|
|
63
|
-
...
|
|
82
|
+
className: y("rotate-180 text-content", e),
|
|
83
|
+
...o
|
|
64
84
|
}
|
|
65
|
-
) :
|
|
85
|
+
) : t === "right" ? /* @__PURE__ */ i(Q, { size: 16, className: y("text-content", e), ...o }) : /* @__PURE__ */ i("span", {}),
|
|
66
86
|
PreviousMonthButton: (e) => /* @__PURE__ */ i(
|
|
67
|
-
|
|
87
|
+
U,
|
|
68
88
|
{
|
|
69
|
-
variant:
|
|
89
|
+
variant: h,
|
|
70
90
|
size: "icon",
|
|
71
91
|
className: "h-7 w-7",
|
|
72
|
-
"aria-label":
|
|
73
|
-
title:
|
|
92
|
+
"aria-label": B,
|
|
93
|
+
title: B,
|
|
74
94
|
...e
|
|
75
95
|
}
|
|
76
96
|
),
|
|
77
97
|
NextMonthButton: (e) => /* @__PURE__ */ i(
|
|
78
|
-
|
|
98
|
+
U,
|
|
79
99
|
{
|
|
80
|
-
variant:
|
|
100
|
+
variant: h,
|
|
81
101
|
size: "icon",
|
|
82
102
|
className: "h-7 w-7",
|
|
83
|
-
"aria-label":
|
|
84
|
-
title:
|
|
103
|
+
"aria-label": j,
|
|
104
|
+
title: j,
|
|
85
105
|
...e
|
|
86
106
|
}
|
|
87
107
|
),
|
|
88
|
-
MonthCaption: ({ displayIndex: e, calendarMonth:
|
|
89
|
-
Month: ({ calendarMonth: e, displayIndex:
|
|
90
|
-
const
|
|
91
|
-
return /* @__PURE__ */ i(
|
|
92
|
-
|
|
93
|
-
|
|
108
|
+
MonthCaption: ({ displayIndex: e, calendarMonth: t, ...o }) => /* @__PURE__ */ i("div", { ...o }),
|
|
109
|
+
Month: ({ calendarMonth: e, displayIndex: t, className: o, children: r, ...s }) => {
|
|
110
|
+
const c = k.Children.toArray(r), p = c[c.length - 1], a = c.slice(0, -1);
|
|
111
|
+
return /* @__PURE__ */ i(D.Provider, { value: t, children: /* @__PURE__ */ M("div", { className: y(o), ...s, children: [
|
|
112
|
+
a.length > 0 ? /* @__PURE__ */ i(me, { children: a }) : null,
|
|
113
|
+
p
|
|
94
114
|
] }) });
|
|
95
115
|
},
|
|
96
|
-
Months: ({ className: e, children:
|
|
116
|
+
Months: ({ className: e, children: t, ...o }) => /* @__PURE__ */ i(
|
|
97
117
|
"div",
|
|
98
118
|
{
|
|
99
119
|
"data-slot": "day-months",
|
|
100
|
-
"data-period-row-hover":
|
|
101
|
-
"data-week-gutter-track":
|
|
102
|
-
className:
|
|
103
|
-
...
|
|
104
|
-
children:
|
|
120
|
+
"data-period-row-hover": _ ? "true" : void 0,
|
|
121
|
+
"data-week-gutter-track": f === "week" ? "true" : void 0,
|
|
122
|
+
className: y(e),
|
|
123
|
+
...o,
|
|
124
|
+
children: t
|
|
105
125
|
}
|
|
106
126
|
),
|
|
107
|
-
DropdownNav: ({ children: e, className:
|
|
108
|
-
if (
|
|
109
|
-
return /* @__PURE__ */ i("div", { className:
|
|
110
|
-
const
|
|
111
|
-
const
|
|
112
|
-
return !
|
|
127
|
+
DropdownNav: ({ children: e, className: t, ...o }) => {
|
|
128
|
+
if (l !== "fiscal")
|
|
129
|
+
return /* @__PURE__ */ i("div", { className: t, ...o, children: e });
|
|
130
|
+
const r = k.Children.toArray(e), s = (n) => k.isValidElement(n) && n.key != null ? String(n.key) : "", c = r.find((n) => s(n).endsWith("year")), p = r.find((n) => s(n).endsWith("month")), a = r.filter((n) => {
|
|
131
|
+
const u = s(n);
|
|
132
|
+
return !u.endsWith("year") && !u.endsWith("month");
|
|
113
133
|
});
|
|
114
|
-
return /* @__PURE__ */
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
134
|
+
return /* @__PURE__ */ M("div", { className: t, ...o, children: [
|
|
135
|
+
c,
|
|
136
|
+
p,
|
|
137
|
+
a
|
|
118
138
|
] });
|
|
119
139
|
},
|
|
120
140
|
MonthsDropdown: ({ value: e }) => {
|
|
121
|
-
const
|
|
122
|
-
if (
|
|
123
|
-
const
|
|
141
|
+
const t = k.useContext(D), o = t > 0, r = N(m, t), s = r.getFullYear();
|
|
142
|
+
if (l === "fiscal" && W) {
|
|
143
|
+
const a = d?.(g(r)) ?? d?.(r), n = C(W, a?.fy, F), u = Pe(n, w), v = $(
|
|
124
144
|
n,
|
|
125
|
-
|
|
126
|
-
|
|
145
|
+
r.getFullYear(),
|
|
146
|
+
r.getMonth()
|
|
127
147
|
);
|
|
128
148
|
return /* @__PURE__ */ i(
|
|
129
|
-
|
|
149
|
+
be,
|
|
130
150
|
{
|
|
131
|
-
periods:
|
|
132
|
-
selectedPeriod:
|
|
133
|
-
placeholder:
|
|
134
|
-
onPeriodChange: (
|
|
135
|
-
|
|
151
|
+
periods: u,
|
|
152
|
+
selectedPeriod: v,
|
|
153
|
+
placeholder: O,
|
|
154
|
+
onPeriodChange: (x) => {
|
|
155
|
+
P(Z(x, o));
|
|
136
156
|
}
|
|
137
157
|
}
|
|
138
158
|
);
|
|
139
159
|
}
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
160
|
+
const p = ye(
|
|
161
|
+
s,
|
|
162
|
+
A,
|
|
163
|
+
te,
|
|
164
|
+
oe
|
|
145
165
|
);
|
|
146
166
|
return /* @__PURE__ */ i(
|
|
147
|
-
|
|
167
|
+
X,
|
|
148
168
|
{
|
|
149
|
-
value:
|
|
150
|
-
onChange: (
|
|
151
|
-
if (
|
|
152
|
-
const n = parseInt(
|
|
153
|
-
|
|
169
|
+
value: p.find((a) => a.value === e?.toString()),
|
|
170
|
+
onChange: (a) => {
|
|
171
|
+
if (a && "value" in a) {
|
|
172
|
+
const n = parseInt(a.value);
|
|
173
|
+
P(o ? new Date(s, n - 1, 1) : new Date(s, n, 1));
|
|
154
174
|
}
|
|
155
175
|
},
|
|
156
176
|
scrollToSelectedOnOpen: !0,
|
|
157
|
-
options:
|
|
177
|
+
options: p,
|
|
158
178
|
className: "w-[116px] shrink-0",
|
|
159
179
|
menuWidth: "160px",
|
|
160
180
|
isSearchable: !0,
|
|
161
181
|
isClearable: !1,
|
|
162
|
-
placeholder:
|
|
182
|
+
placeholder: O
|
|
163
183
|
}
|
|
164
184
|
);
|
|
165
185
|
},
|
|
166
186
|
YearsDropdown: ({ value: e }) => {
|
|
167
|
-
const
|
|
187
|
+
const t = k.useContext(D), o = t > 0, r = l === "fiscal" && W, s = N(m, t), c = r ? d?.(g(s)) ?? d?.(s) : void 0, p = r && c?.fy != null ? String(c.fy) : e?.toString();
|
|
168
188
|
return /* @__PURE__ */ i(
|
|
169
|
-
|
|
189
|
+
X,
|
|
170
190
|
{
|
|
171
|
-
value:
|
|
191
|
+
value: Y.find((n) => n.value === p),
|
|
172
192
|
onChange: (n) => {
|
|
173
193
|
if (n && "value" in n) {
|
|
174
|
-
const
|
|
175
|
-
if (
|
|
176
|
-
const
|
|
177
|
-
|
|
194
|
+
const u = parseInt(n.value);
|
|
195
|
+
if (r) {
|
|
196
|
+
const v = ke({
|
|
197
|
+
periods: C(W, u, F),
|
|
198
|
+
preferredPeriod: c?.fiscalPeriod,
|
|
199
|
+
disabled: w
|
|
200
|
+
});
|
|
201
|
+
v && P(Z(v, o));
|
|
178
202
|
return;
|
|
179
203
|
}
|
|
180
|
-
if (
|
|
181
|
-
const
|
|
182
|
-
|
|
183
|
-
|
|
204
|
+
if (o) {
|
|
205
|
+
const v = new Date(
|
|
206
|
+
m.getFullYear(),
|
|
207
|
+
m.getMonth() + 1,
|
|
184
208
|
1
|
|
185
209
|
).getMonth();
|
|
186
|
-
|
|
210
|
+
P(new Date(u, v - 1, 1));
|
|
187
211
|
} else
|
|
188
|
-
|
|
212
|
+
P(new Date(u, m.getMonth(), 1));
|
|
189
213
|
}
|
|
190
214
|
},
|
|
191
215
|
scrollToSelectedOnOpen: !0,
|
|
192
|
-
options:
|
|
216
|
+
options: Y,
|
|
193
217
|
className: "w-[116px] shrink-0",
|
|
194
218
|
menuWidth: "140px",
|
|
195
219
|
isSearchable: !0,
|
|
196
220
|
isClearable: !1,
|
|
197
|
-
placeholder:
|
|
221
|
+
placeholder: re
|
|
198
222
|
}
|
|
199
223
|
);
|
|
200
224
|
},
|
|
201
225
|
DayButton: (e) => /* @__PURE__ */ i(
|
|
202
|
-
|
|
226
|
+
pe,
|
|
203
227
|
{
|
|
204
228
|
...e,
|
|
205
|
-
pickerType:
|
|
229
|
+
pickerType: f,
|
|
206
230
|
modifiers: {
|
|
207
231
|
...e.modifiers,
|
|
208
|
-
|
|
209
|
-
|
|
232
|
+
...ce ? {
|
|
233
|
+
fiscal_period_start: !!d?.(e.day.date)?.isPeriodStart,
|
|
234
|
+
fiscal_period_end: !!d?.(e.day.date)?.isPeriodEnd
|
|
235
|
+
} : {}
|
|
210
236
|
}
|
|
211
237
|
}
|
|
212
238
|
),
|
|
213
|
-
Week: ({ week: e, className:
|
|
214
|
-
const { isSelected:
|
|
239
|
+
Week: ({ week: e, className: t, children: o, onClick: r, ...s }) => {
|
|
240
|
+
const { isSelected: c } = ue(), p = k.useContext(D), a = L(e), n = f === "week", u = V(e, d), v = G(p), x = a || T({
|
|
241
|
+
calendarKind: l,
|
|
242
|
+
weekPeriod: u,
|
|
243
|
+
panePeriod: v
|
|
244
|
+
}), fe = _ && !x ? u : void 0, I = n && !x && !K(e, w, S), H = !x && !I && Se(e, c), q = f === "week" && E !== "multiple" && E !== "multi-range" && H ? We(e, c, {
|
|
245
|
+
joinAdjacentWeek: l === "fiscal",
|
|
246
|
+
panePeriod: v,
|
|
247
|
+
periodForDate: (b) => d?.(b)?.fiscalPeriod
|
|
248
|
+
}) : { prev: !1, next: !1 };
|
|
215
249
|
return /* @__PURE__ */ i(
|
|
216
250
|
"tr",
|
|
217
251
|
{
|
|
218
|
-
className:
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
252
|
+
className: y(
|
|
253
|
+
t,
|
|
254
|
+
x && "invisible order-last",
|
|
255
|
+
n && !x && !I && "cursor-pointer"
|
|
222
256
|
),
|
|
223
|
-
...
|
|
224
|
-
"aria-hidden":
|
|
225
|
-
"data-fiscal-period":
|
|
226
|
-
"data-week-selected":
|
|
227
|
-
"data-week-continues-next":
|
|
228
|
-
"data-week-continues-prev":
|
|
229
|
-
onClick:
|
|
230
|
-
if (
|
|
231
|
-
const
|
|
232
|
-
|
|
233
|
-
} :
|
|
234
|
-
children:
|
|
257
|
+
...s,
|
|
258
|
+
"aria-hidden": x || void 0,
|
|
259
|
+
"data-fiscal-period": fe,
|
|
260
|
+
"data-week-selected": H ? !0 : void 0,
|
|
261
|
+
"data-week-continues-next": q.next || void 0,
|
|
262
|
+
"data-week-continues-prev": q.prev || void 0,
|
|
263
|
+
onClick: n && !x && !I ? (b) => {
|
|
264
|
+
if (r?.(b), b.defaultPrevented) return;
|
|
265
|
+
const J = b.target;
|
|
266
|
+
J.closest("button") || J.closest("[data-week-number]") || z(e);
|
|
267
|
+
} : r,
|
|
268
|
+
children: o
|
|
269
|
+
}
|
|
270
|
+
);
|
|
271
|
+
},
|
|
272
|
+
WeekNumber: ({ week: e, ...t }) => {
|
|
273
|
+
const o = k.useContext(D), r = L(e) || T({
|
|
274
|
+
calendarKind: l,
|
|
275
|
+
weekPeriod: V(e, d),
|
|
276
|
+
panePeriod: G(o)
|
|
277
|
+
});
|
|
278
|
+
return /* @__PURE__ */ i(
|
|
279
|
+
he,
|
|
280
|
+
{
|
|
281
|
+
week: e,
|
|
282
|
+
weekStartsOn: ne,
|
|
283
|
+
pickerType: f,
|
|
284
|
+
calendarKind: l,
|
|
285
|
+
weekNumberLabel: ie,
|
|
286
|
+
weekLabel: se,
|
|
287
|
+
fiscalWeekNumberLabel: ae,
|
|
288
|
+
fiscalWeekAriaLabel: le,
|
|
289
|
+
getCellMeta: d,
|
|
290
|
+
onWeekSelect: z,
|
|
291
|
+
...t,
|
|
292
|
+
blank: r,
|
|
293
|
+
blocked: f === "week" && !K(e, w, S)
|
|
235
294
|
}
|
|
236
295
|
);
|
|
237
296
|
},
|
|
238
|
-
WeekNumber: ({ week: e, ...r }) => /* @__PURE__ */ i(
|
|
239
|
-
re,
|
|
240
|
-
{
|
|
241
|
-
week: e,
|
|
242
|
-
weekStartsOn: U,
|
|
243
|
-
pickerType: m,
|
|
244
|
-
calendarKind: u,
|
|
245
|
-
weekNumberLabel: Z,
|
|
246
|
-
weekLabel: $,
|
|
247
|
-
fiscalWeekNumberLabel: L,
|
|
248
|
-
fiscalWeekAriaLabel: T,
|
|
249
|
-
getCellMeta: f,
|
|
250
|
-
onWeekSelect: A,
|
|
251
|
-
...r
|
|
252
|
-
}
|
|
253
|
-
),
|
|
254
297
|
WeekNumberHeader: (e) => {
|
|
255
|
-
const
|
|
256
|
-
return /* @__PURE__ */ i("th", { ...e, "aria-label":
|
|
298
|
+
const t = k.useContext(D), o = ve(l, m, t), r = o === void 0 ? R : ee[o], s = o === void 0 ? R : A[o];
|
|
299
|
+
return /* @__PURE__ */ i("th", { ...e, "aria-label": s, children: r });
|
|
257
300
|
},
|
|
258
|
-
...
|
|
301
|
+
...de
|
|
259
302
|
};
|
|
260
303
|
}
|
|
261
304
|
export {
|
|
262
|
-
|
|
305
|
+
Je as buildCalendarDayPickerComponents
|
|
263
306
|
};
|
|
@@ -6,7 +6,7 @@ import { CalendarProps } from './calendar.types';
|
|
|
6
6
|
import { WeekPickerInput } from './calendar-week-utils';
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
type DayPickerProps = React.ComponentProps<typeof DayPicker>;
|
|
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
|
+
export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFooter" | "showPeriodBoundaries" | "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"> {
|
|
10
10
|
pickerType: "date" | "week";
|
|
11
11
|
mode: NonNullable<CalendarProps["mode"]>;
|
|
12
12
|
weekMode: NonNullable<CalendarProps["weekMode"]>;
|
|
@@ -22,6 +22,7 @@ export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFoo
|
|
|
22
22
|
components?: CalendarProps["components"];
|
|
23
23
|
selected?: Date | Date[] | DateRange;
|
|
24
24
|
showFooter: boolean;
|
|
25
|
+
showPeriodBoundaries: boolean;
|
|
25
26
|
pendingSelection?: Date | Date[] | DateRange;
|
|
26
27
|
selectedDaysFromWeeks?: Date[];
|
|
27
28
|
currentMonth: Date;
|
|
@@ -49,5 +50,5 @@ export interface CalendarDayPickerViewProps extends Omit<CalendarProps, "showFoo
|
|
|
49
50
|
getCellMeta?: (date: Date) => import('../../../lib/fiscal-calendar').DateCellMeta | undefined;
|
|
50
51
|
formatWeekNumber: (weekNumber: number) => string;
|
|
51
52
|
}
|
|
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;
|
|
53
|
+
export declare function CalendarDayPickerView({ className, pickerType, mode, weekMode, calendarKind, granularity, showOutsideDays, fixedWeeks, captionLayout, buttonVariant, weekStartsOn, formatters, classNames, components, selected, showFooter, showPeriodBoundaries, 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, showWeekNumber, ...props }: CalendarDayPickerViewProps): import("react/jsx-runtime").JSX.Element;
|
|
53
54
|
export {};
|