impact-nova 1.5.14 → 1.6.0
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/ui/accordion.d.ts +4 -1
- package/dist/components/ui/accordion.js +28 -22
- package/dist/components/ui/ag-grid-react/cell-renderers/badge-cell-renderer.js +11 -11
- package/dist/components/ui/ag-grid-react/cell-renderers/checkbox-display-renderer.js +12 -12
- package/dist/components/ui/ag-grid-react/cell-renderers/date-display-renderer.js +13 -13
- package/dist/components/ui/ag-grid-react/cell-renderers/editors/date-cell-editor.js +13 -13
- package/dist/components/ui/ag-grid-react/cell-renderers/editors/input-cell-editor.js +30 -30
- package/dist/components/ui/ag-grid-react/cell-renderers/editors/percent-progress-cell-editor.js +13 -13
- package/dist/components/ui/ag-grid-react/cell-renderers/editors/split-cell-editor.js +16 -16
- package/dist/components/ui/ag-grid-react/cell-renderers/editors/textarea-cell-editor.js +17 -17
- package/dist/components/ui/ag-grid-react/cell-renderers/input-display-renderer.js +11 -11
- package/dist/components/ui/ag-grid-react/cell-renderers/link-with-batch-cell-renderer.js +2 -2
- package/dist/components/ui/ag-grid-react/cell-renderers/percent-progress-display-renderer.js +11 -13
- package/dist/components/ui/ag-grid-react/cell-renderers/select-display-renderer.js +8 -8
- package/dist/components/ui/ag-grid-react/cell-renderers/split-cell-renderer.js +6 -6
- package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.d.ts +1 -1
- package/dist/components/ui/ag-grid-react/cell-renderers/status-badge-renderer.js +14 -14
- package/dist/components/ui/ag-grid-react/cell-renderers/switch-display-renderer.js +18 -18
- package/dist/components/ui/ag-grid-react/cell-renderers/textarea-display-renderer.js +6 -6
- package/dist/components/ui/ag-grid-react/headers/advanced-filter/advanced-filter-dialog.js +14 -14
- package/dist/components/ui/ag-grid-react/headers/advanced-filter/column-filter-section.js +35 -35
- package/dist/components/ui/ag-grid-react/headers/column-menu/column-settings-menu.js +49 -49
- package/dist/components/ui/ag-grid-react/headers/components/header-info.js +29 -29
- package/dist/components/ui/ag-grid-react/headers/components/info-modal.js +9 -9
- package/dist/components/ui/ag-grid-react/headers/components/section-renderers.js +20 -20
- package/dist/components/ui/ag-grid-react/headers/custom-header-group.js +10 -10
- package/dist/components/ui/ag-grid-react/headers/custom-header.js +76 -76
- package/dist/components/ui/ag-grid-react/headers/header-search-input.js +118 -118
- package/dist/components/ui/ag-grid-react/index.js +121 -102
- package/dist/components/ui/alert-dialog.js +6 -6
- package/dist/components/ui/alert.d.ts +4 -3
- package/dist/components/ui/alert.js +182 -64
- package/dist/components/ui/avatar.js +5 -5
- package/dist/components/ui/badge.d.ts +7 -2
- package/dist/components/ui/badge.js +105 -32
- package/dist/components/ui/breadcrumb.js +26 -21
- package/dist/components/ui/button-group.d.ts +7 -0
- package/dist/components/ui/button-group.js +116 -91
- package/dist/components/ui/button-variants.d.ts +7 -2
- package/dist/components/ui/button-variants.js +31 -16
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/button.js +10 -10
- package/dist/components/ui/calendar.js +185 -184
- package/dist/components/ui/card.js +24 -24
- package/dist/components/ui/chart/chart.js +27 -27
- package/dist/components/ui/chart/chart.utils.js +50 -50
- package/dist/components/ui/checkbox.js +22 -22
- package/dist/components/ui/chips.d.ts +19 -3
- package/dist/components/ui/chips.js +140 -41
- package/dist/components/ui/command-palette/command-palette-layout.d.ts +28 -0
- package/dist/components/ui/command-palette/command-palette-layout.js +59 -0
- package/dist/components/ui/command-palette/command-palette.js +254 -264
- package/dist/components/ui/command-palette/index.d.ts +1 -1
- package/dist/components/ui/command-palette/index.js +42 -41
- package/dist/components/ui/command-palette/kbd.js +18 -18
- package/dist/components/ui/command-palette/shortcut-settings.d.ts +3 -3
- package/dist/components/ui/command-palette/shortcut-settings.js +105 -111
- package/dist/components/ui/command-palette/utils.d.ts +6 -1
- package/dist/components/ui/command-palette/utils.js +81 -74
- package/dist/components/ui/data-table/data-table-column-list.js +31 -31
- package/dist/components/ui/data-table/data-table-constants.d.ts +6 -0
- package/dist/components/ui/data-table/data-table-constants.js +4 -0
- package/dist/components/ui/data-table/data-table-context.d.ts +4 -0
- package/dist/components/ui/data-table/data-table-format-options.js +35 -35
- package/dist/components/ui/data-table/data-table-sheet.d.ts +4 -4
- package/dist/components/ui/data-table/data-table-sheet.js +91 -58
- package/dist/components/ui/data-table/data-table-view-options.js +29 -29
- package/dist/components/ui/data-table/data-table.js +84 -52
- package/dist/components/ui/data-table/index.d.ts +1 -0
- package/dist/components/ui/data-table/index.js +15 -13
- package/dist/components/ui/date-picker/date-picker.js +35 -35
- package/dist/components/ui/date-picker/date-range-picker.js +166 -164
- package/dist/components/ui/date-picker/month-picker.js +14 -14
- package/dist/components/ui/date-picker/month-range-picker.js +198 -189
- package/dist/components/ui/date-picker/multi-date-picker.js +14 -14
- package/dist/components/ui/date-picker/multi-month-picker.js +1 -1
- package/dist/components/ui/date-picker/multi-week-picker.js +1 -1
- package/dist/components/ui/date-picker/week-picker.js +2 -2
- package/dist/components/ui/date-picker/week-range-picker.js +164 -162
- package/dist/components/ui/dialog.js +25 -28
- package/dist/components/ui/drawer.js +40 -40
- package/dist/components/ui/dropdown-menu.js +72 -72
- package/dist/components/ui/empty-container.js +73 -69
- package/dist/components/ui/file-upload.js +137 -135
- package/dist/components/ui/filter-panel/filter-panel.d.ts +2 -2
- package/dist/components/ui/filter-panel/filter-panel.js +175 -97
- package/dist/components/ui/filter-strip/filter-strip.d.ts +1 -1
- package/dist/components/ui/filter-strip/filter-strip.js +63 -50
- package/dist/components/ui/filter-strip/filter-summary.d.ts +4 -1
- package/dist/components/ui/filter-strip/filter-summary.js +230 -146
- package/dist/components/ui/filter-strip/filter-tag-list.js +125 -91
- package/dist/components/ui/header.d.ts +7 -3
- package/dist/components/ui/header.js +87 -79
- package/dist/components/ui/horizontal-scroller/horizontal-scroller.js +44 -44
- package/dist/components/ui/hover-card.js +10 -10
- package/dist/components/ui/input.js +79 -70
- package/dist/components/ui/loader.js +16 -16
- package/dist/components/ui/nested-list/components/NestedListCategoryFilters.js +16 -16
- package/dist/components/ui/nested-list/components/NestedListHeader.js +27 -27
- package/dist/components/ui/nested-list/components/SortableItem.js +58 -58
- package/dist/components/ui/notification-panel/notification-item.js +32 -32
- package/dist/components/ui/notification-panel/notification-list.js +24 -24
- package/dist/components/ui/notification-panel/notification-panel.js +26 -26
- package/dist/components/ui/popover.js +22 -22
- package/dist/components/ui/progress.js +34 -34
- package/dist/components/ui/prompt.js +48 -48
- package/dist/components/ui/radio-group.js +63 -54
- package/dist/components/ui/select/components/LabelWithSequence.js +6 -6
- package/dist/components/ui/select/components/Submenu.js +33 -33
- package/dist/components/ui/select/select.js +425 -376
- package/dist/components/ui/sheet.js +88 -66
- package/dist/components/ui/sidebar.js +342 -296
- package/dist/components/ui/skeleton.js +6 -6
- package/dist/components/ui/slider.js +17 -17
- package/dist/components/ui/statistics-card.d.ts +86 -0
- package/dist/components/ui/statistics-card.hooks.d.ts +150 -0
- package/dist/components/ui/statistics-card.hooks.js +100 -0
- package/dist/components/ui/statistics-card.js +259 -0
- package/dist/components/ui/stepper.js +51 -51
- package/dist/components/ui/switch.js +7 -7
- package/dist/components/ui/tabs.js +70 -70
- package/dist/components/ui/tag-group.d.ts +1 -0
- package/dist/components/ui/tag-group.js +14 -13
- package/dist/components/ui/tag.js +43 -43
- package/dist/components/ui/textarea.js +86 -58
- package/dist/components/ui/toast.js +39 -39
- package/dist/components/ui/tooltip.js +23 -23
- package/dist/components/ui/types/date-picker.types.d.ts +1 -0
- package/dist/components/ui/types/filter-panel.types.d.ts +3 -0
- package/dist/components/ui/types/filter-strip.types.d.ts +14 -0
- package/dist/components/ui/types/horizontal-scroller.types.d.ts +1 -1
- package/dist/components/ui/types/statistics-card.types.d.ts +1 -0
- package/dist/i18n/defaultMessages.d.ts +8 -0
- package/dist/i18n/defaultMessages.js +15 -9
- package/dist/i18n/locales/de.js +7 -1
- package/dist/i18n/locales/es.js +7 -1
- package/dist/i18n/locales/hi.js +7 -1
- package/dist/i18n/locales/kn.js +7 -1
- package/dist/icons/assets/bulk-edit.svg.js +5 -0
- package/dist/icons/assets/clock.svg.js +5 -0
- package/dist/icons/assets/statistics.svg.js +5 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/icons/index.js +254 -206
- package/dist/impact-nova.css +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +361 -347
- package/package.json +3 -2
- package/tailwind.config.js +259 -152
- /package/dist/icons/assets/{PivotMode.svg.js → pivotMode.svg.js} +0 -0
|
@@ -2,14 +2,15 @@ import { jsxs as C, jsx as c } from "react/jsx-runtime";
|
|
|
2
2
|
import * as u from "react";
|
|
3
3
|
import { ChevronLeftIcon as we, ChevronRightIcon as ye } from "lucide-react";
|
|
4
4
|
import { getDefaultClassNames as Fe, DayPicker as He } from "react-day-picker";
|
|
5
|
-
import { cn as
|
|
5
|
+
import { cn as d } from "../../lib/utils.js";
|
|
6
6
|
import { Button as A } from "./button.js";
|
|
7
|
+
import "./button-variants.js";
|
|
7
8
|
import ce from "./select/select.js";
|
|
8
9
|
import { FISCAL_PATTERNS as Be, resolveWeekSelection as Te } from "../../lib/fiscal-calendar.js";
|
|
9
10
|
import { getIntlLocale as We, getDateFnsLocale as qe } from "../../i18n/getDateFnsLocale.js";
|
|
10
11
|
import { useImpactNovaI18n as Ge } from "../../i18n/ImpactNovaI18nContext.js";
|
|
11
|
-
const
|
|
12
|
-
function
|
|
12
|
+
const de = u.createContext(0);
|
|
13
|
+
function st({
|
|
13
14
|
className: ae,
|
|
14
15
|
classNames: J,
|
|
15
16
|
showOutsideDays: D = !1,
|
|
@@ -20,24 +21,24 @@ function at({
|
|
|
20
21
|
showFooter: x = !0,
|
|
21
22
|
onApply: X,
|
|
22
23
|
onCancel: ue,
|
|
23
|
-
onClear:
|
|
24
|
+
onClear: fe,
|
|
24
25
|
mode: B = "single",
|
|
25
|
-
selected:
|
|
26
|
+
selected: b,
|
|
26
27
|
onSelect: P,
|
|
27
28
|
// Week picker props
|
|
28
|
-
pickerType:
|
|
29
|
+
pickerType: f = "date",
|
|
29
30
|
weekMode: w = "single",
|
|
30
31
|
selectedWeeks: _,
|
|
31
32
|
onWeekSelect: S,
|
|
32
33
|
calendarType: k = "calendar",
|
|
33
34
|
fiscalMode: Z = "basic",
|
|
34
35
|
selectionMode: se = "week",
|
|
35
|
-
fiscalMonthPattern:
|
|
36
|
+
fiscalMonthPattern: oe,
|
|
36
37
|
fiscalYearStartMonth: me = 1,
|
|
37
38
|
weekStartsOn: T = 1,
|
|
38
39
|
// Default Monday
|
|
39
40
|
// Month picker props
|
|
40
|
-
monthMode:
|
|
41
|
+
monthMode: v = "single",
|
|
41
42
|
selectedMonths: y,
|
|
42
43
|
onMonthSelect: N,
|
|
43
44
|
month: E,
|
|
@@ -61,32 +62,32 @@ function at({
|
|
|
61
62
|
[W]
|
|
62
63
|
), ee = u.useMemo(() => {
|
|
63
64
|
if (k === "fiscal") {
|
|
64
|
-
if (
|
|
65
|
+
if (oe) return oe;
|
|
65
66
|
if (Z === "advanced") return Be["4-4-5"];
|
|
66
67
|
}
|
|
67
|
-
}, [k, Z,
|
|
68
|
+
}, [k, Z, oe]), g = Fe(), je = u.useMemo(() => new Date(1900, 0, 1), []), Ae = u.useMemo(() => new Date(2100, 11, 31), []), z = _e || je, R = Se || Ae, [q, te] = u.useState(b), [Y, be] = u.useState(() => {
|
|
68
69
|
if (E) return E;
|
|
69
70
|
if (ge) return ge;
|
|
70
|
-
if (
|
|
71
|
-
if (Array.isArray(
|
|
72
|
-
return
|
|
73
|
-
if (
|
|
74
|
-
return
|
|
75
|
-
if ("from" in
|
|
76
|
-
return
|
|
71
|
+
if (b) {
|
|
72
|
+
if (Array.isArray(b))
|
|
73
|
+
return b[0] || /* @__PURE__ */ new Date();
|
|
74
|
+
if (b instanceof Date)
|
|
75
|
+
return b;
|
|
76
|
+
if ("from" in b && b.from)
|
|
77
|
+
return b.from;
|
|
77
78
|
}
|
|
78
79
|
return /* @__PURE__ */ new Date();
|
|
79
80
|
});
|
|
80
81
|
u.useEffect(() => {
|
|
81
|
-
E && (
|
|
82
|
+
E && (be(E), ve(E.getFullYear()));
|
|
82
83
|
}, [E]);
|
|
83
|
-
const [O, ne] = u.useState(_), [j, re] = u.useState(y), [ke,
|
|
84
|
+
const [O, ne] = u.useState(_), [j, re] = u.useState(y), [ke, ve] = u.useState(Y.getFullYear());
|
|
84
85
|
u.useEffect(() => {
|
|
85
|
-
te(
|
|
86
|
-
}, [
|
|
86
|
+
te(b), ne(_), re(y);
|
|
87
|
+
}, [b, _, y]);
|
|
87
88
|
const L = (e) => {
|
|
88
|
-
|
|
89
|
-
},
|
|
89
|
+
be(e), ve(e.getFullYear()), Ce?.(e);
|
|
90
|
+
}, le = u.useCallback((e) => {
|
|
90
91
|
let n;
|
|
91
92
|
return e instanceof Date ? n = e : n = e.days.find((t) => !t.outside)?.date || e.days[0]?.date || /* @__PURE__ */ new Date(), Te(n, {
|
|
92
93
|
calendarType: k,
|
|
@@ -111,8 +112,8 @@ function at({
|
|
|
111
112
|
if (!a?.from || a.to)
|
|
112
113
|
r = { from: e };
|
|
113
114
|
else {
|
|
114
|
-
const
|
|
115
|
-
e.startDate < a.from.startDate && (
|
|
115
|
+
const o = { from: a.from, to: e };
|
|
116
|
+
e.startDate < a.from.startDate && (o.from = e, o.to = a.from), r = o;
|
|
116
117
|
}
|
|
117
118
|
}
|
|
118
119
|
return S?.(r), r;
|
|
@@ -120,7 +121,7 @@ function at({
|
|
|
120
121
|
else if (w === "single")
|
|
121
122
|
S?.(e);
|
|
122
123
|
else if (w === "multiple") {
|
|
123
|
-
const t = _ || [], a = t.some((
|
|
124
|
+
const t = _ || [], a = t.some((o) => n(o, e)) ? t.filter((o) => !n(o, e)) : [...t, e];
|
|
124
125
|
S?.(a.length > 0 ? a : void 0);
|
|
125
126
|
} else if (w === "range") {
|
|
126
127
|
const t = _;
|
|
@@ -132,41 +133,41 @@ function at({
|
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
135
|
}, [w, x, _, S]), ze = u.useCallback((e, n) => {
|
|
135
|
-
const t = { year: e, month: n }, r = (a,
|
|
136
|
+
const t = { year: e, month: n }, r = (a, o) => a.year === o.year && a.month === o.month;
|
|
136
137
|
if (x)
|
|
137
138
|
re((a) => {
|
|
138
|
-
let
|
|
139
|
-
if (
|
|
140
|
-
|
|
141
|
-
else if (
|
|
139
|
+
let o;
|
|
140
|
+
if (v === "single")
|
|
141
|
+
o = t;
|
|
142
|
+
else if (v === "multiple") {
|
|
142
143
|
const s = a || [];
|
|
143
|
-
|
|
144
|
-
} else if (
|
|
144
|
+
o = s.some((i) => r(i, t)) ? s.filter((i) => !r(i, t)) : [...s, t];
|
|
145
|
+
} else if (v === "range") {
|
|
145
146
|
const s = a;
|
|
146
147
|
if (!s?.from || s.to)
|
|
147
|
-
|
|
148
|
+
o = { from: t };
|
|
148
149
|
else {
|
|
149
|
-
const
|
|
150
|
-
new Date(t.year, t.month, 1) <
|
|
150
|
+
const l = new Date(s.from.year, s.from.month, 1);
|
|
151
|
+
new Date(t.year, t.month, 1) < l ? o = { from: t, to: s.from } : o = { from: s.from, to: t };
|
|
151
152
|
}
|
|
152
153
|
}
|
|
153
|
-
return N?.(
|
|
154
|
+
return N?.(o), o;
|
|
154
155
|
});
|
|
155
|
-
else if (
|
|
156
|
+
else if (v === "single")
|
|
156
157
|
N?.(t);
|
|
157
|
-
else if (
|
|
158
|
-
const a = y || [], s = a.some((
|
|
158
|
+
else if (v === "multiple") {
|
|
159
|
+
const a = y || [], s = a.some((l) => r(l, t)) ? a.filter((l) => !r(l, t)) : [...a, t];
|
|
159
160
|
N?.(s.length > 0 ? s : void 0);
|
|
160
|
-
} else if (
|
|
161
|
+
} else if (v === "range") {
|
|
161
162
|
const a = y;
|
|
162
163
|
if (!a?.from || a.to)
|
|
163
164
|
N?.({ from: t });
|
|
164
165
|
else {
|
|
165
|
-
const
|
|
166
|
-
new Date(t.year, t.month, 1) <
|
|
166
|
+
const o = new Date(a.from.year, a.from.month, 1);
|
|
167
|
+
new Date(t.year, t.month, 1) < o ? N?.({ from: t, to: a.from }) : N?.({ from: a.from, to: t });
|
|
167
168
|
}
|
|
168
169
|
}
|
|
169
|
-
}, [
|
|
170
|
+
}, [v, x, y, N]), pe = u.useCallback(() => {
|
|
170
171
|
const e = z.getFullYear(), n = R.getFullYear(), t = [];
|
|
171
172
|
for (let r = e; r <= n; r++)
|
|
172
173
|
t.push({ label: r.toString(), value: r.toString() });
|
|
@@ -178,14 +179,14 @@ function at({
|
|
|
178
179
|
const a = new Date(e, r, 1);
|
|
179
180
|
return !(z && a < new Date(z.getFullYear(), z.getMonth(), 1) || R && a > new Date(R.getFullYear(), R.getMonth(), 1));
|
|
180
181
|
}), [z, R, xe]), G = u.useMemo(() => {
|
|
181
|
-
if (
|
|
182
|
+
if (f !== "week") return;
|
|
182
183
|
const e = x ? O : _;
|
|
183
184
|
if (!e) return;
|
|
184
185
|
const n = [], t = (r) => {
|
|
185
186
|
let a = new Date(r.startDate);
|
|
186
187
|
a.setHours(0, 0, 0, 0);
|
|
187
|
-
const
|
|
188
|
-
for (
|
|
188
|
+
const o = new Date(r.endDate);
|
|
189
|
+
for (o.setHours(0, 0, 0, 0); a <= o; )
|
|
189
190
|
n.push(new Date(a)), a.setDate(a.getDate() + 1);
|
|
190
191
|
};
|
|
191
192
|
if (Array.isArray(e))
|
|
@@ -204,48 +205,48 @@ function at({
|
|
|
204
205
|
} else
|
|
205
206
|
t(e);
|
|
206
207
|
return n;
|
|
207
|
-
}, [
|
|
208
|
-
if (
|
|
208
|
+
}, [f, x, O, _]), Le = u.useMemo(() => {
|
|
209
|
+
if (f !== "week" || !G || G.length === 0)
|
|
209
210
|
return { range_start: [], range_middle: [], range_end: [] };
|
|
210
|
-
const e = [...G].sort((s,
|
|
211
|
-
if (
|
|
212
|
-
const i = e[
|
|
211
|
+
const e = [...G].sort((s, l) => s.getTime() - l.getTime()), n = [], t = [], r = [], a = (s, l) => {
|
|
212
|
+
if (l === 0) return !1;
|
|
213
|
+
const i = e[l - 1];
|
|
213
214
|
return s.getTime() - i.getTime() <= 1440 * 60 * 1e3;
|
|
214
|
-
},
|
|
215
|
-
return e.forEach((s,
|
|
216
|
-
const i = a(s,
|
|
215
|
+
}, o = (s, l) => l === e.length - 1 ? !1 : e[l + 1].getTime() - s.getTime() <= 1440 * 60 * 1e3;
|
|
216
|
+
return e.forEach((s, l) => {
|
|
217
|
+
const i = a(s, l), h = o(s, l);
|
|
217
218
|
!i && !h ? (n.push(s), r.push(s)) : i ? h ? t.push(s) : r.push(s) : n.push(s);
|
|
218
219
|
}), {
|
|
219
220
|
range_start: n,
|
|
220
221
|
range_middle: t,
|
|
221
222
|
range_end: r
|
|
222
223
|
};
|
|
223
|
-
}, [
|
|
224
|
-
if (
|
|
224
|
+
}, [f, G]), Ie = u.useCallback((e) => {
|
|
225
|
+
if (f === "week" && e) {
|
|
225
226
|
const n = Array.isArray(e) ? e[e.length - 1] : e instanceof Date ? e : void 0;
|
|
226
227
|
if (n) {
|
|
227
|
-
const t =
|
|
228
|
+
const t = le(n);
|
|
228
229
|
ie(t);
|
|
229
230
|
return;
|
|
230
231
|
}
|
|
231
232
|
}
|
|
232
233
|
x && te(e), P?.(e);
|
|
233
|
-
}, [x, P,
|
|
234
|
-
|
|
235
|
-
}, [q, O, j, P, S, N, X,
|
|
236
|
-
|
|
237
|
-
}, [
|
|
238
|
-
|
|
239
|
-
}, [x, P, S, N,
|
|
234
|
+
}, [x, P, f, le, ie]), Pe = u.useCallback(() => {
|
|
235
|
+
f === "week" ? (S?.(O), X?.(O)) : f === "month" ? (N?.(j), X?.(j)) : (P?.(q), X?.(q));
|
|
236
|
+
}, [q, O, j, P, S, N, X, f]), $e = u.useCallback(() => {
|
|
237
|
+
f === "week" ? ne(_) : f === "month" ? re(y) : te(b), ue?.();
|
|
238
|
+
}, [b, _, y, ue, f]), Ee = u.useCallback(() => {
|
|
239
|
+
f === "week" ? (ne(void 0), x || S?.(void 0)) : f === "month" ? (re(void 0), x || N?.(void 0)) : (te(void 0), x || P?.(void 0)), fe?.();
|
|
240
|
+
}, [x, P, S, N, fe, f]), Oe = u.useCallback((e, n) => {
|
|
240
241
|
const t = x ? j : y;
|
|
241
242
|
if (!t) return !1;
|
|
242
243
|
if (Array.isArray(t))
|
|
243
244
|
return t.some((r) => r.year === e && r.month === n);
|
|
244
245
|
if ("from" in t) {
|
|
245
|
-
const r = t, a = r.from,
|
|
246
|
-
if (!
|
|
247
|
-
const i = new Date(
|
|
248
|
-
return s >=
|
|
246
|
+
const r = t, a = r.from, o = r.to, s = new Date(e, n, 1).getTime(), l = new Date(a.year, a.month, 1).getTime();
|
|
247
|
+
if (!o) return s === l;
|
|
248
|
+
const i = new Date(o.year, o.month, 1).getTime();
|
|
249
|
+
return s >= l && s <= i;
|
|
249
250
|
} else {
|
|
250
251
|
const r = t;
|
|
251
252
|
return r.year === e && r.month === n;
|
|
@@ -253,13 +254,13 @@ function at({
|
|
|
253
254
|
}, [x, j, y]), Ue = u.useCallback((e, n) => {
|
|
254
255
|
const t = x ? j : y;
|
|
255
256
|
if (!t || !("from" in t)) return { isStart: !1, isEnd: !1, isMiddle: !1 };
|
|
256
|
-
const r = t, a = r.from,
|
|
257
|
-
if (!
|
|
258
|
-
const i = new Date(
|
|
257
|
+
const r = t, a = r.from, o = r.to, s = new Date(e, n, 1).getTime(), l = new Date(a.year, a.month, 1).getTime();
|
|
258
|
+
if (!o) return { isStart: s === l, isEnd: !1, isMiddle: !1 };
|
|
259
|
+
const i = new Date(o.year, o.month, 1).getTime();
|
|
259
260
|
return {
|
|
260
|
-
isStart: s ===
|
|
261
|
+
isStart: s === l,
|
|
261
262
|
isEnd: s === i,
|
|
262
|
-
isMiddle: s >
|
|
263
|
+
isMiddle: s > l && s < i
|
|
263
264
|
};
|
|
264
265
|
}, [x, j, y]), De = ({ yearOffset: e = 0 }) => {
|
|
265
266
|
const n = ke + e;
|
|
@@ -289,13 +290,13 @@ function at({
|
|
|
289
290
|
}
|
|
290
291
|
},
|
|
291
292
|
scrollToSelectedOnOpen: !0,
|
|
292
|
-
options:
|
|
293
|
+
options: pe(),
|
|
293
294
|
parentClassName: "flex justify-center items-center",
|
|
294
295
|
className: "w-[200px]",
|
|
295
296
|
menuWidth: "140px"
|
|
296
297
|
}
|
|
297
298
|
) }),
|
|
298
|
-
(
|
|
299
|
+
(v === "single" || e === 1) && /* @__PURE__ */ c(
|
|
299
300
|
A,
|
|
300
301
|
{
|
|
301
302
|
variant: "ghost",
|
|
@@ -310,26 +311,26 @@ function at({
|
|
|
310
311
|
)
|
|
311
312
|
] }),
|
|
312
313
|
/* @__PURE__ */ c("div", { className: "grid grid-cols-4 gap-y-4 gap-x-0", children: Me.map((t, r) => {
|
|
313
|
-
const a = Oe(n, r), { isStart:
|
|
314
|
+
const a = Oe(n, r), { isStart: o, isEnd: s, isMiddle: l } = Ue(n, r), i = v === "range", h = x ? j : y, p = h && "to" in h && !!h.to;
|
|
314
315
|
return /* @__PURE__ */ C("div", { className: "relative flex items-center justify-center h-10 w-full group", children: [
|
|
315
|
-
i &&
|
|
316
|
+
i && p && (l || o || s) && /* @__PURE__ */ c("div", { className: d(
|
|
316
317
|
"absolute inset-y-0 inset-x-0 bg-accent",
|
|
317
|
-
|
|
318
|
+
o && "rounded-l-full left-1/2 -ml-5",
|
|
318
319
|
s && "rounded-r-full right-1/2 -mr-5",
|
|
319
|
-
|
|
320
|
-
|
|
320
|
+
l && "inset-x-0",
|
|
321
|
+
o && s && "rounded-full inset-x-2"
|
|
321
322
|
) }),
|
|
322
323
|
/* @__PURE__ */ c(
|
|
323
324
|
A,
|
|
324
325
|
{
|
|
325
326
|
variant: "ghost",
|
|
326
327
|
onClick: () => ze(n, r),
|
|
327
|
-
className:
|
|
328
|
+
className: d(
|
|
328
329
|
"relative z-10 w-10 h-10 p-0 text-sm font-normal rounded-lg transition-all",
|
|
329
|
-
a && !i && "bg-
|
|
330
|
-
i && (
|
|
331
|
-
!a && "hover:bg-accent hover:text-accent-foreground border border-transparent hover:border-
|
|
332
|
-
|
|
330
|
+
a && !i && "bg-brand text-brand-foreground hover:bg-brand/90 hover:text-brand-foreground",
|
|
331
|
+
i && (o || s) && "bg-brand text-brand-foreground hover:bg-brand/90 hover:text-brand-foreground rounded-lg",
|
|
332
|
+
!a && "hover:bg-accent hover:text-accent-foreground border border-transparent hover:border-brand",
|
|
333
|
+
l && "text-accent-foreground"
|
|
333
334
|
),
|
|
334
335
|
children: t
|
|
335
336
|
}
|
|
@@ -339,10 +340,10 @@ function at({
|
|
|
339
340
|
] });
|
|
340
341
|
};
|
|
341
342
|
return /* @__PURE__ */ C("div", { className: "flex flex-col ", "data-component": "calendar", children: [
|
|
342
|
-
|
|
343
|
+
f === "month" ? /* @__PURE__ */ C("div", { className: "flex flex-col md:flex-row", children: [
|
|
343
344
|
/* @__PURE__ */ c(De, { yearOffset: 0 }),
|
|
344
|
-
(
|
|
345
|
-
/* @__PURE__ */ c("div", { className: "w-[1px] bg-
|
|
345
|
+
(v === "range" || v === "multiple") && /* @__PURE__ */ C("div", { className: "flex flex-row gap-0", children: [
|
|
346
|
+
/* @__PURE__ */ c("div", { className: "w-[1px] bg-stroke-hairline my-4" }),
|
|
346
347
|
/* @__PURE__ */ c(De, { yearOffset: 1 })
|
|
347
348
|
] })
|
|
348
349
|
] }) : (
|
|
@@ -351,17 +352,17 @@ function at({
|
|
|
351
352
|
/* @__PURE__ */ c(
|
|
352
353
|
He,
|
|
353
354
|
{
|
|
354
|
-
mode:
|
|
355
|
-
selected:
|
|
355
|
+
mode: f === "week" ? "multiple" : B,
|
|
356
|
+
selected: f === "week" ? G : x ? q : b,
|
|
356
357
|
onSelect: Ie,
|
|
357
358
|
month: Y,
|
|
358
359
|
onMonthChange: L,
|
|
359
360
|
showOutsideDays: k === "fiscal" ? !0 : D,
|
|
360
361
|
weekStartsOn: T,
|
|
361
|
-
modifiers:
|
|
362
|
+
modifiers: f === "week" ? Le : void 0,
|
|
362
363
|
locale: Ye,
|
|
363
|
-
className:
|
|
364
|
-
"bg-
|
|
364
|
+
className: d(
|
|
365
|
+
"bg-canvas group/calendar p-2 [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
|
|
365
366
|
String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
|
|
366
367
|
String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
|
|
367
368
|
ae
|
|
@@ -378,84 +379,84 @@ function at({
|
|
|
378
379
|
...Q
|
|
379
380
|
},
|
|
380
381
|
classNames: {
|
|
381
|
-
root:
|
|
382
|
-
months:
|
|
382
|
+
root: d("w-fit", g.root),
|
|
383
|
+
months: d(
|
|
383
384
|
"relative flex flex-col gap-2 md:flex-row",
|
|
384
385
|
g.months
|
|
385
386
|
),
|
|
386
|
-
month:
|
|
387
|
-
"flex flex-1 min-w-[252px] flex-col gap-2 relative after:absolute after:top-[5.5rem] after:bottom-0 after:left-[30px] after:w-[1px] after:bg-
|
|
387
|
+
month: d(
|
|
388
|
+
"flex flex-1 min-w-[252px] flex-col gap-2 relative after:absolute after:top-[5.5rem] after:bottom-0 after:left-[30px] after:w-[1px] after:bg-stroke-hairline",
|
|
388
389
|
g.month
|
|
389
390
|
),
|
|
390
|
-
nav:
|
|
391
|
+
nav: d(
|
|
391
392
|
"absolute inset-x-0 top-[2px] h-[--cell-size] flex w-full items-center justify-between px-2 gap-1",
|
|
392
393
|
g.nav
|
|
393
394
|
),
|
|
394
|
-
button_previous:
|
|
395
|
+
button_previous: d(
|
|
395
396
|
"h-7 w-7 select-none p-0 z-10 aria-disabled:opacity-50 flex items-center justify-center relative",
|
|
396
397
|
g.button_previous
|
|
397
398
|
),
|
|
398
|
-
button_next:
|
|
399
|
+
button_next: d(
|
|
399
400
|
"h-7 w-7 select-none p-0 z-10 aria-disabled:opacity-50 flex items-center justify-center relative",
|
|
400
401
|
g.button_next
|
|
401
402
|
),
|
|
402
|
-
month_caption:
|
|
403
|
+
month_caption: d(
|
|
403
404
|
"flex h-[--cell-size] w-full items-center justify-center px-[--cell-size] relative ",
|
|
404
405
|
g.month_caption
|
|
405
406
|
),
|
|
406
|
-
dropdowns:
|
|
407
|
+
dropdowns: d(
|
|
407
408
|
"flex h-[--cell-size] gap-1 items-center justify-center text-sm font-medium relative ",
|
|
408
409
|
g.dropdowns
|
|
409
410
|
),
|
|
410
|
-
caption_label:
|
|
411
|
+
caption_label: d(
|
|
411
412
|
"select-none font-medium text-sm",
|
|
412
413
|
g.caption_label
|
|
413
414
|
),
|
|
414
415
|
table: "w-full border-collapse",
|
|
415
|
-
weekdays:
|
|
416
|
-
weekday:
|
|
416
|
+
weekdays: d("flex w-full relative after:absolute after:bottom-0 after:right-0 after:h-[1px] after:bg-stroke-hairline after:left-[30px]", g.weekdays),
|
|
417
|
+
weekday: d(
|
|
417
418
|
"flex-1 select-none rounded-md font-normal text-center",
|
|
418
|
-
"text-[11px] text-
|
|
419
|
+
"text-[11px] text-content-muted pb-2",
|
|
419
420
|
"[&:nth-child(2)]:pl-2",
|
|
420
421
|
g.weekday
|
|
421
422
|
),
|
|
422
|
-
week:
|
|
423
|
-
week_number_header:
|
|
423
|
+
week: d("mt-1 flex w-full items-stretch group/week", g.week),
|
|
424
|
+
week_number_header: d(
|
|
424
425
|
"select-none font-normal text-center h-[30px] flex items-center justify-center",
|
|
425
|
-
"text-[11px] text-
|
|
426
|
+
"text-[11px] text-content-muted w-[30px] flex-shrink-0",
|
|
426
427
|
g.week_number_header
|
|
427
428
|
),
|
|
428
|
-
week_number:
|
|
429
|
+
week_number: d(
|
|
429
430
|
"select-none flex items-center justify-center h-[30px]",
|
|
430
|
-
"text-[11px] text-
|
|
431
|
-
|
|
431
|
+
"text-[11px] text-content-muted w-[30px] flex-shrink-0 transition-colors",
|
|
432
|
+
f === "week" && "group-hover/week:bg-accent group-hover/week:rounded-l-lg",
|
|
432
433
|
g.week_number
|
|
433
434
|
),
|
|
434
|
-
day:
|
|
435
|
+
day: d(
|
|
435
436
|
"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",
|
|
436
|
-
|
|
437
|
-
|
|
437
|
+
f === "week" && "group-hover/week:bg-accent [&:nth-child(2)]:group-hover/week:rounded-l-full [&:nth-child(8)]:group-hover/week:rounded-r-full",
|
|
438
|
+
f === "week" && "[&.rdp-selected:nth-child(2)]:rounded-l-full [&.rdp-selected:nth-child(8)]:rounded-r-full",
|
|
438
439
|
J?.day
|
|
439
440
|
),
|
|
440
|
-
range_start:
|
|
441
|
+
range_start: d(
|
|
441
442
|
"bg-accent rounded-l-full",
|
|
442
443
|
g.range_start
|
|
443
444
|
),
|
|
444
|
-
range_middle:
|
|
445
|
-
range_end:
|
|
446
|
-
today:
|
|
447
|
-
"text-
|
|
445
|
+
range_middle: d("bg-accent rounded-none", g.range_middle),
|
|
446
|
+
range_end: d("bg-accent rounded-r-full", g.range_end),
|
|
447
|
+
today: d(
|
|
448
|
+
"text-brand",
|
|
448
449
|
g.today
|
|
449
450
|
),
|
|
450
|
-
outside:
|
|
451
|
-
k === "fiscal" || D ? "text-muted
|
|
451
|
+
outside: d(
|
|
452
|
+
k === "fiscal" || D ? "text-content-muted opacity-50" : "invisible",
|
|
452
453
|
g.outside
|
|
453
454
|
),
|
|
454
|
-
disabled:
|
|
455
|
-
"text-muted
|
|
455
|
+
disabled: d(
|
|
456
|
+
"text-content-muted opacity-50",
|
|
456
457
|
g.disabled
|
|
457
458
|
),
|
|
458
|
-
hidden:
|
|
459
|
+
hidden: d("invisible", g.hidden),
|
|
459
460
|
...J
|
|
460
461
|
},
|
|
461
462
|
components: {
|
|
@@ -464,14 +465,14 @@ function at({
|
|
|
464
465
|
{
|
|
465
466
|
"data-slot": "calendar",
|
|
466
467
|
ref: n,
|
|
467
|
-
className:
|
|
468
|
+
className: d(e),
|
|
468
469
|
...t
|
|
469
470
|
}
|
|
470
471
|
),
|
|
471
|
-
Chevron: ({ className: e, orientation: n, ...t }) => n === "left" ? /* @__PURE__ */ c(we, { className:
|
|
472
|
+
Chevron: ({ className: e, orientation: n, ...t }) => n === "left" ? /* @__PURE__ */ c(we, { className: d("size-4 text-content", e), ...t }) : n === "right" ? /* @__PURE__ */ c(
|
|
472
473
|
ye,
|
|
473
474
|
{
|
|
474
|
-
className:
|
|
475
|
+
className: d("size-4 text-content", e),
|
|
475
476
|
...t
|
|
476
477
|
}
|
|
477
478
|
) : /* @__PURE__ */ c("span", {}),
|
|
@@ -497,27 +498,27 @@ function at({
|
|
|
497
498
|
...e
|
|
498
499
|
}
|
|
499
500
|
),
|
|
500
|
-
MonthCaption: ({ displayIndex: e, ...n }) => /* @__PURE__ */ c(
|
|
501
|
+
MonthCaption: ({ displayIndex: e, ...n }) => /* @__PURE__ */ c(de.Provider, { value: e, children: /* @__PURE__ */ c("div", { ...n }) }),
|
|
501
502
|
MonthsDropdown: ({ value: e }) => {
|
|
502
|
-
const n = u.useContext(
|
|
503
|
+
const n = u.useContext(de), t = n > 0, a = new Date(Y.getFullYear(), Y.getMonth() + n, 1).getFullYear(), o = Re(a);
|
|
503
504
|
return /* @__PURE__ */ c(
|
|
504
505
|
ce,
|
|
505
506
|
{
|
|
506
|
-
value:
|
|
507
|
+
value: o.find((s) => s.value === e?.toString()),
|
|
507
508
|
onChange: (s) => {
|
|
508
509
|
if (s && "value" in s) {
|
|
509
|
-
const
|
|
510
|
+
const l = parseInt(s.value);
|
|
510
511
|
if (t) {
|
|
511
|
-
const i = new Date(a,
|
|
512
|
+
const i = new Date(a, l - 1, 1);
|
|
512
513
|
L(i);
|
|
513
514
|
} else {
|
|
514
|
-
const i = new Date(a,
|
|
515
|
+
const i = new Date(a, l, 1);
|
|
515
516
|
L(i);
|
|
516
517
|
}
|
|
517
518
|
}
|
|
518
519
|
},
|
|
519
520
|
scrollToSelectedOnOpen: !0,
|
|
520
|
-
options:
|
|
521
|
+
options: o,
|
|
521
522
|
className: "w-[95px]",
|
|
522
523
|
menuWidth: "140px",
|
|
523
524
|
isSearchable: !0,
|
|
@@ -527,19 +528,19 @@ function at({
|
|
|
527
528
|
);
|
|
528
529
|
},
|
|
529
530
|
YearsDropdown: ({ value: e }) => {
|
|
530
|
-
const t = u.useContext(
|
|
531
|
+
const t = u.useContext(de) > 0, r = pe();
|
|
531
532
|
return /* @__PURE__ */ c(
|
|
532
533
|
ce,
|
|
533
534
|
{
|
|
534
535
|
value: r.find((a) => a.value === e?.toString()),
|
|
535
536
|
onChange: (a) => {
|
|
536
537
|
if (a && "value" in a) {
|
|
537
|
-
const
|
|
538
|
+
const o = parseInt(a.value);
|
|
538
539
|
if (t) {
|
|
539
|
-
const s = new Date(Y.getFullYear(), Y.getMonth() + 1, 1).getMonth(),
|
|
540
|
-
L(
|
|
540
|
+
const s = new Date(Y.getFullYear(), Y.getMonth() + 1, 1).getMonth(), l = new Date(o, s - 1, 1);
|
|
541
|
+
L(l);
|
|
541
542
|
} else {
|
|
542
|
-
const s = new Date(
|
|
543
|
+
const s = new Date(o, Y.getMonth(), 1);
|
|
543
544
|
L(s);
|
|
544
545
|
}
|
|
545
546
|
}
|
|
@@ -558,41 +559,41 @@ function at({
|
|
|
558
559
|
Je,
|
|
559
560
|
{
|
|
560
561
|
...e,
|
|
561
|
-
pickerType:
|
|
562
|
+
pickerType: f
|
|
562
563
|
}
|
|
563
564
|
),
|
|
564
565
|
WeekNumber: ({ week: e, ...n }) => {
|
|
565
566
|
const t = e.days.find((F) => !F.outside)?.date;
|
|
566
567
|
if (!t)
|
|
567
|
-
return /* @__PURE__ */ c("td", { ...n, className:
|
|
568
|
-
const r = t.getFullYear(), a = t.getMonth(),
|
|
568
|
+
return /* @__PURE__ */ c("td", { ...n, className: d("select-none flex items-center justify-center h-8 text-[11px] text-content-muted w-8 flex-shrink-0 rdp-week_number", n.className), children: /* @__PURE__ */ c("div", { className: "flex size-[--cell-size] items-center justify-center text-center" }) });
|
|
569
|
+
const r = t.getFullYear(), a = t.getMonth(), l = (new Date(r, a, 1).getDay() + 7 - T) % 7, i = new Date(r, a, 1 - l), h = new Date(t), I = (t.getDay() + 7 - T) % 7;
|
|
569
570
|
h.setDate(t.getDate() - I);
|
|
570
571
|
const M = Math.round((h.getTime() - i.getTime()) / (10080 * 60 * 1e3)) + 1, U = m("calendar.weekLabel", { number: M });
|
|
571
|
-
return
|
|
572
|
+
return f === "week" ? /* @__PURE__ */ c(
|
|
572
573
|
"td",
|
|
573
574
|
{
|
|
574
575
|
...n,
|
|
575
576
|
"aria-label": U,
|
|
576
577
|
"data-week-index": M,
|
|
577
578
|
"data-week-number": M,
|
|
578
|
-
className:
|
|
579
|
+
className: d(
|
|
579
580
|
"select-none flex items-center justify-center h-[30px] w-[30px] flex-shrink-0 rdp-week_number cursor-pointer hover:bg-accent hover:text-accent-foreground group-hover/week:bg-accent group-hover/week:rounded-l-lg rounded-lg transition-colors",
|
|
580
581
|
n.className
|
|
581
582
|
),
|
|
582
583
|
scope: "row",
|
|
583
584
|
role: "rowheader",
|
|
584
585
|
onClick: (F) => {
|
|
585
|
-
F.preventDefault(), F.stopPropagation(), ie(
|
|
586
|
+
F.preventDefault(), F.stopPropagation(), ie(le(e));
|
|
586
587
|
},
|
|
587
|
-
children: /* @__PURE__ */ c("div", { className: "flex h-8 w-full items-center justify-center text-center text-[11px] text-
|
|
588
|
+
children: /* @__PURE__ */ c("div", { className: "flex h-8 w-full items-center justify-center text-center text-[11px] text-content-muted", children: m("calendar.weekNumber", { number: M }) })
|
|
588
589
|
}
|
|
589
590
|
) : /* @__PURE__ */ c(
|
|
590
591
|
"td",
|
|
591
592
|
{
|
|
592
593
|
...n,
|
|
593
594
|
"aria-label": U,
|
|
594
|
-
className:
|
|
595
|
-
"select-none flex items-center justify-center h-[30px] text-[11px] text-
|
|
595
|
+
className: d(
|
|
596
|
+
"select-none flex items-center justify-center h-[30px] text-[11px] text-content-muted w-[30px] flex-shrink-0 rdp-week_number",
|
|
596
597
|
n.className
|
|
597
598
|
),
|
|
598
599
|
scope: "row",
|
|
@@ -607,10 +608,10 @@ function at({
|
|
|
607
608
|
}
|
|
608
609
|
)
|
|
609
610
|
),
|
|
610
|
-
x && /* @__PURE__ */ C("div", { className:
|
|
611
|
-
B === "range" &&
|
|
611
|
+
x && /* @__PURE__ */ C("div", { className: d("flex items-center gap-2 border-t pt-3 p-3", f === "month" && v !== "single" || B === "range" || w === "range" || w === "multiple" ? "justify-between" : "justify-end"), children: [
|
|
612
|
+
B === "range" && f === "date" && /* @__PURE__ */ C("div", { className: "flex flex-row items-center gap-1 text-content-tertiary text-xs leading-[18px] font-medium", children: [
|
|
612
613
|
"Selected:",
|
|
613
|
-
/* @__PURE__ */ c("span", { className: "text-
|
|
614
|
+
/* @__PURE__ */ c("span", { className: "text-content font-semibold", children: (() => {
|
|
614
615
|
const e = q;
|
|
615
616
|
if (e?.from && e?.to) {
|
|
616
617
|
const n = Math.abs(e.to.getTime() - e.from.getTime()), t = Math.ceil(n / (1e3 * 60 * 60 * 24)) + 1;
|
|
@@ -619,51 +620,51 @@ function at({
|
|
|
619
620
|
return "0 days";
|
|
620
621
|
})() })
|
|
621
622
|
] }),
|
|
622
|
-
|
|
623
|
+
f === "week" && (w === "range" || w === "multiple") && /* @__PURE__ */ C("div", { className: "flex flex-row items-center gap-1 text-content-tertiary text-xs leading-[18px] font-medium", children: [
|
|
623
624
|
"Selected:",
|
|
624
|
-
/* @__PURE__ */ c("span", { className: "text-
|
|
625
|
+
/* @__PURE__ */ c("span", { className: "text-content font-semibold", children: (() => {
|
|
625
626
|
const e = O;
|
|
626
627
|
if (!e) return "0 weeks";
|
|
627
|
-
const n = (
|
|
628
|
-
const i = Math.floor(
|
|
629
|
-
return i > 0 &&
|
|
630
|
-
}, r = k === "fiscal" && se === "fiscalMonth", a = k === "fiscal",
|
|
628
|
+
const n = (l) => Date.UTC(l.getFullYear(), l.getMonth(), l.getDate()), t = (l) => {
|
|
629
|
+
const i = Math.floor(l / 7), h = l % 7, p = [];
|
|
630
|
+
return i > 0 && p.push(`${i} week${i !== 1 ? "s" : ""}`), (h > 0 || i === 0) && p.push(`${h} day${h !== 1 ? "s" : ""}`), p.join(" ");
|
|
631
|
+
}, r = k === "fiscal" && se === "fiscalMonth", a = k === "fiscal", o = r ? "fiscal month" : a ? "fiscal week" : "week", s = r ? "fiscal months" : a ? "fiscal weeks" : "weeks";
|
|
631
632
|
if (Array.isArray(e))
|
|
632
633
|
if (a || r) {
|
|
633
|
-
const
|
|
634
|
-
return `${
|
|
634
|
+
const l = e.length;
|
|
635
|
+
return `${l} ${l !== 1 ? s : o}`;
|
|
635
636
|
} else {
|
|
636
|
-
let
|
|
637
|
+
let l = 0;
|
|
637
638
|
return e.forEach((i) => {
|
|
638
|
-
const h = n(i.startDate),
|
|
639
|
-
|
|
640
|
-
}), t(
|
|
639
|
+
const h = n(i.startDate), p = n(i.endDate);
|
|
640
|
+
l += Math.round((p - h) / (1e3 * 60 * 60 * 24)) + 1;
|
|
641
|
+
}), t(l);
|
|
641
642
|
}
|
|
642
643
|
else if ("from" in e) {
|
|
643
|
-
const { from:
|
|
644
|
+
const { from: l, to: i } = e;
|
|
644
645
|
if (r) {
|
|
645
|
-
if (!i) return `1 ${
|
|
646
|
-
const h = n(
|
|
647
|
-
return `${M} ${M !== 1 ? s :
|
|
646
|
+
if (!i) return `1 ${o}`;
|
|
647
|
+
const h = n(l.startDate), p = n(i.endDate), I = Math.round(Math.abs(p - h) / (1e3 * 60 * 60 * 24)) + 1, $ = ee ? ee.reduce((U, F) => U + F, 0) / 12 : 4.33, M = Math.max(1, Math.round(I / ($ * 7)));
|
|
648
|
+
return `${M} ${M !== 1 ? s : o}`;
|
|
648
649
|
} else if (a) {
|
|
649
|
-
if (!i) return `1 ${
|
|
650
|
-
const h = n(
|
|
651
|
-
return `${$} ${$ !== 1 ? s :
|
|
650
|
+
if (!i) return `1 ${o}`;
|
|
651
|
+
const h = n(l.startDate), p = n(i.endDate), I = Math.round((p - h) / (10080 * 60 * 1e3)), $ = I > 0 ? I : 1;
|
|
652
|
+
return `${$} ${$ !== 1 ? s : o}`;
|
|
652
653
|
} else {
|
|
653
654
|
if (!i) {
|
|
654
|
-
const $ = n(
|
|
655
|
+
const $ = n(l.startDate), M = n(l.endDate), U = Math.round((M - $) / (1e3 * 60 * 60 * 24)) + 1;
|
|
655
656
|
return t(U);
|
|
656
657
|
}
|
|
657
|
-
const h = n(
|
|
658
|
+
const h = n(l.startDate), p = n(i.endDate), I = Math.round(Math.abs(p - h) / (1e3 * 60 * 60 * 24)) + 1;
|
|
658
659
|
return t(I);
|
|
659
660
|
}
|
|
660
661
|
} else
|
|
661
|
-
return `1 ${
|
|
662
|
+
return `1 ${o}`;
|
|
662
663
|
})() })
|
|
663
664
|
] }),
|
|
664
|
-
|
|
665
|
+
f === "month" && (v === "range" || v === "multiple") && /* @__PURE__ */ C("div", { className: "flex flex-row items-center gap-1 text-content-tertiary text-xs leading-[18px] font-medium", children: [
|
|
665
666
|
"Selected:",
|
|
666
|
-
/* @__PURE__ */ c("span", { className: "text-
|
|
667
|
+
/* @__PURE__ */ c("span", { className: "text-content font-semibold", children: (() => {
|
|
667
668
|
const e = j;
|
|
668
669
|
if (!e) return "0 months";
|
|
669
670
|
if (Array.isArray(e)) {
|
|
@@ -731,15 +732,15 @@ function Je({
|
|
|
731
732
|
"data-range-start": D.range_start,
|
|
732
733
|
"data-range-end": D.range_end,
|
|
733
734
|
"data-range-middle": D.range_middle,
|
|
734
|
-
className:
|
|
735
|
-
"gap-2 whitespace-nowrap focus-visible:ring-1 focus-visible:ring-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",
|
|
735
|
+
className: d(
|
|
736
|
+
"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",
|
|
736
737
|
// Hover styling
|
|
737
|
-
K !== "week" && "hover:bg-accent hover:text-accent-foreground hover:border-
|
|
738
|
+
K !== "week" && "hover:bg-accent hover:text-accent-foreground hover:border-brand",
|
|
738
739
|
K === "week" && "hover:bg-transparent hover:text-inherit hover:border-transparent",
|
|
739
740
|
// Selection state
|
|
740
|
-
"data-[selected-single=true]:bg-
|
|
741
|
-
"data-[range-start=true]:bg-
|
|
742
|
-
"data-[range-end=true]:bg-
|
|
741
|
+
"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",
|
|
742
|
+
"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",
|
|
743
|
+
"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",
|
|
743
744
|
"data-[range-middle=true]:text-accent-foreground data-[range-middle=true]:rounded-none",
|
|
744
745
|
ae
|
|
745
746
|
),
|
|
@@ -750,6 +751,6 @@ function Je({
|
|
|
750
751
|
);
|
|
751
752
|
}
|
|
752
753
|
export {
|
|
753
|
-
|
|
754
|
+
st as Calendar,
|
|
754
755
|
Je as CalendarDayButton
|
|
755
756
|
};
|