impact-nova 2.5.18 → 2.5.19
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/expandable-list-item/expandable-list-item-attributes.js +3 -2
- package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +3 -2
- package/dist/components/data-display/calendar/calendar-quarter-utils.js +12 -12
- package/dist/components/data-display/calendar/calendar-year-utils.js +9 -9
- package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
- package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
- package/dist/components/flows/filter-panel/filter-panel.js +4 -4
- package/dist/components/forms/date-picker/multi-quarter-picker.js +87 -87
- package/dist/components/forms/date-picker/multi-year-picker.js +81 -81
- package/dist/components/forms/date-picker/quarter-range-picker.js +84 -84
- package/dist/components/forms/date-picker/year-range-picker.js +79 -79
- package/dist/components/forms/select/components/SelectTriggerValue.js +3 -2
- package/dist/components/forms/select/components/Submenu.js +3 -2
- package/dist/form-react/Fields/DateRangeField.js +25 -25
- package/dist/form-react/Fields/MonthRangeField.js +57 -57
- package/dist/form-react/Fields/MultiMonthPickerField.js +28 -26
- package/dist/form-react/Fields/MultiWeekPickerField.js +43 -41
- package/dist/form-react/Fields/MultiYearPickerField.js +45 -45
- package/dist/form-react/Fields/YearPickerField.js +27 -27
- package/dist/form-react/Fields/YearRangePickerField.js +29 -29
- package/dist/form-react/types/fields.types.d.ts +30 -0
- package/dist/form-react/utils/date.utils.d.ts +51 -2
- package/dist/form-react/utils/date.utils.js +195 -63
- package/dist/llms/rules/installation.js +1 -1
- package/dist/llms/rules/requirements.js +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,8 @@ import { Badge as s } from "../../data-display/badge/badge.js";
|
|
|
3
3
|
import { FilterPopoverContent as u } from "../../flows/filter-strip/filter-tag-list.js";
|
|
4
4
|
import { Popover as b, PopoverTrigger as f } from "../../feedback/popover/popover.js";
|
|
5
5
|
import { Tooltip as g, TooltipTrigger as v, TooltipContent as x } from "../../feedback/tooltip/tooltip.js";
|
|
6
|
-
|
|
6
|
+
import "react";
|
|
7
|
+
function I({
|
|
7
8
|
tags: o,
|
|
8
9
|
title: l = "Attributes",
|
|
9
10
|
maxVisibleTags: n = 4,
|
|
@@ -70,5 +71,5 @@ function w({
|
|
|
70
71
|
);
|
|
71
72
|
}
|
|
72
73
|
export {
|
|
73
|
-
|
|
74
|
+
I as ExpandableListItemAttributes
|
|
74
75
|
};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
2
|
import { ScrollOverflowAffordance as o } from "../../layout/horizontal-scroller/scroll-overflow-affordance.js";
|
|
3
|
+
import "react";
|
|
3
4
|
import { OverflowTooltip as r } from "../../feedback/tooltip/overflow-tooltip.js";
|
|
4
5
|
const m = 128;
|
|
5
|
-
function
|
|
6
|
+
function f({
|
|
6
7
|
columns: i,
|
|
7
8
|
sectionId: l = "metrics"
|
|
8
9
|
}) {
|
|
@@ -50,5 +51,5 @@ function x({
|
|
|
50
51
|
);
|
|
51
52
|
}
|
|
52
53
|
export {
|
|
53
|
-
|
|
54
|
+
f as ExpandableListItemMetrics
|
|
54
55
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { localDateFromCivil as m } from "../../../lib/fiscal-calendar/civil-date.js";
|
|
2
2
|
import { buildFiscalYear as Q } from "../../../lib/fiscal-calendar/build-year.js";
|
|
3
3
|
import { isDateIntervalDisabled as D } from "./calendar-month-utils.js";
|
|
4
|
-
function
|
|
4
|
+
function A(r) {
|
|
5
5
|
return r.fy ?? r.year;
|
|
6
6
|
}
|
|
7
7
|
function x(r) {
|
|
8
|
-
return r ? new Date(
|
|
8
|
+
return r ? new Date(A(r), 0, 1) : /* @__PURE__ */ new Date();
|
|
9
9
|
}
|
|
10
10
|
function u(r) {
|
|
11
11
|
return (r.fy ?? r.year) * 4 + r.quarter;
|
|
@@ -19,7 +19,7 @@ function c(r) {
|
|
|
19
19
|
function y(r, n, f) {
|
|
20
20
|
return r ? (r.fy ?? r.year) === n && r.quarter === f : !1;
|
|
21
21
|
}
|
|
22
|
-
function
|
|
22
|
+
function F(r, n, f) {
|
|
23
23
|
if (!c(f))
|
|
24
24
|
return { isStart: !1, isEnd: !1, isMiddle: !1 };
|
|
25
25
|
const s = f.from, t = f.to;
|
|
@@ -36,16 +36,16 @@ function A(r, n, f) {
|
|
|
36
36
|
isMiddle: a > i && a < o
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
|
-
function
|
|
39
|
+
function R(r, n, f) {
|
|
40
40
|
if (f === "single") return r;
|
|
41
41
|
if (f === "multiple") {
|
|
42
|
-
const t = n
|
|
42
|
+
const t = Array.isArray(n) ? n : [];
|
|
43
43
|
return t.some((i) => e(i, r)) ? t.filter((i) => !e(i, r)) : [...t, r];
|
|
44
44
|
}
|
|
45
45
|
const s = n;
|
|
46
46
|
return !s?.from || s.to ? { from: r } : e(r, s.from) ? s : u(r) < u(s.from) ? { from: r, to: s.from } : { from: s.from, to: r };
|
|
47
47
|
}
|
|
48
|
-
function
|
|
48
|
+
function b(r, n, f) {
|
|
49
49
|
if (!f) return !1;
|
|
50
50
|
const s = { year: r, quarter: n, fy: r };
|
|
51
51
|
if (Array.isArray(f))
|
|
@@ -68,7 +68,7 @@ function l(r, n) {
|
|
|
68
68
|
end: new Date(r, n * 3, 0, 23, 59, 59, 999)
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
function
|
|
71
|
+
function g(r, n, f, s) {
|
|
72
72
|
let t, a;
|
|
73
73
|
if (s?.calendarKind === "fiscal" && s.fiscalConfig)
|
|
74
74
|
try {
|
|
@@ -82,14 +82,14 @@ function b(r, n, f, s) {
|
|
|
82
82
|
return D(t, a, f);
|
|
83
83
|
}
|
|
84
84
|
export {
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
F as getQuarterRangeProps,
|
|
86
|
+
g as isQuarterDisabledForBounds,
|
|
87
87
|
y as isQuarterRangeEndpoint,
|
|
88
88
|
c as isQuarterRangeSelection,
|
|
89
|
-
|
|
89
|
+
b as isQuarterSelected,
|
|
90
90
|
e as isSameQuarter,
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
R as nextQuarterSelection,
|
|
92
|
+
A as quarterPaneYear,
|
|
93
93
|
u as quarterRank,
|
|
94
94
|
x as viewMonthFromQuarter
|
|
95
95
|
};
|
|
@@ -13,7 +13,7 @@ function e(r, f) {
|
|
|
13
13
|
function l(r) {
|
|
14
14
|
return !!(r && !Array.isArray(r) && ("from" in r || "to" in r));
|
|
15
15
|
}
|
|
16
|
-
function
|
|
16
|
+
function A(r, f) {
|
|
17
17
|
if (!l(f))
|
|
18
18
|
return { isStart: !1, isEnd: !1, isMiddle: !1 };
|
|
19
19
|
const i = f.from, t = f.to;
|
|
@@ -29,16 +29,16 @@ function w(r, f) {
|
|
|
29
29
|
isMiddle: r > s && r < o
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function w(r, f, i) {
|
|
33
33
|
if (i === "single") return r;
|
|
34
34
|
if (i === "multiple") {
|
|
35
|
-
const s = f
|
|
35
|
+
const s = Array.isArray(f) ? f : [];
|
|
36
36
|
return s.some((a) => e(a, r)) ? s.filter((a) => !e(a, r)) : [...s, r];
|
|
37
37
|
}
|
|
38
38
|
const t = f;
|
|
39
39
|
return !t?.from || t.to ? { from: r } : e(r, t.from) ? t : n(r) < n(t.from) ? { from: r, to: t.from } : { from: t.from, to: r };
|
|
40
40
|
}
|
|
41
|
-
function
|
|
41
|
+
function E(r, f) {
|
|
42
42
|
if (!f) return !1;
|
|
43
43
|
const i = { year: r, fy: r };
|
|
44
44
|
if (Array.isArray(f))
|
|
@@ -53,7 +53,7 @@ function F(r, f) {
|
|
|
53
53
|
}
|
|
54
54
|
return e(f, i) || f.year === r;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function F(r, f, i) {
|
|
57
57
|
let t = new Date(r, 0, 1), s = new Date(r, 11, 31, 23, 59, 59, 999);
|
|
58
58
|
if (i?.calendarKind === "fiscal" && i.fiscalConfig)
|
|
59
59
|
try {
|
|
@@ -64,12 +64,12 @@ function M(r, f, i) {
|
|
|
64
64
|
return u(t, s, f);
|
|
65
65
|
}
|
|
66
66
|
export {
|
|
67
|
-
|
|
67
|
+
A as getYearRangeProps,
|
|
68
68
|
e as isSameYear,
|
|
69
|
-
|
|
69
|
+
F as isYearDisabledForBounds,
|
|
70
70
|
l as isYearRangeSelection,
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
E as isYearSelectedForSelection,
|
|
72
|
+
w as nextYearSelection,
|
|
73
73
|
g as viewMonthFromYear,
|
|
74
74
|
n as yearKey
|
|
75
75
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsxs as t, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Tooltip as l, TooltipTrigger as n, TooltipContent as o } from "./tooltip.js";
|
|
3
|
-
|
|
3
|
+
import "react";
|
|
4
|
+
const p = (i, r, a) => /* @__PURE__ */ t(l, { children: [
|
|
4
5
|
/* @__PURE__ */ e(n, { asChild: !0, children: /* @__PURE__ */ e("span", { className: "inline-flex items-center justify-center h-full w-full", children: i }) }),
|
|
5
6
|
/* @__PURE__ */ e(o, { variant: "tertiary", className: a, children: r })
|
|
6
7
|
] }), h = (i, r) => /* @__PURE__ */ t(l, { children: [
|
|
@@ -9,5 +10,5 @@ const d = (i, r, a) => /* @__PURE__ */ t(l, { children: [
|
|
|
9
10
|
] });
|
|
10
11
|
export {
|
|
11
12
|
h as defaultAccordionTooltipRender,
|
|
12
|
-
|
|
13
|
+
p as defaultTabTooltipRender
|
|
13
14
|
};
|
|
@@ -2,17 +2,17 @@ import { jsx as r, jsxs as h, Fragment as z } from "react/jsx-runtime";
|
|
|
2
2
|
import * as o from "react";
|
|
3
3
|
import { Person as G, Monitor as U, PriorityAlert as q, Locked as O, Reset as B } from "impact-nova-icons";
|
|
4
4
|
import { cn as p } from "../../../lib/utils.js";
|
|
5
|
+
import { Kbd as $ } from "../../primitives/kbd/kbd.js";
|
|
6
|
+
import { keybindingToString as H } from "../../primitives/kbd/keybinding-display.js";
|
|
5
7
|
import { OverflowTooltip as A } from "../../feedback/tooltip/overflow-tooltip.js";
|
|
6
|
-
import { ModuleRegistry as
|
|
7
|
-
import { AllEnterpriseModule as
|
|
8
|
-
import { DataTable as
|
|
8
|
+
import { ModuleRegistry as V, AllCommunityModule as J } from "ag-grid-community";
|
|
9
|
+
import { AllEnterpriseModule as Q } from "ag-grid-enterprise";
|
|
10
|
+
import { DataTable as X, DataTableContent as Y } from "../../data/data-table/data-table.js";
|
|
9
11
|
import { AG_CELL_NO_PADDING as F } from "../../data/ag-grid-react/cell-renderers/index.js";
|
|
10
|
-
import { Kbd as X } from "../../primitives/kbd/kbd.js";
|
|
11
|
-
import { keybindingToString as Y } from "../../primitives/kbd/keybinding-display.js";
|
|
12
12
|
import { useCommandPalette as Z } from "./use-command-palette.js";
|
|
13
13
|
import { COMMAND_SOURCE_LABELS as m, keybindingFromEvent as W, isReservedShortcut as ee } from "./utils.js";
|
|
14
14
|
import { BadgeCellRenderer as te } from "../../data/ag-grid-react/cell-renderers/badge-cell-renderer.js";
|
|
15
|
-
|
|
15
|
+
V.registerModules([J, Q]);
|
|
16
16
|
function re(a) {
|
|
17
17
|
const t = a.data;
|
|
18
18
|
return t ? /* @__PURE__ */ h("div", { className: "flex items-center gap-2 min-w-0 h-full", children: [
|
|
@@ -69,7 +69,7 @@ function ne(a) {
|
|
|
69
69
|
"flex items-center justify-end h-full w-full text-end",
|
|
70
70
|
t.customisable ? "cursor-pointer" : "cursor-default opacity-70"
|
|
71
71
|
),
|
|
72
|
-
children: /* @__PURE__ */ r(
|
|
72
|
+
children: /* @__PURE__ */ r($, { keybinding: t.keybinding, size: "sm" })
|
|
73
73
|
}
|
|
74
74
|
) : t.customisable ? /* @__PURE__ */ r(
|
|
75
75
|
"button",
|
|
@@ -133,7 +133,7 @@ function le({
|
|
|
133
133
|
description: e.description || "",
|
|
134
134
|
category: e.category || "General",
|
|
135
135
|
keybinding: i,
|
|
136
|
-
keybindingDisplay: i ?
|
|
136
|
+
keybindingDisplay: i ? H(i) : "",
|
|
137
137
|
scope: e.scope,
|
|
138
138
|
source: D,
|
|
139
139
|
sourceColor: T ? "primary" : "neutral",
|
|
@@ -278,10 +278,10 @@ function le({
|
|
|
278
278
|
u?.type === "conflict" ? /* @__PURE__ */ r(q, { className: "h-3.5 w-3.5 shrink-0" }) : u?.type === "reserved" ? /* @__PURE__ */ r(O, { className: "h-3.5 w-3.5 shrink-0" }) : c ? /* @__PURE__ */ r("span", { className: "shrink-0 text-base", children: "⌨️" }) : null,
|
|
279
279
|
/* @__PURE__ */ r("span", { children: u ? u.text : L })
|
|
280
280
|
] }) : null;
|
|
281
|
-
return /* @__PURE__ */ h(
|
|
281
|
+
return /* @__PURE__ */ h(X, { className: p("flex flex-col w-full h-full border-t-0", a), children: [
|
|
282
282
|
s ? s(E) : E,
|
|
283
283
|
/* @__PURE__ */ r(
|
|
284
|
-
|
|
284
|
+
Y,
|
|
285
285
|
{
|
|
286
286
|
rowData: y,
|
|
287
287
|
columnDefs: I,
|
|
@@ -6,8 +6,8 @@ import { cn as o } from "../../../lib/utils.js";
|
|
|
6
6
|
import { MultiColorFilter as F, Cross as P, InfoBadge as u } from "impact-nova-icons";
|
|
7
7
|
import { Button as D } from "../../primitives/button/button.js";
|
|
8
8
|
import { Tooltip as c, TooltipTrigger as f, TooltipContent as h } from "../../feedback/tooltip/tooltip.js";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
9
|
+
import { Kbd as S } from "../../primitives/kbd/kbd.js";
|
|
10
|
+
import { OverflowTooltip as j } from "../../feedback/tooltip/overflow-tooltip.js";
|
|
11
11
|
import { useImpactNovaI18n as v } from "../../../i18n/use-impact-nova-i18n.js";
|
|
12
12
|
import { useOverlayHostDismissNestedLayersOnNavigation as I } from "../../../lib/overlay/overlay-portal-context.js";
|
|
13
13
|
import { preventDismissOnTooltipOutside as x } from "../../../lib/overlay/prevent-dismiss-on-tooltip-outside.js";
|
|
@@ -145,14 +145,14 @@ const O = ({
|
|
|
145
145
|
),
|
|
146
146
|
/* @__PURE__ */ a("div", { className: "flex items-center gap-1 min-w-0", children: [
|
|
147
147
|
/* @__PURE__ */ e(
|
|
148
|
-
|
|
148
|
+
j,
|
|
149
149
|
{
|
|
150
150
|
triggerClassName: "truncate font-['Manrope'] block min-w-0",
|
|
151
151
|
content: t.tooltipKeybinding ? /* @__PURE__ */ a("span", { className: "flex items-center gap-2", children: [
|
|
152
152
|
t.label,
|
|
153
153
|
" ",
|
|
154
154
|
/* @__PURE__ */ e(
|
|
155
|
-
|
|
155
|
+
S,
|
|
156
156
|
{
|
|
157
157
|
keybinding: t.tooltipKeybinding,
|
|
158
158
|
size: "sm"
|
|
@@ -1,119 +1,119 @@
|
|
|
1
|
-
import { jsx as r, jsxs as
|
|
1
|
+
import { jsx as r, jsxs as y } from "react/jsx-runtime";
|
|
2
2
|
import * as n from "react";
|
|
3
|
-
import { Cross as
|
|
4
|
-
import { cn as
|
|
5
|
-
import { Input as
|
|
6
|
-
import { Calendar as
|
|
3
|
+
import { Cross as $, CalendarMonth as ee } from "impact-nova-icons";
|
|
4
|
+
import { cn as te } from "../../../lib/utils.js";
|
|
5
|
+
import { Input as re } from "../input/input.js";
|
|
6
|
+
import { Calendar as ne } from "../../data-display/calendar/calendar.js";
|
|
7
7
|
import { Tooltip as M, TooltipTrigger as x, TooltipContent as b } from "../../feedback/tooltip/tooltip.js";
|
|
8
|
-
import { useImpactNovaI18n as
|
|
9
|
-
import { buildDateBoundsMatcher as
|
|
10
|
-
import { fiscalCalendarPassThrough as
|
|
11
|
-
import { DatePickerShell as
|
|
12
|
-
import { usePickerDismissActionsRef as ce, usePickerFooterDismissNudge as se, handleReadonlyPickerKeyDown as
|
|
13
|
-
import { formatQuarterInput as
|
|
8
|
+
import { useImpactNovaI18n as oe } from "../../../i18n/use-impact-nova-i18n.js";
|
|
9
|
+
import { buildDateBoundsMatcher as ae } from "../../../lib/date-bounds-matcher.js";
|
|
10
|
+
import { fiscalCalendarPassThrough as ie } from "./fiscal-pass-through.js";
|
|
11
|
+
import { DatePickerShell as le } from "./date-picker-shell.js";
|
|
12
|
+
import { usePickerDismissActionsRef as ce, usePickerFooterDismissNudge as se, handleReadonlyPickerKeyDown as ue, handlePickerSurfacePointerDown as pe } from "./date-input-behavior.js";
|
|
13
|
+
import { formatQuarterInput as de } from "../../data-display/calendar/calendar-fiscal-labels.js";
|
|
14
14
|
import { viewMonthFromQuarter as fe } from "../../data-display/calendar/calendar-quarter-utils.js";
|
|
15
|
-
const
|
|
15
|
+
const me = n.forwardRef(
|
|
16
16
|
({
|
|
17
|
-
value:
|
|
18
|
-
onChange:
|
|
19
|
-
placeholder:
|
|
20
|
-
minDate:
|
|
21
|
-
maxDate:
|
|
22
|
-
startMonth:
|
|
23
|
-
endMonth:
|
|
24
|
-
showFooter:
|
|
17
|
+
value: g,
|
|
18
|
+
onChange: p,
|
|
19
|
+
placeholder: Q,
|
|
20
|
+
minDate: R,
|
|
21
|
+
maxDate: D,
|
|
22
|
+
startMonth: A,
|
|
23
|
+
endMonth: N,
|
|
24
|
+
showFooter: c = !0,
|
|
25
25
|
disabled: o,
|
|
26
|
-
className:
|
|
26
|
+
className: S,
|
|
27
27
|
calendarKind: I,
|
|
28
28
|
fiscalMode: O,
|
|
29
29
|
granularity: T,
|
|
30
30
|
fiscalMonthPattern: w,
|
|
31
|
-
fiscalYearStartMonth:
|
|
32
|
-
fiscalConfig:
|
|
33
|
-
weekStartsOn:
|
|
34
|
-
showPresets:
|
|
35
|
-
showPeriodBoundaries:
|
|
36
|
-
autoNavigateToAvailable:
|
|
37
|
-
...
|
|
38
|
-
},
|
|
39
|
-
const { t: a } =
|
|
40
|
-
n.useImperativeHandle(
|
|
41
|
-
const [i,
|
|
31
|
+
fiscalYearStartMonth: K,
|
|
32
|
+
fiscalConfig: j,
|
|
33
|
+
weekStartsOn: F,
|
|
34
|
+
showPresets: z,
|
|
35
|
+
showPeriodBoundaries: E,
|
|
36
|
+
autoNavigateToAvailable: H,
|
|
37
|
+
...L
|
|
38
|
+
}, V) => {
|
|
39
|
+
const { t: a } = oe(), q = Q ?? a("datePicker.selectMultipleQuarters"), d = n.useRef(null), k = n.useRef(null);
|
|
40
|
+
n.useImperativeHandle(V, () => d.current);
|
|
41
|
+
const [i, l] = n.useState(!1), f = n.useRef(!1), P = ce(), { footerFlashKey: B, footerFlashTarget: G, popoverHandlers: J } = se(c, i, P, k), t = Array.isArray(g) ? g : void 0, [v, s] = n.useState(t), [U, W] = n.useState(fe(t?.[0]));
|
|
42
42
|
n.useEffect(() => {
|
|
43
|
-
i ||
|
|
43
|
+
i || s(t);
|
|
44
44
|
}, [i, t]);
|
|
45
|
-
const m = n.useCallback(() =>
|
|
45
|
+
const m = n.useCallback(() => l(!1), []), X = ie({
|
|
46
46
|
calendarKind: I,
|
|
47
47
|
fiscalMode: O,
|
|
48
48
|
granularity: T,
|
|
49
49
|
fiscalMonthPattern: w,
|
|
50
|
-
fiscalYearStartMonth:
|
|
51
|
-
fiscalConfig:
|
|
52
|
-
weekStartsOn:
|
|
53
|
-
showPresets:
|
|
54
|
-
showPeriodBoundaries:
|
|
55
|
-
autoNavigateToAvailable:
|
|
56
|
-
}),
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
},
|
|
60
|
-
|
|
50
|
+
fiscalYearStartMonth: K,
|
|
51
|
+
fiscalConfig: j,
|
|
52
|
+
weekStartsOn: F,
|
|
53
|
+
showPresets: z,
|
|
54
|
+
showPeriodBoundaries: E,
|
|
55
|
+
autoNavigateToAvailable: H
|
|
56
|
+
}), Y = (e) => {
|
|
57
|
+
const u = Array.isArray(e) && e.length > 0 ? e : void 0;
|
|
58
|
+
s(u), c || p?.(u);
|
|
59
|
+
}, Z = () => {
|
|
60
|
+
p?.(v), m();
|
|
61
61
|
}, h = () => {
|
|
62
|
-
|
|
62
|
+
s(t), m();
|
|
63
63
|
}, C = () => {
|
|
64
|
-
|
|
64
|
+
s(void 0), p?.(void 0), c || m();
|
|
65
65
|
};
|
|
66
66
|
n.useLayoutEffect(() => {
|
|
67
|
-
|
|
67
|
+
P.current = { onDismiss: h, resolveFlash: () => "cancel" };
|
|
68
68
|
});
|
|
69
|
-
const
|
|
69
|
+
const _ = t && t.length > 0 ? t.length === 1 ? de(t[0]) : a("datePicker.quartersSelected", { count: t.length }) : "";
|
|
70
70
|
return /* @__PURE__ */ r(
|
|
71
|
-
|
|
71
|
+
le,
|
|
72
72
|
{
|
|
73
73
|
open: i,
|
|
74
74
|
disabled: o,
|
|
75
75
|
ariaLabel: a("datePicker.selectMultipleQuarters"),
|
|
76
76
|
onOpenChange: (e) => {
|
|
77
|
-
o ||
|
|
77
|
+
o || l(e);
|
|
78
78
|
},
|
|
79
79
|
onOpenAutoFocus: (e) => {
|
|
80
|
-
|
|
80
|
+
f.current || e.preventDefault(), f.current = !1;
|
|
81
81
|
},
|
|
82
|
-
popoverHandlers:
|
|
82
|
+
popoverHandlers: J,
|
|
83
83
|
trigger: /* @__PURE__ */ r(
|
|
84
84
|
"div",
|
|
85
85
|
{
|
|
86
|
-
ref:
|
|
86
|
+
ref: k,
|
|
87
87
|
"data-component": "multi-quarter-picker",
|
|
88
88
|
"data-state": i ? "open" : "closed",
|
|
89
89
|
onPointerDown: (e) => pe({
|
|
90
90
|
disabled: o,
|
|
91
91
|
event: e,
|
|
92
|
-
onOpen: () =>
|
|
93
|
-
focusField: () =>
|
|
92
|
+
onOpen: () => l(!0),
|
|
93
|
+
focusField: () => d.current?.focus()
|
|
94
94
|
}),
|
|
95
95
|
children: /* @__PURE__ */ r(
|
|
96
|
-
|
|
96
|
+
re,
|
|
97
97
|
{
|
|
98
|
-
ref:
|
|
99
|
-
value:
|
|
98
|
+
ref: d,
|
|
99
|
+
value: _,
|
|
100
100
|
readOnly: !0,
|
|
101
|
-
onKeyDown: (e) =>
|
|
101
|
+
onKeyDown: (e) => ue(e, {
|
|
102
102
|
disabled: o,
|
|
103
103
|
open: i,
|
|
104
|
-
onOpen: () =>
|
|
104
|
+
onOpen: () => l(!0),
|
|
105
105
|
onCancel: h,
|
|
106
106
|
onKeyboardOpen: () => {
|
|
107
|
-
|
|
107
|
+
f.current = !0;
|
|
108
108
|
}
|
|
109
109
|
}),
|
|
110
|
-
onClick: () => !o &&
|
|
111
|
-
placeholder:
|
|
110
|
+
onClick: () => !o && l(!0),
|
|
111
|
+
placeholder: q,
|
|
112
112
|
disabled: o,
|
|
113
113
|
"data-form-control": "input",
|
|
114
|
-
className:
|
|
115
|
-
suffix: /* @__PURE__ */
|
|
116
|
-
t && t.length > 0 && !o ? /* @__PURE__ */
|
|
114
|
+
className: te("cursor-pointer", S),
|
|
115
|
+
suffix: /* @__PURE__ */ y("div", { className: "flex items-center gap-1", children: [
|
|
116
|
+
t && t.length > 0 && !o ? /* @__PURE__ */ y(M, { children: [
|
|
117
117
|
/* @__PURE__ */ r(x, { asChild: !0, children: /* @__PURE__ */ r(
|
|
118
118
|
"button",
|
|
119
119
|
{
|
|
@@ -124,12 +124,12 @@ const de = n.forwardRef(
|
|
|
124
124
|
e.stopPropagation(), C();
|
|
125
125
|
},
|
|
126
126
|
className: "inline-flex size-4 items-center justify-center border-none bg-transparent p-0",
|
|
127
|
-
children: /* @__PURE__ */ r(
|
|
127
|
+
children: /* @__PURE__ */ r($, { className: "size-3 hover:text-content" })
|
|
128
128
|
}
|
|
129
129
|
) }),
|
|
130
130
|
/* @__PURE__ */ r(b, { variant: "tertiary", side: "top", children: a("calendar.clear") })
|
|
131
131
|
] }) : null,
|
|
132
|
-
/* @__PURE__ */
|
|
132
|
+
/* @__PURE__ */ y(M, { children: [
|
|
133
133
|
/* @__PURE__ */ r(x, { asChild: !0, children: /* @__PURE__ */ r(
|
|
134
134
|
"button",
|
|
135
135
|
{
|
|
@@ -138,46 +138,46 @@ const de = n.forwardRef(
|
|
|
138
138
|
"data-component": "calendar-trigger",
|
|
139
139
|
"aria-label": a("datePicker.selectMultipleQuarters"),
|
|
140
140
|
onClick: (e) => {
|
|
141
|
-
e.stopPropagation(), o ||
|
|
141
|
+
e.stopPropagation(), o || l((u) => !u);
|
|
142
142
|
},
|
|
143
143
|
className: "inline-flex items-center justify-center border-none bg-transparent p-0",
|
|
144
|
-
children: /* @__PURE__ */ r(
|
|
144
|
+
children: /* @__PURE__ */ r(ee, { className: "h-4 w-4 text-secondary-foreground" })
|
|
145
145
|
}
|
|
146
146
|
) }),
|
|
147
147
|
/* @__PURE__ */ r(b, { variant: "tertiary", side: "top", children: a("datePicker.selectMultipleQuarters") })
|
|
148
148
|
] })
|
|
149
149
|
] }),
|
|
150
|
-
...
|
|
150
|
+
...L
|
|
151
151
|
}
|
|
152
152
|
)
|
|
153
153
|
}
|
|
154
154
|
),
|
|
155
155
|
children: /* @__PURE__ */ r(
|
|
156
|
-
|
|
156
|
+
ne,
|
|
157
157
|
{
|
|
158
158
|
pickerType: "quarter",
|
|
159
159
|
monthMode: "multiple",
|
|
160
|
-
selectedQuarters:
|
|
161
|
-
footerFlashKey:
|
|
162
|
-
footerFlashTarget:
|
|
163
|
-
onQuarterSelect:
|
|
164
|
-
month:
|
|
165
|
-
onMonthChange:
|
|
166
|
-
disabled:
|
|
167
|
-
startMonth:
|
|
168
|
-
endMonth:
|
|
169
|
-
showFooter:
|
|
170
|
-
onApply:
|
|
160
|
+
selectedQuarters: v,
|
|
161
|
+
footerFlashKey: B,
|
|
162
|
+
footerFlashTarget: G,
|
|
163
|
+
onQuarterSelect: Y,
|
|
164
|
+
month: U,
|
|
165
|
+
onMonthChange: W,
|
|
166
|
+
disabled: ae(R, D),
|
|
167
|
+
startMonth: A,
|
|
168
|
+
endMonth: N,
|
|
169
|
+
showFooter: c,
|
|
170
|
+
onApply: Z,
|
|
171
171
|
onCancel: h,
|
|
172
172
|
onClear: C,
|
|
173
|
-
...
|
|
173
|
+
...X
|
|
174
174
|
}
|
|
175
175
|
)
|
|
176
176
|
}
|
|
177
177
|
);
|
|
178
178
|
}
|
|
179
179
|
);
|
|
180
|
-
|
|
180
|
+
me.displayName = "MultiQuarterPicker";
|
|
181
181
|
export {
|
|
182
|
-
|
|
182
|
+
me as MultiQuarterPicker
|
|
183
183
|
};
|