impact-nova 2.5.10 → 2.5.12
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-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-config.js +1 -1
- package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +4 -2
- package/dist/components/data-display/calendar/calendar-day-picker-components.js +234 -164
- package/dist/components/data-display/calendar/calendar-day-picker-view.js +77 -76
- package/dist/components/data-display/calendar/calendar-fiscal-day-cell.d.ts +9 -0
- package/dist/components/data-display/calendar/calendar-fiscal-day-cell.js +45 -0
- 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-footer.js +21 -21
- package/dist/components/data-display/calendar/calendar-injected-week-row.d.ts +5 -0
- package/dist/components/data-display/calendar/calendar-injected-week-row.js +92 -0
- package/dist/components/data-display/calendar/calendar-leading-week.utils.d.ts +16 -0
- package/dist/components/data-display/calendar/calendar-leading-week.utils.js +51 -0
- package/dist/components/data-display/calendar/calendar-month-picker-panel.js +50 -49
- 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-orphan-week.d.ts +23 -0
- package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +3 -1
- package/dist/components/data-display/calendar/calendar-padding-week.utils.js +7 -5
- package/dist/components/data-display/calendar/calendar-period-cell.js +45 -46
- package/dist/components/data-display/calendar/calendar-quarter-panes.js +33 -31
- package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +10 -0
- package/dist/components/data-display/calendar/calendar-selection-appearance.js +53 -39
- package/dist/components/data-display/calendar/calendar-selection.d.ts +25 -0
- package/dist/components/data-display/calendar/calendar-selection.js +52 -23
- package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +2 -1
- package/dist/components/data-display/calendar/calendar-week-number-cell.js +59 -45
- package/dist/components/data-display/calendar/calendar-week-utils.d.ts +13 -3
- package/dist/components/data-display/calendar/calendar-week-utils.js +59 -50
- package/dist/components/data-display/calendar/calendar-year-panes.d.ts +3 -0
- package/dist/components/data-display/calendar/calendar-year-panes.js +53 -49
- package/dist/components/data-display/calendar/calendar.js +146 -143
- package/dist/components/data-display/calendar/calendar.types.d.ts +5 -0
- package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +2 -1
- package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +79 -74
- 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/forms/date-picker/date-picker.js +60 -58
- package/dist/components/forms/date-picker/date-picker.types.d.ts +5 -0
- package/dist/components/forms/date-picker/date-range-picker.js +66 -64
- package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +1 -0
- package/dist/components/forms/date-picker/fiscal-pass-through.js +3 -2
- package/dist/components/forms/date-picker/fiscal-picker-fixtures.d.ts +17 -0
- package/dist/components/forms/date-picker/month-picker.js +61 -59
- package/dist/components/forms/date-picker/month-range-picker.js +63 -61
- package/dist/components/forms/date-picker/multi-date-picker.js +51 -49
- package/dist/components/forms/date-picker/multi-month-picker.js +49 -47
- package/dist/components/forms/date-picker/multi-quarter-picker.js +51 -47
- package/dist/components/forms/date-picker/multi-week-picker.js +53 -51
- package/dist/components/forms/date-picker/multi-year-picker.js +53 -49
- package/dist/components/forms/date-picker/quarter-picker.js +51 -47
- package/dist/components/forms/date-picker/quarter-range-picker.js +50 -46
- package/dist/components/forms/date-picker/week-picker.js +68 -66
- package/dist/components/forms/date-picker/week-range-picker.js +82 -80
- package/dist/components/forms/date-picker/year-picker.js +52 -48
- package/dist/components/forms/date-picker/year-range-picker.js +52 -48
- 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 +35 -27
- package/dist/form-react/Fields/WeekRangePicker.js +33 -32
- package/dist/form-react/types/fields.types.d.ts +14 -0
- package/dist/impact-nova-components.css +13 -6
- package/dist/impact-nova.css +1 -1
- package/dist/lib/fiscal-calendar/week-selection.js +2 -2
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +1 -1
|
@@ -1,41 +1,49 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { Controller as
|
|
3
|
-
import { MultiWeekPicker as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { Controller as h } from "react-hook-form";
|
|
3
|
+
import { MultiWeekPicker as p } from "../../components/forms/date-picker/multi-week-picker.js";
|
|
4
|
+
import { fiscalCalendarPassThrough as f } from "../../components/forms/date-picker/fiscal-pass-through.js";
|
|
5
|
+
import { getFieldTestId as g } from "../utils/fieldTestIds.js";
|
|
6
|
+
import { toLocalDate as n } from "../utils/calendar-boundary.js";
|
|
7
|
+
const x = ({
|
|
7
8
|
field: e,
|
|
8
|
-
validationRules:
|
|
9
|
-
isDisabled:
|
|
9
|
+
validationRules: s,
|
|
10
|
+
isDisabled: u,
|
|
10
11
|
formHelpers: c
|
|
11
12
|
}) => {
|
|
12
13
|
const d = c.form.control, r = e.fieldType === "multi_week_picker" ? e : null;
|
|
13
|
-
return r ? /* @__PURE__ */
|
|
14
|
-
|
|
14
|
+
return r ? /* @__PURE__ */ a(
|
|
15
|
+
h,
|
|
15
16
|
{
|
|
16
17
|
name: e.id,
|
|
17
18
|
control: d,
|
|
18
|
-
rules:
|
|
19
|
-
render: ({ field: t, fieldState:
|
|
20
|
-
const
|
|
21
|
-
return /* @__PURE__ */
|
|
22
|
-
|
|
19
|
+
rules: s,
|
|
20
|
+
render: ({ field: t, fieldState: o }) => {
|
|
21
|
+
const i = !!o.error, l = t.value;
|
|
22
|
+
return /* @__PURE__ */ a("div", { "data-testid": g(e.id), children: /* @__PURE__ */ a(
|
|
23
|
+
p,
|
|
23
24
|
{
|
|
24
25
|
label: e.label,
|
|
25
|
-
value: Array.isArray(
|
|
26
|
-
onChange: (
|
|
27
|
-
t.onChange(
|
|
26
|
+
value: Array.isArray(l) ? l : void 0,
|
|
27
|
+
onChange: (m) => {
|
|
28
|
+
t.onChange(m ?? []);
|
|
28
29
|
},
|
|
29
30
|
placeholder: e.placeholder,
|
|
30
31
|
required: e.isRequired,
|
|
31
|
-
disabled:
|
|
32
|
-
error:
|
|
33
|
-
helperText:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
disabled: u,
|
|
33
|
+
error: i,
|
|
34
|
+
helperText: i ? o.error?.message : e.helpText,
|
|
35
|
+
minDate: n(r.minDate),
|
|
36
|
+
maxDate: n(r.maxDate),
|
|
37
|
+
...f({
|
|
38
|
+
calendarKind: r.calendarKind,
|
|
39
|
+
fiscalMode: r.fiscalMode,
|
|
40
|
+
granularity: r.granularity,
|
|
41
|
+
fiscalMonthPattern: r.fiscalMonthPattern,
|
|
42
|
+
fiscalYearStartMonth: r.fiscalYearStartMonth,
|
|
43
|
+
weekStartsOn: r.weekStartsOn,
|
|
44
|
+
showPeriodBoundaries: r.showPeriodBoundaries,
|
|
45
|
+
autoNavigateToAvailable: r.autoNavigateToAvailable
|
|
46
|
+
})
|
|
39
47
|
}
|
|
40
48
|
) });
|
|
41
49
|
}
|
|
@@ -43,5 +51,5 @@ const M = ({
|
|
|
43
51
|
) : null;
|
|
44
52
|
};
|
|
45
53
|
export {
|
|
46
|
-
|
|
54
|
+
x as MultiWeekPickerField
|
|
47
55
|
};
|
|
@@ -1,62 +1,63 @@
|
|
|
1
1
|
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
-
import { Controller as
|
|
3
|
-
import { WeekRangePicker as
|
|
4
|
-
import { toLocalDate as
|
|
5
|
-
import { resolveWeekSelection as
|
|
6
|
-
import { resolveWeekRangeMinMax as
|
|
7
|
-
const
|
|
8
|
-
calendarKind:
|
|
9
|
-
fiscalMode:
|
|
10
|
-
granularity:
|
|
11
|
-
fiscalMonthPattern:
|
|
12
|
-
fiscalYearStartMonth:
|
|
13
|
-
weekStartsOn:
|
|
2
|
+
import { Controller as b } from "react-hook-form";
|
|
3
|
+
import { WeekRangePicker as x } from "../../components/forms/date-picker/week-range-picker.js";
|
|
4
|
+
import { toLocalDate as M } from "../utils/calendar-boundary.js";
|
|
5
|
+
import { resolveWeekSelection as Y } from "../../lib/fiscal-calendar/week-selection.js";
|
|
6
|
+
import { resolveWeekRangeMinMax as $ } from "../utils/date.utils.js";
|
|
7
|
+
const f = (e, a) => Y(e, {
|
|
8
|
+
calendarKind: a.calendarKind,
|
|
9
|
+
fiscalMode: a.fiscalMode ?? "basic",
|
|
10
|
+
granularity: a.granularity,
|
|
11
|
+
fiscalMonthPattern: a.fiscalMonthPattern,
|
|
12
|
+
fiscalYearStartMonth: a.fiscalYearStartMonth ?? 1,
|
|
13
|
+
weekStartsOn: a.weekStartsOn ?? 1
|
|
14
14
|
}), C = ({
|
|
15
15
|
field: e,
|
|
16
|
-
validationRules:
|
|
17
|
-
isDisabled:
|
|
16
|
+
validationRules: a,
|
|
17
|
+
isDisabled: S,
|
|
18
18
|
formHelpers: d
|
|
19
19
|
}) => {
|
|
20
20
|
const t = e.fieldType === "week_range" ? e : null;
|
|
21
21
|
if (!t) return null;
|
|
22
|
-
const { minDate:
|
|
22
|
+
const { minDate: p, maxDate: u, startMonth: D, endMonth: k } = $(t), v = d.form.control;
|
|
23
23
|
return /* @__PURE__ */ c(
|
|
24
|
-
|
|
24
|
+
b,
|
|
25
25
|
{
|
|
26
26
|
name: e.id,
|
|
27
|
-
control:
|
|
28
|
-
rules:
|
|
29
|
-
render: ({ field:
|
|
30
|
-
const
|
|
27
|
+
control: v,
|
|
28
|
+
rules: a,
|
|
29
|
+
render: ({ field: w, fieldState: m }) => {
|
|
30
|
+
const h = !!m.error, r = w.value, s = r?.start ? M(r.start) ?? null : null, i = r?.end ? M(r.end) ?? null : null, F = !!(s && i);
|
|
31
31
|
return /* @__PURE__ */ c("div", { children: /* @__PURE__ */ c(
|
|
32
|
-
|
|
32
|
+
x,
|
|
33
33
|
{
|
|
34
34
|
label: e.label,
|
|
35
35
|
value: F && s && i ? {
|
|
36
|
-
from:
|
|
37
|
-
to:
|
|
36
|
+
from: f(s, t),
|
|
37
|
+
to: f(i, t)
|
|
38
38
|
} : void 0,
|
|
39
39
|
onChange: (o) => {
|
|
40
|
-
const
|
|
41
|
-
d.setValue(e.id, { start: P, end:
|
|
40
|
+
const g = o?.from ? { from: o.from, to: o.to ?? o.from } : void 0, n = g?.from?.startDate, l = g?.to?.endDate, P = n ? `${n.getFullYear()}-${String(n.getMonth() + 1).padStart(2, "0")}-${String(n.getDate()).padStart(2, "0")}` : null, T = l ? `${l.getFullYear()}-${String(l.getMonth() + 1).padStart(2, "0")}-${String(l.getDate()).padStart(2, "0")}` : null;
|
|
41
|
+
d.setValue(e.id, { start: P, end: T });
|
|
42
42
|
},
|
|
43
43
|
placeholder: t.placeholder,
|
|
44
|
-
startMonth:
|
|
45
|
-
endMonth:
|
|
44
|
+
startMonth: D,
|
|
45
|
+
endMonth: u ?? k,
|
|
46
46
|
required: e.isRequired,
|
|
47
|
-
disabled:
|
|
48
|
-
error:
|
|
49
|
-
helperText:
|
|
47
|
+
disabled: S,
|
|
48
|
+
error: h,
|
|
49
|
+
helperText: h ? m.error?.message : e.helpText,
|
|
50
50
|
calendarKind: t.calendarKind,
|
|
51
51
|
fiscalMode: t.fiscalMode,
|
|
52
52
|
weekStartsOn: t.weekStartsOn,
|
|
53
|
-
minDate:
|
|
54
|
-
maxDate:
|
|
53
|
+
minDate: p,
|
|
54
|
+
maxDate: u,
|
|
55
55
|
granularity: t.granularity,
|
|
56
56
|
fiscalMonthPattern: t.fiscalMonthPattern,
|
|
57
57
|
fiscalYearStartMonth: t.fiscalYearStartMonth,
|
|
58
58
|
showFooter: t.showFooter,
|
|
59
59
|
showPeriodBoundaries: t.showPeriodBoundaries,
|
|
60
|
+
autoNavigateToAvailable: t.autoNavigateToAvailable,
|
|
60
61
|
format: t.dateFormat
|
|
61
62
|
}
|
|
62
63
|
) });
|
|
@@ -162,6 +162,8 @@ export type DateInputField = BaseField & {
|
|
|
162
162
|
fiscalYearStartMonth?: number;
|
|
163
163
|
fiscalMonthPattern?: number[];
|
|
164
164
|
showPresets?: boolean;
|
|
165
|
+
/** When true, open on the first enabled day. Navigate only. */
|
|
166
|
+
autoNavigateToAvailable?: boolean;
|
|
165
167
|
};
|
|
166
168
|
export type DateRangeField = BaseField & {
|
|
167
169
|
fieldType: "date_range";
|
|
@@ -192,6 +194,8 @@ export type DateRangeField = BaseField & {
|
|
|
192
194
|
fiscalYearStartMonth?: number;
|
|
193
195
|
fiscalMonthPattern?: number[];
|
|
194
196
|
showPresets?: boolean;
|
|
197
|
+
/** When true, open on the first enabled day. Navigate only. */
|
|
198
|
+
autoNavigateToAvailable?: boolean;
|
|
195
199
|
};
|
|
196
200
|
export type WeekRangeField = BaseField & {
|
|
197
201
|
fieldType: "week_range";
|
|
@@ -224,6 +228,8 @@ export type WeekRangeField = BaseField & {
|
|
|
224
228
|
/** Latest week: week end of the week N weeks after the current week. */
|
|
225
229
|
maxWeeksOffset?: number;
|
|
226
230
|
dateFormat?: string;
|
|
231
|
+
/** When true, open on the first enabled week. Navigate only. */
|
|
232
|
+
autoNavigateToAvailable?: boolean;
|
|
227
233
|
};
|
|
228
234
|
export type MultiWeekRangeField = BaseField & {
|
|
229
235
|
fieldType: "multi_week_picker";
|
|
@@ -234,6 +240,10 @@ export type MultiWeekRangeField = BaseField & {
|
|
|
234
240
|
weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
235
241
|
granularity?: "day" | "week" | "period" | "quarter" | "year";
|
|
236
242
|
fiscalMonthPattern?: number[];
|
|
243
|
+
fiscalYearStartMonth?: number;
|
|
244
|
+
showPeriodBoundaries?: boolean;
|
|
245
|
+
/** When true, open on the first enabled week. Navigate only. */
|
|
246
|
+
autoNavigateToAvailable?: boolean;
|
|
237
247
|
};
|
|
238
248
|
export type MonthRangeField = BaseField & {
|
|
239
249
|
fieldType: "month_range";
|
|
@@ -262,6 +272,8 @@ export type MonthRangeField = BaseField & {
|
|
|
262
272
|
fiscalYearStartMonth?: number;
|
|
263
273
|
fiscalMonthPattern?: number[];
|
|
264
274
|
showPresets?: boolean;
|
|
275
|
+
/** When true, open on the first enabled month. Navigate only. */
|
|
276
|
+
autoNavigateToAvailable?: boolean;
|
|
265
277
|
};
|
|
266
278
|
export type MultiMonthPickerField = BaseField & {
|
|
267
279
|
fieldType: "multi_month_picker";
|
|
@@ -269,6 +281,8 @@ export type MultiMonthPickerField = BaseField & {
|
|
|
269
281
|
maxDate?: string;
|
|
270
282
|
startMonth?: string;
|
|
271
283
|
endMonth?: string;
|
|
284
|
+
/** When true, open on the first enabled month. Navigate only. */
|
|
285
|
+
autoNavigateToAvailable?: boolean;
|
|
272
286
|
};
|
|
273
287
|
export type TextAreaField = BaseField & {
|
|
274
288
|
fieldType: "text_area";
|
|
@@ -91,11 +91,24 @@
|
|
|
91
91
|
contain: inline-size;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
+
[data-component=calendar]:has([data-slot=year-panes]) {
|
|
95
|
+
width: 320px;
|
|
96
|
+
max-width: 320px;
|
|
97
|
+
}
|
|
98
|
+
|
|
94
99
|
[data-component=calendar][data-month-layout=dual] [data-slot=month-panes],
|
|
95
100
|
[data-component=calendar][data-month-layout=dual] [data-slot=quarter-panes] {
|
|
96
101
|
flex-direction: row;
|
|
97
102
|
}
|
|
98
103
|
|
|
104
|
+
[data-component=calendar][data-month-layout=dual] [data-slot=quarter-panes] {
|
|
105
|
+
width: auto;
|
|
106
|
+
min-width: 0;
|
|
107
|
+
max-width: none;
|
|
108
|
+
overflow: visible;
|
|
109
|
+
contain: none;
|
|
110
|
+
}
|
|
111
|
+
|
|
99
112
|
/* Fiscal period: one vertical gutter track + outer Sunday corners, not stacked left-pills. */
|
|
100
113
|
.calendar-interval-cap-start:not(.calendar-interval-cap-end) {
|
|
101
114
|
background-color: transparent;
|
|
@@ -440,12 +453,6 @@
|
|
|
440
453
|
border-bottom-right-radius: calc(var(--radius) + 4px);
|
|
441
454
|
}
|
|
442
455
|
|
|
443
|
-
[data-component=calendar][data-month-layout=dual] [data-slot=quarter-panes] {
|
|
444
|
-
width: auto;
|
|
445
|
-
min-width: 0;
|
|
446
|
-
max-width: none;
|
|
447
|
-
}
|
|
448
|
-
|
|
449
456
|
[data-component=calendar] [data-slot=month-pane-divider-group],
|
|
450
457
|
[data-component=calendar] [data-slot=quarter-pane-divider-group] {
|
|
451
458
|
display: flex;
|