@alfadocs/ui-kit-debug 0.88.1 → 0.89.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/_chunks/{antenatal-schedule-timeline-BzJZqS-8.js → antenatal-schedule-timeline-UiZQze4P.js} +3 -3
- package/dist/_chunks/{antenatal-schedule-timeline-BzJZqS-8.js.map → antenatal-schedule-timeline-UiZQze4P.js.map} +1 -1
- package/dist/_chunks/{appointment-timeline-DQTG0btW.js → appointment-timeline-CwpbQGC1.js} +2 -2
- package/dist/_chunks/{appointment-timeline-DQTG0btW.js.map → appointment-timeline-CwpbQGC1.js.map} +1 -1
- package/dist/_chunks/{ar-B1GhtlBP.js → ar-C9FRRqJs.js} +2 -2
- package/dist/_chunks/{ar-B1GhtlBP.js.map → ar-C9FRRqJs.js.map} +1 -1
- package/dist/_chunks/{booking-BvCu2XWY.js → booking-DEwmDprH.js} +4 -4
- package/dist/_chunks/{booking-BvCu2XWY.js.map → booking-DEwmDprH.js.map} +1 -1
- package/dist/_chunks/{cycle-calculator-OQp8Ik5U.js → cycle-calculator-DXSNIWFk.js} +3 -3
- package/dist/_chunks/{cycle-calculator-OQp8Ik5U.js.map → cycle-calculator-DXSNIWFk.js.map} +1 -1
- package/dist/_chunks/{date-picker-DzQS8mvt.js → date-picker-ffmyjvlI.js} +2 -2
- package/dist/_chunks/{date-picker-DzQS8mvt.js.map → date-picker-ffmyjvlI.js.map} +1 -1
- package/dist/_chunks/{date-picker-variants-CYQAm1Gk.js → date-picker-variants-D9B6hg15.js} +37 -24
- package/dist/_chunks/{date-picker-variants-CYQAm1Gk.js.map → date-picker-variants-D9B6hg15.js.map} +1 -1
- package/dist/_chunks/{date-range-picker-Cbz1SKhm.js → date-range-picker-DSOH50-f.js} +48 -47
- package/dist/_chunks/date-range-picker-DSOH50-f.js.map +1 -0
- package/dist/_chunks/{date-time-picker-B5IpU-nd.js → date-time-picker-BU-j0qj4.js} +2 -2
- package/dist/_chunks/{date-time-picker-B5IpU-nd.js.map → date-time-picker-BU-j0qj4.js.map} +1 -1
- package/dist/_chunks/{de-DETDHQ0o.js → de-C3_KZ6mR.js} +2 -2
- package/dist/_chunks/{de-DETDHQ0o.js.map → de-C3_KZ6mR.js.map} +1 -1
- package/dist/_chunks/{due-date-calculator-DASNRgnH.js → due-date-calculator-BR_GuqHH.js} +3 -3
- package/dist/_chunks/{due-date-calculator-DASNRgnH.js.map → due-date-calculator-BR_GuqHH.js.map} +1 -1
- package/dist/_chunks/{el-HV3jOI0z.js → el-v9xDKHgu.js} +2 -2
- package/dist/_chunks/{el-HV3jOI0z.js.map → el-v9xDKHgu.js.map} +1 -1
- package/dist/_chunks/{es-Dpo7Olwo.js → es-Lgmjq9Rp.js} +2 -2
- package/dist/_chunks/{es-Dpo7Olwo.js.map → es-Lgmjq9Rp.js.map} +1 -1
- package/dist/_chunks/{fr-CgD4Jvtq.js → fr-INS1OD7m.js} +2 -2
- package/dist/_chunks/{fr-CgD4Jvtq.js.map → fr-INS1OD7m.js.map} +1 -1
- package/dist/_chunks/{gestational-age-calculator-BpYw-WF-.js → gestational-age-calculator-DBIcxfjP.js} +5 -5
- package/dist/_chunks/{gestational-age-calculator-BpYw-WF-.js.map → gestational-age-calculator-DBIcxfjP.js.map} +1 -1
- package/dist/_chunks/{hcg-doubling-Dqj-EqMT.js → hcg-doubling-BgCkds8R.js} +2 -2
- package/dist/_chunks/{hcg-doubling-Dqj-EqMT.js.map → hcg-doubling-BgCkds8R.js.map} +1 -1
- package/dist/_chunks/{hi-Bf8CAP6b.js → hi-BUYtlosF.js} +2 -2
- package/dist/_chunks/{hi-Bf8CAP6b.js.map → hi-BUYtlosF.js.map} +1 -1
- package/dist/_chunks/{isSameWeek-BYl5poz_.js → isSameWeek-BUNsv4OO.js} +2 -2
- package/dist/_chunks/{isSameWeek-BYl5poz_.js.map → isSameWeek-BUNsv4OO.js.map} +1 -1
- package/dist/_chunks/{it-mt1V2DFS.js → it-VfsdUqeV.js} +3 -3
- package/dist/_chunks/{it-mt1V2DFS.js.map → it-VfsdUqeV.js.map} +1 -1
- package/dist/_chunks/{ja-CbOHn2TO.js → ja-Dfk9qwzE.js} +2 -2
- package/dist/_chunks/{ja-CbOHn2TO.js.map → ja-Dfk9qwzE.js.map} +1 -1
- package/dist/_chunks/{link-cell-renderer-BQGUs45d.js → link-cell-renderer-BzITwSXq.js} +2 -2
- package/dist/_chunks/{link-cell-renderer-BQGUs45d.js.map → link-cell-renderer-BzITwSXq.js.map} +1 -1
- package/dist/_chunks/{nl-C6Y0QXnm.js → nl-Crxwg0IZ.js} +2 -2
- package/dist/_chunks/{nl-C6Y0QXnm.js.map → nl-Crxwg0IZ.js.map} +1 -1
- package/dist/_chunks/{patient-details-B9LCdyWW.js → patient-details-Dggsz-ki.js} +2 -2
- package/dist/_chunks/{patient-details-B9LCdyWW.js.map → patient-details-Dggsz-ki.js.map} +1 -1
- package/dist/_chunks/{patient-table-B6AKMTm3.js → patient-table-ps4byVwA.js} +2 -2
- package/dist/_chunks/{patient-table-B6AKMTm3.js.map → patient-table-ps4byVwA.js.map} +1 -1
- package/dist/_chunks/{pl-BdazJAOp.js → pl-IdHtxWTl.js} +3 -3
- package/dist/_chunks/{pl-BdazJAOp.js.map → pl-IdHtxWTl.js.map} +1 -1
- package/dist/_chunks/{pregnancy-dating-msMl_6wz.js → pregnancy-dating-CvIRwWaG.js} +5 -5
- package/dist/_chunks/{pregnancy-dating-msMl_6wz.js.map → pregnancy-dating-CvIRwWaG.js.map} +1 -1
- package/dist/_chunks/{pt-B3UKvhHp.js → pt-CY2m2bBz.js} +2 -2
- package/dist/_chunks/{pt-B3UKvhHp.js.map → pt-CY2m2bBz.js.map} +1 -1
- package/dist/_chunks/{radiograph-panel.agent-M9XD4ze4.js → radiograph-panel.agent-C93AXgtV.js} +3 -3
- package/dist/_chunks/{radiograph-panel.agent-M9XD4ze4.js.map → radiograph-panel.agent-C93AXgtV.js.map} +1 -1
- package/dist/_chunks/{ro-DVTEQpPK.js → ro-qoxLkXED.js} +2 -2
- package/dist/_chunks/{ro-DVTEQpPK.js.map → ro-qoxLkXED.js.map} +1 -1
- package/dist/_chunks/{ru-C-Mp40SC.js → ru-BVZlxoKf.js} +3 -3
- package/dist/_chunks/{ru-C-Mp40SC.js.map → ru-BVZlxoKf.js.map} +1 -1
- package/dist/_chunks/{sq-DierVlw-.js → sq--eT8hIiD.js} +2 -2
- package/dist/_chunks/{sq-DierVlw-.js.map → sq--eT8hIiD.js.map} +1 -1
- package/dist/_chunks/subDays-fEHRx4hg.js +8 -0
- package/dist/_chunks/{subDays-DIKRViZm.js.map → subDays-fEHRx4hg.js.map} +1 -1
- package/dist/_chunks/{sv-gQWo_19z.js → sv-BGNQ5gX6.js} +2 -2
- package/dist/_chunks/{sv-gQWo_19z.js.map → sv-BGNQ5gX6.js.map} +1 -1
- package/dist/_chunks/{tr-Btm6M3Km.js → tr-B2NEu6Gy.js} +2 -2
- package/dist/_chunks/{tr-Btm6M3Km.js.map → tr-B2NEu6Gy.js.map} +1 -1
- package/dist/_chunks/{zh-CN-DkVN4vsB.js → zh-CN-DClT1wDk.js} +3 -3
- package/dist/_chunks/{zh-CN-DkVN4vsB.js.map → zh-CN-DClT1wDk.js.map} +1 -1
- package/dist/agent-catalog.json +1 -1
- package/dist/components/_shared/date-picker-variants.d.ts +1 -0
- package/dist/components/_shared/date-picker-variants.d.ts.map +1 -1
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/date-range-picker.d.ts +10 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/index.js +15 -15
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/date-range-picker-Cbz1SKhm.js.map +0 -1
- package/dist/_chunks/subDays-DIKRViZm.js +0 -8
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as n, jsxs as g } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import { useTranslation as
|
|
2
|
+
import { forwardRef as U, useState as M, useRef as X, useCallback as Z, useMemo as z, useImperativeHandle as ee } from "react";
|
|
3
|
+
import { useTranslation as te } from "react-i18next";
|
|
4
4
|
import * as f from "@radix-ui/react-popover";
|
|
5
|
-
import { u as
|
|
6
|
-
import { u as
|
|
7
|
-
import { u as
|
|
8
|
-
import { b as
|
|
9
|
-
import { s as R } from "./subDays-
|
|
10
|
-
import { C as
|
|
11
|
-
function
|
|
12
|
-
return
|
|
5
|
+
import { u as ae } from "./use-controllable-state-BiY4xTzM.js";
|
|
6
|
+
import { u as ne } from "./form-field-context-B3APVHKx.js";
|
|
7
|
+
import { u as re } from "./registry-DvAUVLHh.js";
|
|
8
|
+
import { b as se, u as oe, g as ie, c as de, e as T, s as W, d as ce, f as le, h as v, j as pe, k as me, t as ue, p as ge, D as fe, C as he, l as ye, m as ke } from "./date-picker-variants-D9B6hg15.js";
|
|
9
|
+
import { s as R } from "./subDays-fEHRx4hg.js";
|
|
10
|
+
import { C as be } from "./calendar-days-BGWklvE-.js";
|
|
11
|
+
function ve(a, s, i) {
|
|
12
|
+
return se(a, -1, i);
|
|
13
13
|
}
|
|
14
|
-
const
|
|
14
|
+
const Re = {
|
|
15
15
|
id: "date-range-picker",
|
|
16
16
|
capabilities: ["range_pick", "open", "close"],
|
|
17
17
|
state: {
|
|
@@ -109,7 +109,7 @@ const ve = {
|
|
|
109
109
|
description: "Sourced from the id prop."
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
-
},
|
|
112
|
+
}, De = U(
|
|
113
113
|
({
|
|
114
114
|
value: a,
|
|
115
115
|
defaultValue: s,
|
|
@@ -119,21 +119,22 @@ const ve = {
|
|
|
119
119
|
presets: h,
|
|
120
120
|
mergePresets: K = !1,
|
|
121
121
|
size: D = "md",
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
chrome: j = "input",
|
|
123
|
+
disabled: F,
|
|
124
|
+
placeholder: L,
|
|
125
|
+
className: A,
|
|
126
|
+
id: B
|
|
127
|
+
}, H) => {
|
|
128
|
+
const { t: r, i18n: w } = te(), c = ne(), y = B ?? c.id, P = c.disabled || F, _ = c.invalid ? "error" : "default", o = oe(w.language), k = ie(w.language), $ = L ?? r("inputs.dateRangePicker.placeholder", "Select date range"), [q, C] = ae({
|
|
128
129
|
value: a,
|
|
129
130
|
defaultValue: s ?? {},
|
|
130
131
|
onChange: i
|
|
131
|
-
}), t =
|
|
132
|
+
}), t = q ?? {}, [p, m] = M(!1), [J, O] = M(t.from ?? /* @__PURE__ */ new Date()), Y = X(null), d = Z(
|
|
132
133
|
(e) => {
|
|
133
134
|
C(e);
|
|
134
135
|
},
|
|
135
136
|
[C]
|
|
136
|
-
),
|
|
137
|
+
), E = de(l, V), S = [
|
|
137
138
|
{
|
|
138
139
|
label: r("inputs.dateRangePicker.presets.today", "Today"),
|
|
139
140
|
range: () => {
|
|
@@ -165,7 +166,7 @@ const ve = {
|
|
|
165
166
|
{
|
|
166
167
|
label: r("inputs.dateRangePicker.presets.lastWeek", "Last week"),
|
|
167
168
|
range: () => {
|
|
168
|
-
const e =
|
|
169
|
+
const e = ve(/* @__PURE__ */ new Date());
|
|
169
170
|
return {
|
|
170
171
|
from: W(e, { locale: o }),
|
|
171
172
|
to: T(e, { locale: o })
|
|
@@ -175,8 +176,8 @@ const ve = {
|
|
|
175
176
|
{
|
|
176
177
|
label: r("inputs.dateRangePicker.presets.thisMonth", "This month"),
|
|
177
178
|
range: () => ({
|
|
178
|
-
from:
|
|
179
|
-
to:
|
|
179
|
+
from: le(/* @__PURE__ */ new Date()),
|
|
180
|
+
to: ce(/* @__PURE__ */ new Date())
|
|
180
181
|
})
|
|
181
182
|
},
|
|
182
183
|
{
|
|
@@ -186,9 +187,9 @@ const ve = {
|
|
|
186
187
|
to: /* @__PURE__ */ new Date()
|
|
187
188
|
})
|
|
188
189
|
}
|
|
189
|
-
], x = h ? K ? [...S, ...h] : h : S,
|
|
190
|
+
], x = h ? K ? [...S, ...h] : h : S, G = (e) => {
|
|
190
191
|
d(e ? { from: e.from, to: e.to } : {});
|
|
191
|
-
},
|
|
192
|
+
}, Q = (e) => {
|
|
192
193
|
const u = e.range();
|
|
193
194
|
d(u), O(u.from), m(!1);
|
|
194
195
|
}, N = (() => {
|
|
@@ -199,13 +200,13 @@ const ve = {
|
|
|
199
200
|
return t.from ? v(t.from, k, { locale: o }) : "";
|
|
200
201
|
})(), I = (() => {
|
|
201
202
|
if (t.from && t.to) {
|
|
202
|
-
const e =
|
|
203
|
+
const e = pe(t.to, t.from) + 1;
|
|
203
204
|
return r("inputs.dateRangePicker.days", "{{count}} days", {
|
|
204
205
|
count: e
|
|
205
206
|
});
|
|
206
207
|
}
|
|
207
208
|
return "";
|
|
208
|
-
})(), b =
|
|
209
|
+
})(), b = z(
|
|
209
210
|
() => ({
|
|
210
211
|
getRange: () => t,
|
|
211
212
|
setRange: (e) => d(e),
|
|
@@ -216,17 +217,17 @@ const ve = {
|
|
|
216
217
|
}),
|
|
217
218
|
[t, d, p]
|
|
218
219
|
);
|
|
219
|
-
return
|
|
220
|
+
return ee(H, () => b, [b]), re(Re, b, y), /* @__PURE__ */ n(f.Root, { open: p, onOpenChange: m, children: /* @__PURE__ */ g(
|
|
220
221
|
"div",
|
|
221
222
|
{
|
|
222
|
-
className:
|
|
223
|
+
className: A,
|
|
223
224
|
"data-component": "date-range-picker",
|
|
224
225
|
"data-component-id": y,
|
|
225
226
|
children: [
|
|
226
227
|
/* @__PURE__ */ n(f.Trigger, { asChild: !0, disabled: P, children: /* @__PURE__ */ g(
|
|
227
228
|
"button",
|
|
228
229
|
{
|
|
229
|
-
ref:
|
|
230
|
+
ref: Y,
|
|
230
231
|
id: y,
|
|
231
232
|
type: "button",
|
|
232
233
|
disabled: P,
|
|
@@ -234,7 +235,7 @@ const ve = {
|
|
|
234
235
|
"aria-invalid": c.invalid || void 0,
|
|
235
236
|
"aria-haspopup": "dialog",
|
|
236
237
|
"aria-expanded": p,
|
|
237
|
-
className:
|
|
238
|
+
className: ue({ size: D, tone: _, chrome: j }),
|
|
238
239
|
children: [
|
|
239
240
|
/* @__PURE__ */ n(
|
|
240
241
|
"span",
|
|
@@ -248,15 +249,15 @@ const ve = {
|
|
|
248
249
|
"ds:min-w-0 ds:flex-1 ds:truncate ds:text-start",
|
|
249
250
|
N ? "ds:text-foreground" : "ds:text-muted-foreground"
|
|
250
251
|
].join(" "),
|
|
251
|
-
children: N ||
|
|
252
|
+
children: N || $
|
|
252
253
|
}
|
|
253
254
|
),
|
|
254
255
|
/* @__PURE__ */ n(
|
|
255
256
|
"span",
|
|
256
257
|
{
|
|
257
258
|
"aria-hidden": "true",
|
|
258
|
-
className:
|
|
259
|
-
children: /* @__PURE__ */ n(
|
|
259
|
+
className: me({ size: D }),
|
|
260
|
+
children: /* @__PURE__ */ n(be, {})
|
|
260
261
|
}
|
|
261
262
|
)
|
|
262
263
|
]
|
|
@@ -267,35 +268,35 @@ const ve = {
|
|
|
267
268
|
{
|
|
268
269
|
sideOffset: 4,
|
|
269
270
|
align: "start",
|
|
270
|
-
className:
|
|
271
|
+
className: ke(),
|
|
271
272
|
children: /* @__PURE__ */ g("div", { className: "ds:flex ds:gap-[var(--spacing-md)]", children: [
|
|
272
273
|
x.length > 0 ? /* @__PURE__ */ n("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]", children: x.map((e) => /* @__PURE__ */ n(
|
|
273
274
|
"button",
|
|
274
275
|
{
|
|
275
276
|
type: "button",
|
|
276
|
-
onClick: () =>
|
|
277
|
-
className:
|
|
277
|
+
onClick: () => Q(e),
|
|
278
|
+
className: ge(),
|
|
278
279
|
children: e.label
|
|
279
280
|
},
|
|
280
281
|
e.label
|
|
281
282
|
)) }) : null,
|
|
282
283
|
/* @__PURE__ */ g("div", { children: [
|
|
283
284
|
/* @__PURE__ */ n(
|
|
284
|
-
|
|
285
|
+
fe,
|
|
285
286
|
{
|
|
286
287
|
mode: "range",
|
|
287
288
|
selected: t.from ? { from: t.from, to: t.to } : void 0,
|
|
288
|
-
onSelect:
|
|
289
|
-
month:
|
|
289
|
+
onSelect: G,
|
|
290
|
+
month: J,
|
|
290
291
|
onMonthChange: O,
|
|
291
292
|
numberOfMonths: 2,
|
|
292
|
-
disabled:
|
|
293
|
+
disabled: E,
|
|
293
294
|
locale: o,
|
|
294
295
|
showOutsideDays: !0,
|
|
295
296
|
fixedWeeks: !0,
|
|
296
297
|
pagedNavigation: !0,
|
|
297
|
-
classNames:
|
|
298
|
-
components: { Chevron:
|
|
298
|
+
classNames: ye,
|
|
299
|
+
components: { Chevron: he }
|
|
299
300
|
}
|
|
300
301
|
),
|
|
301
302
|
I ? /* @__PURE__ */ n(
|
|
@@ -316,9 +317,9 @@ const ve = {
|
|
|
316
317
|
) });
|
|
317
318
|
}
|
|
318
319
|
);
|
|
319
|
-
|
|
320
|
+
De.displayName = "DateRangePicker";
|
|
320
321
|
export {
|
|
321
|
-
|
|
322
|
-
|
|
322
|
+
De as D,
|
|
323
|
+
Re as d
|
|
323
324
|
};
|
|
324
|
-
//# sourceMappingURL=date-range-picker-
|
|
325
|
+
//# sourceMappingURL=date-range-picker-DSOH50-f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker-DSOH50-f.js","sources":["../../node_modules/date-fns/subWeeks.js","../../src/components/date-range-picker/date-range-picker.agent.ts","../../src/components/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import { addWeeks } from \"./addWeeks.js\";\n\n/**\n * The {@link subWeeks} function options.\n */\n\n/**\n * @name subWeeks\n * @category Week Helpers\n * @summary Subtract the specified number of weeks from the given date.\n *\n * @description\n * Subtract the specified number of weeks from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of weeks to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the weeks subtracted\n *\n * @example\n * // Subtract 4 weeks from 1 September 2014:\n * const result = subWeeks(new Date(2014, 8, 1), 4)\n * //=> Mon Aug 04 2014 00:00:00\n */\nexport function subWeeks(date, amount, options) {\n return addWeeks(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subWeeks;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DateRangePicker. */\n/* */\n/* DateRangePicker wraps react-day-picker (range mode) inside a Radix */\n/* Popover. The agent surface curates the trigger + popover into a small */\n/* set of range operations — set / clear / open / close. */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DateRangePickerHandle } from './date-range-picker';\n\nexport const dateRangePickerAgent: AgentAdapter<DateRangePickerHandle> = {\n id: 'date-range-picker',\n capabilities: ['range_pick', 'open', 'close'],\n state: {\n range: {\n type: '{ from: iso-date | null, to: iso-date | null }',\n descriptionKey: 'ui.agent.dateRangePicker.state.range',\n description:\n 'Currently-selected ISO date range endpoints, each possibly null.',\n read: (handle) => {\n const range = handle.getRange();\n return {\n from: range.from?.toISOString() ?? null,\n to: range.to?.toISOString() ?? null,\n };\n },\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dateRangePicker.state.isOpen',\n description: 'Whether the range calendar popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_range: {\n safety: 'write',\n argsType: '{ from: string, to: string }',\n argsSchema: {\n type: 'object',\n properties: {\n from: {\n type: 'string',\n format: 'date',\n description: 'ISO start date (inclusive).',\n },\n to: {\n type: 'string',\n format: 'date',\n description: 'ISO end date (inclusive).',\n },\n },\n required: ['from', 'to'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.dateRangePicker.actions.setRange',\n description: 'Replace the selected range with the given ISO endpoints.',\n examples: [\n {\n args: { from: '2026-06-01', to: '2026-06-30' },\n note: 'Select all of June 2026.',\n },\n ],\n invoke: (handle, args: { from: string; to: string }) => {\n handle.setRange({ from: new Date(args.from), to: new Date(args.to) });\n },\n },\n clear: {\n // Discards the selected range — loses the user's input.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.dateRangePicker.actions.clear',\n description: 'Clear the selected range.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dateRangePicker.actions.open',\n description: 'Open the range calendar popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dateRangePicker.actions.close',\n description: 'Close the range calendar popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-range-picker',\n description: 'Marks the DateRangePicker wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker, type DateRange } from 'react-day-picker';\nimport {\n format as fnsFormat,\n differenceInCalendarDays,\n startOfWeek,\n endOfWeek,\n startOfMonth,\n endOfMonth,\n subDays,\n subWeeks,\n} from 'date-fns';\nimport { CalendarDays } from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n useDateFnsLocale,\n getShortDateFormat,\n buildDisabledMatcher,\n CalendarChevron,\n calendarClassNames,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n presetButtonVariants,\n} from '../_shared';\nimport { useAgentRegistration } from '../../agent';\nimport { dateRangePickerAgent } from './date-range-picker.agent';\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateRangePreset {\n label: string;\n range: () => { from: Date; to: Date };\n}\n\nexport interface DateRangeValue {\n from?: Date;\n to?: Date;\n}\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DateRangePickerHandle {\n /** Get the current selected range. */\n getRange: () => DateRangeValue;\n /** Replace the selected range. */\n setRange: (range: DateRangeValue) => void;\n /** Clear the selected range. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the range calendar popover. */\n open: () => void;\n /** Close the range calendar popover. */\n close: () => void;\n}\n\nexport interface DateRangePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current range — controlled. */\n value?: DateRangeValue;\n /** Default range — uncontrolled. */\n defaultValue?: DateRangeValue;\n /** Called when the range changes. */\n onChange?: (range: DateRangeValue) => void;\n /** Minimum selectable date. */\n minDate?: Date;\n /** Maximum selectable date. */\n maxDate?: Date;\n /** Custom presets. Replaces defaults unless mergePresets is true. */\n presets?: DateRangePreset[];\n /** Merge custom presets with defaults instead of replacing. */\n mergePresets?: boolean;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /**\n * Trigger chrome. `'input'` (default) is the soft input look — fill + the\n * `--shadow-input` halo — that matches other form fields. `'button'` renders\n * the trigger as an outline Button (flat, `--radius-md`, no halo, `md` = 40px)\n * so the picker sits flush among Buttons in a toolbar. Use `'button'` only in\n * toolbars, not in forms: the input halo is a11y-load-bearing (it lifts the\n * field border to the WCAG 1.4.11 3:1 composite), whereas a button-chrome\n * trigger relies on its value/label like a Button does.\n */\n chrome?: 'input' | 'button';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateRangePicker = forwardRef<\n DateRangePickerHandle,\n DateRangePickerProps\n>(\n (\n {\n value,\n defaultValue,\n onChange,\n minDate,\n maxDate,\n presets: presetsProp,\n mergePresets = false,\n size = 'md',\n chrome = 'input',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = useDateFnsLocale(i18n.language);\n const dateFormat = getShortDateFormat(i18n.language);\n const placeholderText =\n placeholder ??\n t('inputs.dateRangePicker.placeholder', 'Select date range');\n\n const [currentValueRaw, setDateRangeValue] =\n useControllableState<DateRangeValue>({\n value,\n defaultValue: defaultValue ?? {},\n onChange,\n });\n const currentValue: DateRangeValue = currentValueRaw ?? {};\n\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue.from ?? new Date());\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (range: DateRangeValue) => {\n setDateRangeValue(range);\n },\n [setDateRangeValue],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n // Default presets\n const defaultPresets: DateRangePreset[] = [\n {\n label: t('inputs.dateRangePicker.presets.today', 'Today'),\n range: () => {\n const today = new Date();\n return { from: today, to: today };\n },\n },\n {\n label: t('inputs.dateRangePicker.presets.yesterday', 'Yesterday'),\n range: () => {\n const yesterday = subDays(new Date(), 1);\n return { from: yesterday, to: yesterday };\n },\n },\n {\n label: t('inputs.dateRangePicker.presets.last7', 'Last 7 days'),\n range: () => ({\n from: subDays(new Date(), 6),\n to: new Date(),\n }),\n },\n {\n label: t('inputs.dateRangePicker.presets.thisWeek', 'This week'),\n range: () => ({\n from: startOfWeek(new Date(), { locale }),\n to: endOfWeek(new Date(), { locale }),\n }),\n },\n {\n label: t('inputs.dateRangePicker.presets.lastWeek', 'Last week'),\n range: () => {\n const lastWeekDay = subWeeks(new Date(), 1);\n return {\n from: startOfWeek(lastWeekDay, { locale }),\n to: endOfWeek(lastWeekDay, { locale }),\n };\n },\n },\n {\n label: t('inputs.dateRangePicker.presets.thisMonth', 'This month'),\n range: () => ({\n from: startOfMonth(new Date()),\n to: endOfMonth(new Date()),\n }),\n },\n {\n label: t('inputs.dateRangePicker.presets.last30', 'Last 30 days'),\n range: () => ({\n from: subDays(new Date(), 29),\n to: new Date(),\n }),\n },\n ];\n\n const effectivePresets = presetsProp\n ? mergePresets\n ? [...defaultPresets, ...presetsProp]\n : presetsProp\n : defaultPresets;\n\n const handleRangeSelect = (range: DateRange | undefined) => {\n if (range) {\n emit({ from: range.from, to: range.to });\n } else {\n emit({});\n }\n };\n\n const handlePresetClick = (preset: DateRangePreset) => {\n const range = preset.range();\n emit(range);\n setMonth(range.from);\n setOpen(false);\n };\n\n // Use the locale-aware short format helper so Italian/German/Japanese\n // users see DD/MM/YYYY rather than the English-only \"MMM d, yyyy\".\n const displayText = (() => {\n if (currentValue.from && currentValue.to) {\n const fromStr = fnsFormat(currentValue.from, dateFormat, { locale });\n const toStr = fnsFormat(currentValue.to, dateFormat, { locale });\n return `${fromStr} – ${toStr}`;\n }\n if (currentValue.from) {\n return fnsFormat(currentValue.from, dateFormat, { locale });\n }\n return '';\n })();\n\n // Range summary for screen readers\n const rangeSummary = (() => {\n if (currentValue.from && currentValue.to) {\n const days =\n differenceInCalendarDays(currentValue.to, currentValue.from) + 1;\n return t('inputs.dateRangePicker.days', '{{count}} days', {\n count: days,\n });\n }\n return '';\n })();\n\n const handle = useMemo<DateRangePickerHandle>(\n () => ({\n getRange: () => currentValue,\n setRange: (range) => emit(range),\n clear: () => emit({}),\n isOpen: () => open,\n open: () => setOpen(true),\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(dateRangePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={setOpen}>\n <div\n className={className}\n data-component=\"date-range-picker\"\n data-component-id={effectiveId}\n >\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props -- FormField propagates invalid state to its trigger; users rely on this for validation announcements */}\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone, chrome })}\n >\n <span\n className={[\n // Truncate so a long value/placeholder ellipsises instead of\n // running under the absolutely-positioned calendar icon (the\n // trigger reserves the icon's space via `pe-10`). `min-w-0`\n // lets the flex child shrink below its content width so\n // `truncate` engages.\n 'ds:min-w-0 ds:flex-1 ds:truncate ds:text-start',\n displayText\n ? 'ds:text-foreground'\n : 'ds:text-muted-foreground',\n ].join(' ')}\n >\n {displayText || placeholderText}\n </span>\n <span\n aria-hidden=\"true\"\n className={calendarIconVariants({ size })}\n >\n <CalendarDays />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"ds:flex ds:gap-[var(--spacing-md)]\">\n {/* Presets column */}\n {effectivePresets.length > 0 ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-[8rem] ds:border-e ds:border-border ds:pe-[var(--spacing-md)]\">\n {effectivePresets.map((preset) => (\n <button\n key={preset.label}\n type=\"button\"\n onClick={() => handlePresetClick(preset)}\n className={presetButtonVariants()}\n >\n {preset.label}\n </button>\n ))}\n </div>\n ) : null}\n\n {/* Dual calendar */}\n <div>\n <DayPicker\n mode=\"range\"\n selected={\n currentValue.from\n ? { from: currentValue.from, to: currentValue.to }\n : undefined\n }\n onSelect={handleRangeSelect}\n month={month}\n onMonthChange={setMonth}\n numberOfMonths={2}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n pagedNavigation\n classNames={calendarClassNames}\n components={{ Chevron: CalendarChevron }}\n />\n\n {/* Range summary live region */}\n {rangeSummary ? (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className=\"type-body-sm ds:text-muted-foreground ds:mt-[var(--spacing-sm)] ds:text-center\"\n >\n {rangeSummary}\n </div>\n ) : null}\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateRangePicker.displayName = 'DateRangePicker';\n"],"names":["subWeeks","date","amount","options","addWeeks","dateRangePickerAgent","handle","range","_a","_b","args","DateRangePicker","forwardRef","value","defaultValue","onChange","minDate","maxDate","presetsProp","mergePresets","size","chrome","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","locale","useDateFnsLocale","dateFormat","getShortDateFormat","placeholderText","currentValueRaw","setDateRangeValue","useControllableState","currentValue","open","setOpen","useState","month","setMonth","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","defaultPresets","today","yesterday","subDays","startOfWeek","endOfWeek","lastWeekDay","startOfMonth","endOfMonth","effectivePresets","handleRangeSelect","handlePresetClick","preset","displayText","fromStr","fnsFormat","toStr","rangeSummary","days","differenceInCalendarDays","useMemo","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","CalendarDays","popoverContentVariants","presetButtonVariants","DayPicker","calendarClassNames","CalendarChevron"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -7,7 +7,7 @@ import { u as me } from "./use-controllable-state-BiY4xTzM.js";
|
|
|
7
7
|
import { u as pe } from "./form-field-context-B3APVHKx.js";
|
|
8
8
|
import { T as fe } from "./time-picker-BPlJWm8w.js";
|
|
9
9
|
import { u as ge } from "./registry-DvAUVLHh.js";
|
|
10
|
-
import { u as he, c as ve, n as be, i as ye, h as Te, k as ke, t as we, D as Ce, C as De, l as Pe, m as xe } from "./date-picker-variants-
|
|
10
|
+
import { u as he, c as ve, n as be, i as ye, h as Te, k as ke, t as we, D as Ce, C as De, l as Pe, m as xe } from "./date-picker-variants-D9B6hg15.js";
|
|
11
11
|
import { C as Oe } from "./calendar-days-BGWklvE-.js";
|
|
12
12
|
import { t as A } from "./isSameDay-DUEiAT0G.js";
|
|
13
13
|
function K(e, t, r) {
|
|
@@ -333,4 +333,4 @@ export {
|
|
|
333
333
|
Ie as D,
|
|
334
334
|
Ne as d
|
|
335
335
|
};
|
|
336
|
-
//# sourceMappingURL=date-time-picker-
|
|
336
|
+
//# sourceMappingURL=date-time-picker-BU-j0qj4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-time-picker-B5IpU-nd.js","sources":["../../node_modules/date-fns/setHours.js","../../node_modules/date-fns/setMinutes.js","../../src/components/date-time-picker/date-time-picker.agent.ts","../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setHours} function options.\n */\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param hours - The hours of the new date\n * @param options - An object with options\n *\n * @returns The new date with the hours set\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport function setHours(date, hours, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(hours);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setHours;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setMinutes} function options.\n */\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, returned from the context function, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param minutes - The minutes of the new date\n * @param options - An object with options\n *\n * @returns The new date with the minutes set\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport function setMinutes(date, minutes, options) {\n const date_ = toDate(date, options?.in);\n date_.setMinutes(minutes);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default setMinutes;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DateTimePicker. */\n/* */\n/* DateTimePicker composes a react-day-picker calendar grid with the */\n/* TimePicker segments inside a single Radix Popover. The agent surface */\n/* exposes a combined datetime — set / clear / open / close. The handle */\n/* is the curated surface; consumers don't address the inner sub-widgets.*/\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DateTimePickerHandle } from './date-time-picker';\n\nexport const dateTimePickerAgent: AgentAdapter<DateTimePickerHandle> = {\n id: 'date-time-picker',\n // Persisted single datetime (value state + set_datetime) → select_single +\n // set_value, plus open/close of the combined popover.\n capabilities: ['select_single', 'set_value', 'open', 'close'],\n state: {\n value: {\n type: 'iso-datetime',\n descriptionKey: 'ui.agent.dateTimePicker.state.value',\n description: 'Currently-selected ISO datetime, or null.',\n read: (handle) => handle.getValue()?.toISOString() ?? null,\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dateTimePicker.state.isOpen',\n description: 'Whether the datetime popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_datetime: {\n safety: 'write',\n argsType: '{ datetime: string }',\n argsSchema: {\n type: 'object',\n properties: {\n datetime: {\n type: 'string',\n format: 'date-time',\n description: 'ISO datetime, e.g. \"2026-06-23T14:30:00Z\".',\n },\n },\n required: ['datetime'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.setDatetime',\n description: 'Select a specific datetime (ISO string).',\n examples: [\n {\n args: { datetime: '2026-06-23T14:30:00Z' },\n note: 'Select 23 Jun 2026, 14:30 UTC.',\n },\n ],\n invoke: (handle, args: { datetime: string }) => {\n handle.setValue(new Date(args.datetime));\n },\n },\n clear: {\n // Discards the selected datetime — loses the user's input.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.clear',\n description: 'Clear the selected datetime.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.open',\n description: 'Open the datetime popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.close',\n description: 'Close the datetime popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-time-picker',\n description: 'Marks the DateTimePicker wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n isBefore,\n isAfter,\n setHours,\n setMinutes,\n} from 'date-fns';\nimport { CalendarDays } from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n useDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n calendarClassNames,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n} from '../_shared';\nimport { TimePicker } from '../time-picker/time-picker';\nimport type { TimeValue } from '../_shared/time';\nimport { useAgentRegistration } from '../../agent';\nimport { dateTimePickerAgent } from './date-time-picker.agent';\n\n/* -------------------------------------------------------------------------- */\n/* Imperative handle */\n/* -------------------------------------------------------------------------- */\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DateTimePickerHandle {\n /** Get the current selected datetime, or undefined. */\n getValue: () => Date | undefined;\n /** Set the selected datetime. */\n setValue: (date: Date | undefined) => void;\n /** Clear the selected datetime. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the popover. */\n open: () => void;\n /** Close the popover. */\n close: () => void;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\n/** Get timezone short name. */\nfunction getTimezoneLabel(locale: string, timezone?: string): string {\n try {\n const opts: Intl.DateTimeFormatOptions = { timeZoneName: 'short' };\n if (timezone && timezone !== 'local') {\n opts.timeZone = timezone === 'utc' ? 'UTC' : timezone;\n }\n const parts = new Intl.DateTimeFormat(locale, opts).formatToParts(\n new Date(),\n );\n return parts.find((p) => p.type === 'timeZoneName')?.value ?? '';\n } catch {\n return '';\n }\n}\n\n/** Check if a timezone differs from the browser's. */\nfunction tzDiffersFromBrowser(timezone?: string): boolean {\n if (!timezone || timezone === 'local') return false;\n try {\n const browserTz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (timezone === 'utc') return browserTz !== 'UTC';\n return browserTz !== timezone;\n } catch {\n return false;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* CVA variants */\n/* -------------------------------------------------------------------------- */\n\nconst applyButtonVariants = cva(\n [\n 'ds:w-full ds:rounded-[var(--radius-sm)]',\n 'ds:bg-primary ds:text-primary-foreground',\n 'ds:hover:bg-primary-hover ds:cursor-pointer',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateTimePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current datetime — controlled. */\n value?: Date;\n /** Default datetime — uncontrolled. */\n defaultValue?: Date;\n /** Called when the datetime changes. */\n onChange?: (date: Date | undefined) => void;\n /** Timezone — IANA string, 'local', or 'utc'. */\n timezone?: string;\n /** Show timezone annotation. Defaults to true when tz differs from browser. */\n showTimezone?: boolean;\n /** Minimum datetime. */\n minDate?: Date;\n /** Maximum datetime. */\n maxDate?: Date;\n /** Force 12h/24h mode. */\n hour12?: boolean;\n /** Minute step for TimePicker. */\n minuteStep?: 1 | 5 | 10 | 15 | 30;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateTimePicker = forwardRef<\n DateTimePickerHandle,\n DateTimePickerProps\n>(\n (\n {\n value,\n defaultValue,\n onChange,\n timezone,\n showTimezone: showTimezoneProp,\n minDate,\n maxDate,\n hour12,\n minuteStep = 1,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = useDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ??\n t('inputs.dateTimePicker.placeholder', 'Select date and time');\n const applyLabel = t('inputs.dateTimePicker.apply', 'Apply');\n const outOfRangeLabel = t(\n 'inputs.dateTimePicker.outOfRange',\n 'Date/time is out of allowed range',\n );\n\n const showTimezone =\n showTimezoneProp !== undefined\n ? showTimezoneProp\n : tzDiffersFromBrowser(timezone);\n const timezoneLabel = showTimezone\n ? getTimezoneLabel(i18n.language, timezone)\n : '';\n\n const [currentValueRaw, setDateTimeValue] = useControllableState<\n Date | undefined\n >({\n value,\n defaultValue,\n onChange,\n });\n const currentValue = currentValueRaw;\n\n // Draft state while popover is open\n const [draftDate, setDraftDate] = useState<Date | undefined>(currentValue);\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n const [rangeError, setRangeError] = useState(false);\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (date: Date | undefined) => {\n setDateTimeValue(date);\n },\n [setDateTimeValue],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n /** Check if a full datetime is within range. */\n const isInRange = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return false;\n if (maxDate && isAfter(date, maxDate)) return false;\n return true;\n },\n [minDate, maxDate],\n );\n\n // Sync draft when popover opens\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n }\n setOpen(nextOpen);\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (!date) return;\n const prev = draftDate ?? new Date();\n const merged = setMinutes(\n setHours(date, prev.getHours()),\n prev.getMinutes(),\n );\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleTimeChange = (time: TimeValue) => {\n const prev = draftDate ?? new Date();\n const merged = setMinutes(setHours(prev, time.hours), time.minutes);\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleApply = () => {\n if (!draftDate) return;\n if (!isInRange(draftDate)) {\n setRangeError(true);\n return;\n }\n emit(draftDate);\n setOpen(false);\n triggerRef.current?.focus();\n };\n\n // Format display text\n const displayText = currentValue\n ? fnsFormat(currentValue, 'MMM d, yyyy HH:mm', { locale })\n : '';\n\n const calendarLabel = t('inputs.datePicker.gridLabel', 'Calendar');\n const timeLabel = t('inputs.timePicker.groupLabel', 'Time');\n\n const handle = useMemo<DateTimePickerHandle>(\n () => ({\n getValue: () => currentValue,\n setValue: (date) => emit(date),\n clear: () => emit(undefined),\n isOpen: () => open,\n // Mirror the trigger's open behaviour so draft state seeds correctly.\n open: () => {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n setOpen(true);\n },\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(dateTimePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={handleOpenChange}>\n <div\n className={className}\n data-component=\"date-time-picker\"\n data-component-id={effectiveId}\n >\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props -- FormField propagates invalid state to its trigger; users rely on this for validation announcements */}\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone })}\n >\n <span\n className={\n displayText\n ? 'ds:text-foreground'\n : 'ds:text-muted-foreground'\n }\n >\n {displayText || placeholderText}\n </span>\n <span\n aria-hidden=\"true\"\n className={calendarIconVariants({ size })}\n >\n <CalendarDays />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"ds:flex ds:flex-col ds:sm:flex-row ds:gap-[var(--spacing-md)]\">\n {/* Calendar region */}\n <div role=\"region\" aria-label={calendarLabel}>\n <DayPicker\n mode=\"single\"\n selected={draftDate}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n classNames={calendarClassNames}\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n\n {/* Time + Apply region */}\n <div\n role=\"region\"\n aria-label={timeLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:sm:border-s ds:sm:border-border ds:sm:ps-[var(--spacing-md)] ds:min-w-[10rem]\"\n >\n <TimePicker\n value={\n draftDate\n ? {\n hours: draftDate.getHours(),\n minutes: draftDate.getMinutes(),\n }\n : { hours: 0, minutes: 0 }\n }\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n size={size}\n />\n\n {/* Timezone annotation */}\n {timezoneLabel ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {timezoneLabel}\n </span>\n ) : null}\n\n {/* Range error */}\n {rangeError ? (\n <span\n role=\"alert\"\n className=\"type-meta ds:text-destructive\"\n >\n {outOfRangeLabel}\n </span>\n ) : null}\n\n {/* Apply button */}\n <button\n type=\"button\"\n onClick={handleApply}\n disabled={!draftDate || rangeError}\n className={applyButtonVariants({ size })}\n >\n {applyLabel}\n </button>\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateTimePicker.displayName = 'DateTimePicker';\n"],"names":["setHours","date","hours","options","_date","toDate","setMinutes","minutes","date_","dateTimePickerAgent","handle","_a","args","getTimezoneLabel","locale","timezone","opts","p","tzDiffersFromBrowser","browserTz","applyButtonVariants","cva","DateTimePicker","forwardRef","value","defaultValue","onChange","showTimezoneProp","minDate","maxDate","hour12","minuteStep","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","useDateFnsLocale","placeholderText","applyLabel","outOfRangeLabel","timezoneLabel","currentValueRaw","setDateTimeValue","useControllableState","currentValue","draftDate","setDraftDate","useState","open","setOpen","month","setMonth","rangeError","setRangeError","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","isInRange","isBefore","isAfter","handleOpenChange","nextOpen","handleDaySelect","prev","merged","handleTimeChange","time","handleApply","displayText","fnsFormat","calendarLabel","timeLabel","useMemo","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","CalendarDays","popoverContentVariants","DayPicker","calendarClassNames","CalendarChevron","TimePicker"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"date-time-picker-BU-j0qj4.js","sources":["../../node_modules/date-fns/setHours.js","../../node_modules/date-fns/setMinutes.js","../../src/components/date-time-picker/date-time-picker.agent.ts","../../src/components/date-time-picker/date-time-picker.tsx"],"sourcesContent":["import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setHours} function options.\n */\n\n/**\n * @name setHours\n * @category Hour Helpers\n * @summary Set the hours to the given date.\n *\n * @description\n * Set the hours to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param hours - The hours of the new date\n * @param options - An object with options\n *\n * @returns The new date with the hours set\n *\n * @example\n * // Set 4 hours to 1 September 2014 11:30:00:\n * const result = setHours(new Date(2014, 8, 1, 11, 30), 4)\n * //=> Mon Sep 01 2014 04:30:00\n */\nexport function setHours(date, hours, options) {\n const _date = toDate(date, options?.in);\n _date.setHours(hours);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default setHours;\n","import { toDate } from \"./toDate.js\";\n\n/**\n * The {@link setMinutes} function options.\n */\n\n/**\n * @name setMinutes\n * @category Minute Helpers\n * @summary Set the minutes to the given date.\n *\n * @description\n * Set the minutes to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows using extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, returned from the context function, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param minutes - The minutes of the new date\n * @param options - An object with options\n *\n * @returns The new date with the minutes set\n *\n * @example\n * // Set 45 minutes to 1 September 2014 11:30:40:\n * const result = setMinutes(new Date(2014, 8, 1, 11, 30, 40), 45)\n * //=> Mon Sep 01 2014 11:45:40\n */\nexport function setMinutes(date, minutes, options) {\n const date_ = toDate(date, options?.in);\n date_.setMinutes(minutes);\n return date_;\n}\n\n// Fallback for modularized imports:\nexport default setMinutes;\n","/* -------------------------------------------------------------------- */\n/* Agent adapter — DateTimePicker. */\n/* */\n/* DateTimePicker composes a react-day-picker calendar grid with the */\n/* TimePicker segments inside a single Radix Popover. The agent surface */\n/* exposes a combined datetime — set / clear / open / close. The handle */\n/* is the curated surface; consumers don't address the inner sub-widgets.*/\n/* */\n/* See `src/docs/26-agent-readiness.mdx` §15. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { DateTimePickerHandle } from './date-time-picker';\n\nexport const dateTimePickerAgent: AgentAdapter<DateTimePickerHandle> = {\n id: 'date-time-picker',\n // Persisted single datetime (value state + set_datetime) → select_single +\n // set_value, plus open/close of the combined popover.\n capabilities: ['select_single', 'set_value', 'open', 'close'],\n state: {\n value: {\n type: 'iso-datetime',\n descriptionKey: 'ui.agent.dateTimePicker.state.value',\n description: 'Currently-selected ISO datetime, or null.',\n read: (handle) => handle.getValue()?.toISOString() ?? null,\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.dateTimePicker.state.isOpen',\n description: 'Whether the datetime popover is open.',\n read: (handle) => handle.isOpen(),\n },\n },\n actions: {\n set_datetime: {\n safety: 'write',\n argsType: '{ datetime: string }',\n argsSchema: {\n type: 'object',\n properties: {\n datetime: {\n type: 'string',\n format: 'date-time',\n description: 'ISO datetime, e.g. \"2026-06-23T14:30:00Z\".',\n },\n },\n required: ['datetime'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.setDatetime',\n description: 'Select a specific datetime (ISO string).',\n examples: [\n {\n args: { datetime: '2026-06-23T14:30:00Z' },\n note: 'Select 23 Jun 2026, 14:30 UTC.',\n },\n ],\n invoke: (handle, args: { datetime: string }) => {\n handle.setValue(new Date(args.datetime));\n },\n },\n clear: {\n // Discards the selected datetime — loses the user's input.\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.clear',\n description: 'Clear the selected datetime.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.open',\n description: 'Open the datetime popover.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.dateTimePicker.actions.close',\n description: 'Close the datetime popover.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'date-time-picker',\n description: 'Marks the DateTimePicker wrapper.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport * as Popover from '@radix-ui/react-popover';\nimport { DayPicker } from 'react-day-picker';\nimport {\n format as fnsFormat,\n isBefore,\n isAfter,\n setHours,\n setMinutes,\n} from 'date-fns';\nimport { CalendarDays } from 'lucide-react';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useFormField } from '../form-field/form-field-context';\nimport {\n useDateFnsLocale,\n buildDisabledMatcher,\n CalendarChevron,\n calendarClassNames,\n triggerVariants,\n calendarIconVariants,\n popoverContentVariants,\n} from '../_shared';\nimport { TimePicker } from '../time-picker/time-picker';\nimport type { TimeValue } from '../_shared/time';\nimport { useAgentRegistration } from '../../agent';\nimport { dateTimePickerAgent } from './date-time-picker.agent';\n\n/* -------------------------------------------------------------------------- */\n/* Imperative handle */\n/* -------------------------------------------------------------------------- */\n\n/** Curated imperative handle exposed via `ref` — also consumed by the agent adapter. */\nexport interface DateTimePickerHandle {\n /** Get the current selected datetime, or undefined. */\n getValue: () => Date | undefined;\n /** Set the selected datetime. */\n setValue: (date: Date | undefined) => void;\n /** Clear the selected datetime. */\n clear: () => void;\n /** Whether the popover is open. */\n isOpen: () => boolean;\n /** Open the popover. */\n open: () => void;\n /** Close the popover. */\n close: () => void;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Helpers */\n/* -------------------------------------------------------------------------- */\n\n/** Get timezone short name. */\nfunction getTimezoneLabel(locale: string, timezone?: string): string {\n try {\n const opts: Intl.DateTimeFormatOptions = { timeZoneName: 'short' };\n if (timezone && timezone !== 'local') {\n opts.timeZone = timezone === 'utc' ? 'UTC' : timezone;\n }\n const parts = new Intl.DateTimeFormat(locale, opts).formatToParts(\n new Date(),\n );\n return parts.find((p) => p.type === 'timeZoneName')?.value ?? '';\n } catch {\n return '';\n }\n}\n\n/** Check if a timezone differs from the browser's. */\nfunction tzDiffersFromBrowser(timezone?: string): boolean {\n if (!timezone || timezone === 'local') return false;\n try {\n const browserTz = Intl.DateTimeFormat().resolvedOptions().timeZone;\n if (timezone === 'utc') return browserTz !== 'UTC';\n return browserTz !== timezone;\n } catch {\n return false;\n }\n}\n\n/* -------------------------------------------------------------------------- */\n/* CVA variants */\n/* -------------------------------------------------------------------------- */\n\nconst applyButtonVariants = cva(\n [\n 'ds:w-full ds:rounded-[var(--radius-sm)]',\n 'ds:bg-primary ds:text-primary-foreground',\n 'ds:hover:bg-primary-hover ds:cursor-pointer',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:disabled:cursor-not-allowed ds:disabled:opacity-50',\n ].join(' '),\n {\n variants: {\n size: {\n sm: 'ds:h-8 ds:text-[length:var(--font-size-sm)]',\n md: 'ds:h-[var(--min-target-size)] ds:text-[length:var(--font-size-base)]',\n lg: 'ds:h-12 ds:text-[length:var(--font-size-lg)]',\n },\n },\n defaultVariants: { size: 'md' },\n },\n);\n\n/* -------------------------------------------------------------------------- */\n/* Props */\n/* -------------------------------------------------------------------------- */\n\nexport interface DateTimePickerProps extends Pick<\n VariantProps<typeof triggerVariants>,\n 'size'\n> {\n /** Current datetime — controlled. */\n value?: Date;\n /** Default datetime — uncontrolled. */\n defaultValue?: Date;\n /** Called when the datetime changes. */\n onChange?: (date: Date | undefined) => void;\n /** Timezone — IANA string, 'local', or 'utc'. */\n timezone?: string;\n /** Show timezone annotation. Defaults to true when tz differs from browser. */\n showTimezone?: boolean;\n /** Minimum datetime. */\n minDate?: Date;\n /** Maximum datetime. */\n maxDate?: Date;\n /** Force 12h/24h mode. */\n hour12?: boolean;\n /** Minute step for TimePicker. */\n minuteStep?: 1 | 5 | 10 | 15 | 30;\n /** Component size. */\n size?: 'sm' | 'md' | 'lg';\n /** Disabled state. */\n disabled?: boolean;\n /** Placeholder text. */\n placeholder?: string;\n /** Additional class names. */\n className?: string;\n /** id override. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------------- */\n\nexport const DateTimePicker = forwardRef<\n DateTimePickerHandle,\n DateTimePickerProps\n>(\n (\n {\n value,\n defaultValue,\n onChange,\n timezone,\n showTimezone: showTimezoneProp,\n minDate,\n maxDate,\n hour12,\n minuteStep = 1,\n size = 'md',\n disabled,\n placeholder,\n className,\n id,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n const ctx = useFormField();\n const effectiveId = id ?? ctx.id;\n const effectiveDisabled = ctx.disabled || disabled;\n const effectiveTone = ctx.invalid ? 'error' : 'default';\n\n const locale = useDateFnsLocale(i18n.language);\n const placeholderText =\n placeholder ??\n t('inputs.dateTimePicker.placeholder', 'Select date and time');\n const applyLabel = t('inputs.dateTimePicker.apply', 'Apply');\n const outOfRangeLabel = t(\n 'inputs.dateTimePicker.outOfRange',\n 'Date/time is out of allowed range',\n );\n\n const showTimezone =\n showTimezoneProp !== undefined\n ? showTimezoneProp\n : tzDiffersFromBrowser(timezone);\n const timezoneLabel = showTimezone\n ? getTimezoneLabel(i18n.language, timezone)\n : '';\n\n const [currentValueRaw, setDateTimeValue] = useControllableState<\n Date | undefined\n >({\n value,\n defaultValue,\n onChange,\n });\n const currentValue = currentValueRaw;\n\n // Draft state while popover is open\n const [draftDate, setDraftDate] = useState<Date | undefined>(currentValue);\n const [open, setOpen] = useState(false);\n const [month, setMonth] = useState<Date>(currentValue ?? new Date());\n const [rangeError, setRangeError] = useState(false);\n\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const emit = useCallback(\n (date: Date | undefined) => {\n setDateTimeValue(date);\n },\n [setDateTimeValue],\n );\n\n const disabledMatcher = buildDisabledMatcher(minDate, maxDate);\n\n /** Check if a full datetime is within range. */\n const isInRange = useCallback(\n (date: Date): boolean => {\n if (minDate && isBefore(date, minDate)) return false;\n if (maxDate && isAfter(date, maxDate)) return false;\n return true;\n },\n [minDate, maxDate],\n );\n\n // Sync draft when popover opens\n const handleOpenChange = (nextOpen: boolean) => {\n if (nextOpen) {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n }\n setOpen(nextOpen);\n };\n\n const handleDaySelect = (date: Date | undefined) => {\n if (!date) return;\n const prev = draftDate ?? new Date();\n const merged = setMinutes(\n setHours(date, prev.getHours()),\n prev.getMinutes(),\n );\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleTimeChange = (time: TimeValue) => {\n const prev = draftDate ?? new Date();\n const merged = setMinutes(setHours(prev, time.hours), time.minutes);\n setDraftDate(merged);\n setRangeError(!isInRange(merged));\n };\n\n const handleApply = () => {\n if (!draftDate) return;\n if (!isInRange(draftDate)) {\n setRangeError(true);\n return;\n }\n emit(draftDate);\n setOpen(false);\n triggerRef.current?.focus();\n };\n\n // Format display text\n const displayText = currentValue\n ? fnsFormat(currentValue, 'MMM d, yyyy HH:mm', { locale })\n : '';\n\n const calendarLabel = t('inputs.datePicker.gridLabel', 'Calendar');\n const timeLabel = t('inputs.timePicker.groupLabel', 'Time');\n\n const handle = useMemo<DateTimePickerHandle>(\n () => ({\n getValue: () => currentValue,\n setValue: (date) => emit(date),\n clear: () => emit(undefined),\n isOpen: () => open,\n // Mirror the trigger's open behaviour so draft state seeds correctly.\n open: () => {\n setDraftDate(currentValue ?? new Date());\n setMonth(currentValue ?? new Date());\n setRangeError(false);\n setOpen(true);\n },\n close: () => setOpen(false),\n }),\n [currentValue, emit, open],\n );\n\n useImperativeHandle(ref, () => handle, [handle]);\n useAgentRegistration(dateTimePickerAgent, handle, effectiveId);\n\n return (\n <Popover.Root open={open} onOpenChange={handleOpenChange}>\n <div\n className={className}\n data-component=\"date-time-picker\"\n data-component-id={effectiveId}\n >\n <Popover.Trigger asChild disabled={effectiveDisabled}>\n {/* eslint-disable-next-line jsx-a11y/role-supports-aria-props -- FormField propagates invalid state to its trigger; users rely on this for validation announcements */}\n <button\n ref={triggerRef}\n id={effectiveId}\n type=\"button\"\n disabled={effectiveDisabled}\n aria-describedby={ctx.describedBy || undefined}\n aria-invalid={ctx.invalid || undefined}\n // `aria-required` is not valid on `<button>` per ARIA 1.2 — the\n // FormField label's visible asterisk + `aria-describedby` link\n // communicate the required state instead.\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={triggerVariants({ size, tone: effectiveTone })}\n >\n <span\n className={\n displayText\n ? 'ds:text-foreground'\n : 'ds:text-muted-foreground'\n }\n >\n {displayText || placeholderText}\n </span>\n <span\n aria-hidden=\"true\"\n className={calendarIconVariants({ size })}\n >\n <CalendarDays />\n </span>\n </button>\n </Popover.Trigger>\n\n <Popover.Portal>\n <Popover.Content\n sideOffset={4}\n align=\"start\"\n className={popoverContentVariants()}\n >\n <div className=\"ds:flex ds:flex-col ds:sm:flex-row ds:gap-[var(--spacing-md)]\">\n {/* Calendar region */}\n <div role=\"region\" aria-label={calendarLabel}>\n <DayPicker\n mode=\"single\"\n selected={draftDate}\n onSelect={handleDaySelect}\n month={month}\n onMonthChange={setMonth}\n disabled={disabledMatcher}\n locale={locale}\n showOutsideDays\n fixedWeeks\n classNames={calendarClassNames}\n components={{ Chevron: CalendarChevron }}\n />\n </div>\n\n {/* Time + Apply region */}\n <div\n role=\"region\"\n aria-label={timeLabel}\n className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:sm:border-s ds:sm:border-border ds:sm:ps-[var(--spacing-md)] ds:min-w-[10rem]\"\n >\n <TimePicker\n value={\n draftDate\n ? {\n hours: draftDate.getHours(),\n minutes: draftDate.getMinutes(),\n }\n : { hours: 0, minutes: 0 }\n }\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n size={size}\n />\n\n {/* Timezone annotation */}\n {timezoneLabel ? (\n <span className=\"type-meta ds:text-muted-foreground\">\n {timezoneLabel}\n </span>\n ) : null}\n\n {/* Range error */}\n {rangeError ? (\n <span\n role=\"alert\"\n className=\"type-meta ds:text-destructive\"\n >\n {outOfRangeLabel}\n </span>\n ) : null}\n\n {/* Apply button */}\n <button\n type=\"button\"\n onClick={handleApply}\n disabled={!draftDate || rangeError}\n className={applyButtonVariants({ size })}\n >\n {applyLabel}\n </button>\n </div>\n </div>\n </Popover.Content>\n </Popover.Portal>\n </div>\n </Popover.Root>\n );\n },\n);\n\nDateTimePicker.displayName = 'DateTimePicker';\n"],"names":["setHours","date","hours","options","_date","toDate","setMinutes","minutes","date_","dateTimePickerAgent","handle","_a","args","getTimezoneLabel","locale","timezone","opts","p","tzDiffersFromBrowser","browserTz","applyButtonVariants","cva","DateTimePicker","forwardRef","value","defaultValue","onChange","showTimezoneProp","minDate","maxDate","hour12","minuteStep","size","disabled","placeholder","className","id","ref","t","i18n","useTranslation","ctx","useFormField","effectiveId","effectiveDisabled","effectiveTone","useDateFnsLocale","placeholderText","applyLabel","outOfRangeLabel","timezoneLabel","currentValueRaw","setDateTimeValue","useControllableState","currentValue","draftDate","setDraftDate","useState","open","setOpen","month","setMonth","rangeError","setRangeError","triggerRef","useRef","emit","useCallback","disabledMatcher","buildDisabledMatcher","isInRange","isBefore","isAfter","handleOpenChange","nextOpen","handleDaySelect","prev","merged","handleTimeChange","time","handleApply","displayText","fnsFormat","calendarLabel","timeLabel","useMemo","useImperativeHandle","useAgentRegistration","Popover","jsxs","jsx","triggerVariants","calendarIconVariants","CalendarDays","popoverContentVariants","DayPicker","calendarClassNames","CalendarChevron","TimePicker"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { o as s, q as n, r as o, v as u } from "./date-picker-variants-
|
|
1
|
+
import { o as s, q as n, r as o, v as u } from "./date-picker-variants-D9B6hg15.js";
|
|
2
2
|
const d = {
|
|
3
3
|
lessThanXSeconds: {
|
|
4
4
|
standalone: {
|
|
@@ -474,4 +474,4 @@ const d = {
|
|
|
474
474
|
export {
|
|
475
475
|
O as de
|
|
476
476
|
};
|
|
477
|
-
//# sourceMappingURL=de-
|
|
477
|
+
//# sourceMappingURL=de-C3_KZ6mR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-DETDHQ0o.js","sources":["../../node_modules/date-fns/locale/de/_lib/formatDistance.js","../../node_modules/date-fns/locale/de/_lib/formatLong.js","../../node_modules/date-fns/locale/de/_lib/formatRelative.js","../../node_modules/date-fns/locale/de/_lib/localize.js","../../node_modules/date-fns/locale/de/_lib/match.js","../../node_modules/date-fns/locale/de.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n standalone: {\n one: \"weniger als 1 Sekunde\",\n other: \"weniger als {{count}} Sekunden\",\n },\n withPreposition: {\n one: \"weniger als 1 Sekunde\",\n other: \"weniger als {{count}} Sekunden\",\n },\n },\n\n xSeconds: {\n standalone: {\n one: \"1 Sekunde\",\n other: \"{{count}} Sekunden\",\n },\n withPreposition: {\n one: \"1 Sekunde\",\n other: \"{{count}} Sekunden\",\n },\n },\n\n halfAMinute: {\n standalone: \"eine halbe Minute\",\n withPreposition: \"einer halben Minute\",\n },\n\n lessThanXMinutes: {\n standalone: {\n one: \"weniger als 1 Minute\",\n other: \"weniger als {{count}} Minuten\",\n },\n withPreposition: {\n one: \"weniger als 1 Minute\",\n other: \"weniger als {{count}} Minuten\",\n },\n },\n\n xMinutes: {\n standalone: {\n one: \"1 Minute\",\n other: \"{{count}} Minuten\",\n },\n withPreposition: {\n one: \"1 Minute\",\n other: \"{{count}} Minuten\",\n },\n },\n\n aboutXHours: {\n standalone: {\n one: \"etwa 1 Stunde\",\n other: \"etwa {{count}} Stunden\",\n },\n withPreposition: {\n one: \"etwa 1 Stunde\",\n other: \"etwa {{count}} Stunden\",\n },\n },\n\n xHours: {\n standalone: {\n one: \"1 Stunde\",\n other: \"{{count}} Stunden\",\n },\n withPreposition: {\n one: \"1 Stunde\",\n other: \"{{count}} Stunden\",\n },\n },\n\n xDays: {\n standalone: {\n one: \"1 Tag\",\n other: \"{{count}} Tage\",\n },\n withPreposition: {\n one: \"1 Tag\",\n other: \"{{count}} Tagen\",\n },\n },\n\n aboutXWeeks: {\n standalone: {\n one: \"etwa 1 Woche\",\n other: \"etwa {{count}} Wochen\",\n },\n withPreposition: {\n one: \"etwa 1 Woche\",\n other: \"etwa {{count}} Wochen\",\n },\n },\n\n xWeeks: {\n standalone: {\n one: \"1 Woche\",\n other: \"{{count}} Wochen\",\n },\n withPreposition: {\n one: \"1 Woche\",\n other: \"{{count}} Wochen\",\n },\n },\n\n aboutXMonths: {\n standalone: {\n one: \"etwa 1 Monat\",\n other: \"etwa {{count}} Monate\",\n },\n withPreposition: {\n one: \"etwa 1 Monat\",\n other: \"etwa {{count}} Monaten\",\n },\n },\n\n xMonths: {\n standalone: {\n one: \"1 Monat\",\n other: \"{{count}} Monate\",\n },\n withPreposition: {\n one: \"1 Monat\",\n other: \"{{count}} Monaten\",\n },\n },\n\n aboutXYears: {\n standalone: {\n one: \"etwa 1 Jahr\",\n other: \"etwa {{count}} Jahre\",\n },\n withPreposition: {\n one: \"etwa 1 Jahr\",\n other: \"etwa {{count}} Jahren\",\n },\n },\n\n xYears: {\n standalone: {\n one: \"1 Jahr\",\n other: \"{{count}} Jahre\",\n },\n withPreposition: {\n one: \"1 Jahr\",\n other: \"{{count}} Jahren\",\n },\n },\n\n overXYears: {\n standalone: {\n one: \"mehr als 1 Jahr\",\n other: \"mehr als {{count}} Jahre\",\n },\n withPreposition: {\n one: \"mehr als 1 Jahr\",\n other: \"mehr als {{count}} Jahren\",\n },\n },\n\n almostXYears: {\n standalone: {\n one: \"fast 1 Jahr\",\n other: \"fast {{count}} Jahre\",\n },\n withPreposition: {\n one: \"fast 1 Jahr\",\n other: \"fast {{count}} Jahren\",\n },\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = options?.addSuffix\n ? formatDistanceLocale[token].withPreposition\n : formatDistanceLocale[token].standalone;\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return \"vor \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nconst dateFormats = {\n full: \"EEEE, do MMMM y\", // Montag, 7. Januar 2018\n long: \"do MMMM y\", // 7. Januar 2018\n medium: \"do MMM y\", // 7. Jan. 2018\n short: \"dd.MM.y\", // 07.01.2018\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'um' {{time}}\",\n long: \"{{date}} 'um' {{time}}\",\n medium: \"{{date}} {{time}}\",\n short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'letzten' eeee 'um' p\",\n yesterday: \"'gestern um' p\",\n today: \"'heute um' p\",\n tomorrow: \"'morgen um' p\",\n nextWeek: \"eeee 'um' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"v.Chr.\", \"n.Chr.\"],\n abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n wide: [\"vor Christus\", \"nach Christus\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1. Quartal\", \"2. Quartal\", \"3. Quartal\", \"4. Quartal\"],\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mär\",\n \"Apr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Okt\",\n \"Nov\",\n \"Dez\",\n ],\n\n wide: [\n \"Januar\",\n \"Februar\",\n \"März\",\n \"April\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"August\",\n \"September\",\n \"Oktober\",\n \"November\",\n \"Dezember\",\n ],\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nconst formattingMonthValues = {\n narrow: monthValues.narrow,\n abbreviated: [\n \"Jan.\",\n \"Feb.\",\n \"März\",\n \"Apr.\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"Aug.\",\n \"Sep.\",\n \"Okt.\",\n \"Nov.\",\n \"Dez.\",\n ],\n\n wide: monthValues.wide,\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"D\", \"M\", \"D\", \"F\", \"S\"],\n short: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n abbreviated: [\"So.\", \"Mo.\", \"Di.\", \"Mi.\", \"Do.\", \"Fr.\", \"Sa.\"],\n wide: [\n \"Sonntag\",\n \"Montag\",\n \"Dienstag\",\n \"Mittwoch\",\n \"Donnerstag\",\n \"Freitag\",\n \"Samstag\",\n ],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nconst dayPeriodValues = {\n narrow: {\n am: \"vm.\",\n pm: \"nm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"Morgen\",\n afternoon: \"Nachm.\",\n evening: \"Abend\",\n night: \"Nacht\",\n },\n abbreviated: {\n am: \"vorm.\",\n pm: \"nachm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"Morgen\",\n afternoon: \"Nachmittag\",\n evening: \"Abend\",\n night: \"Nacht\",\n },\n wide: {\n am: \"vormittags\",\n pm: \"nachmittags\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"Morgen\",\n afternoon: \"Nachmittag\",\n evening: \"Abend\",\n night: \"Nacht\",\n },\n};\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"vm.\",\n pm: \"nm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"morgens\",\n afternoon: \"nachm.\",\n evening: \"abends\",\n night: \"nachts\",\n },\n abbreviated: {\n am: \"vorm.\",\n pm: \"nachm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"morgens\",\n afternoon: \"nachmittags\",\n evening: \"abends\",\n night: \"nachts\",\n },\n wide: {\n am: \"vormittags\",\n pm: \"nachmittags\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"morgens\",\n afternoon: \"nachmittags\",\n evening: \"abends\",\n night: \"nachts\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber) => {\n const number = Number(dirtyNumber);\n\n return number + \".\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n formattingValues: formattingMonthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i,\n};\nconst parseEraPatterns = {\n any: [/^v/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? Quartal/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated:\n /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^j[aä]/i,\n /^f/i,\n /^mär/i,\n /^ap/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smdmf]/i,\n short: /^(so|mo|di|mi|do|fr|sa)/i,\n abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i,\n};\nconst parseDayPatterns = {\n any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n abbreviated:\n /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^v/i,\n pm: /^n/i,\n midnight: /^Mitte/i,\n noon: /^Mitta/i,\n morning: /morgens/i,\n afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm`\n evening: /abends/i,\n night: /nachts/i, // will never be matched. Night is matched by `pm`\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./de/_lib/formatDistance.js\";\nimport { formatLong } from \"./de/_lib/formatLong.js\";\nimport { formatRelative } from \"./de/_lib/formatRelative.js\";\nimport { localize } from \"./de/_lib/localize.js\";\nimport { match } from \"./de/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu)\n * @author Asia [@asia-t](https://github.com/asia-t)\n * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo)\n * @author RomanErnst [@pex](https://github.com/pex)\n * @author Philipp Keck [@Philipp91](https://github.com/Philipp91)\n */\nexport const de = {\n code: \"de\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default de;\n"],"names":["formatDistanceLocale","formatDistance","token","count","options","result","tokenValue","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","_options","eraValues","quarterValues","monthValues","formattingMonthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","localize","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","de"],"mappings":";AAAA,MAAMA,IAAuB;AAAA,EAC3B,kBAAkB;AAAA,IAChB,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,UAAU;AAAA,IACR,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,aAAa;AAAA,IACX,YAAY;AAAA,IACZ,iBAAiB;AAAA,EACrB;AAAA,EAEE,kBAAkB;AAAA,IAChB,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,UAAU;AAAA,IACR,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,aAAa;AAAA,IACX,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,QAAQ;AAAA,IACN,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,OAAO;AAAA,IACL,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,aAAa;AAAA,IACX,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,QAAQ;AAAA,IACN,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,cAAc;AAAA,IACZ,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,SAAS;AAAA,IACP,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,aAAa;AAAA,IACX,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,QAAQ;AAAA,IACN,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,YAAY;AAAA,IACV,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AAAA,EAEE,cAAc;AAAA,IACZ,YAAY;AAAA,MACV,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,IACI,iBAAiB;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,IACb;AAAA,EACA;AACA,GAEaC,IAAiB,CAACC,GAAOC,GAAOC,MAAY;AACvD,MAAIC;AAEJ,QAAMC,IAAaF,KAAA,QAAAA,EAAS,YACxBJ,EAAqBE,CAAK,EAAE,kBAC5BF,EAAqBE,CAAK,EAAE;AAShC,SARI,OAAOI,KAAe,WACxBD,IAASC,IACAH,MAAU,IACnBE,IAASC,EAAW,MAEpBD,IAASC,EAAW,MAAM,QAAQ,aAAa,OAAOH,CAAK,CAAC,GAG1DC,KAAA,QAAAA,EAAS,YACPA,EAAQ,cAAcA,EAAQ,aAAa,IACtC,QAAQC,IAER,SAASA,IAIbA;AACT,GChMME,IAAc;AAAA,EAClB,MAAM;AAAA;AAAA,EACN,MAAM;AAAA;AAAA,EACN,QAAQ;AAAA;AAAA,EACR,OAAO;AAAA;AACT,GAEMC,IAAc;AAAA,EAClB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AACT,GAEMC,IAAkB;AAAA,EACtB,MAAM;AAAA,EACN,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AACT,GAEaC,IAAa;AAAA,EACxB,MAAMC,EAAkB;AAAA,IACtB,SAASJ;AAAA,IACT,cAAc;AAAA,EAClB,CAAG;AAAA,EAED,MAAMI,EAAkB;AAAA,IACtB,SAASH;AAAA,IACT,cAAc;AAAA,EAClB,CAAG;AAAA,EAED,UAAUG,EAAkB;AAAA,IAC1B,SAASF;AAAA,IACT,cAAc;AAAA,EAClB,CAAG;AACH,GCvCMG,IAAuB;AAAA,EAC3B,UAAU;AAAA,EACV,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AACT,GAEaC,IAAiB,CAACX,GAAOY,GAAOC,GAAWC,MACtDJ,EAAqBV,CAAK,GCRtBe,IAAY;AAAA,EAChB,QAAQ,CAAC,UAAU,QAAQ;AAAA,EAC3B,aAAa,CAAC,UAAU,QAAQ;AAAA,EAChC,MAAM,CAAC,gBAAgB,eAAe;AACxC,GAEMC,IAAgB;AAAA,EACpB,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG;AAAA,EAC3B,aAAa,CAAC,MAAM,MAAM,MAAM,IAAI;AAAA,EACpC,MAAM,CAAC,cAAc,cAAc,cAAc,YAAY;AAC/D,GAMMC,IAAc;AAAA,EAClB,QAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,EACnE,aAAa;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEE,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACA,GAGMC,IAAwB;AAAA,EAC5B,QAAQD,EAAY;AAAA,EACpB,aAAa;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEE,MAAMA,EAAY;AACpB,GAEME,IAAY;AAAA,EAChB,QAAQ,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,GAAG;AAAA,EAC1C,OAAO,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,EAChD,aAAa,CAAC,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,KAAK;AAAA,EAC7D,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACA,GAGMC,IAAkB;AAAA,EACtB,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AAAA,EACE,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AAAA,EACE,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AACA,GACMC,IAA4B;AAAA,EAChC,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AAAA,EACE,aAAa;AAAA,IACX,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AAAA,EACE,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA,EACX;AACA,GAEMC,IAAgB,CAACC,MACN,OAAOA,CAAW,IAEjB,KAGLC,IAAW;AAAA,EACtB,eAAAF;AAAA,EAEA,KAAKG,EAAgB;AAAA,IACnB,QAAQV;AAAA,IACR,cAAc;AAAA,EAClB,CAAG;AAAA,EAED,SAASU,EAAgB;AAAA,IACvB,QAAQT;AAAA,IACR,cAAc;AAAA,IACd,kBAAkB,CAACU,MAAYA,IAAU;AAAA,EAC7C,CAAG;AAAA,EAED,OAAOD,EAAgB;AAAA,IACrB,QAAQR;AAAA,IACR,kBAAkBC;AAAA,IAClB,cAAc;AAAA,EAClB,CAAG;AAAA,EAED,KAAKO,EAAgB;AAAA,IACnB,QAAQN;AAAA,IACR,cAAc;AAAA,EAClB,CAAG;AAAA,EAED,WAAWM,EAAgB;AAAA,IACzB,QAAQL;AAAA,IACR,cAAc;AAAA,IACd,kBAAkBC;AAAA,IAClB,wBAAwB;AAAA,EAC5B,CAAG;AACH,GC3LMM,IAA4B,gBAC5BC,IAA4B,QAE5BC,IAAmB;AAAA,EACvB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAmB;AAAA,EACvB,KAAK,CAAC,OAAO,KAAK;AACpB,GAEMC,IAAuB;AAAA,EAC3B,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAuB;AAAA,EAC3B,KAAK,CAAC,MAAM,MAAM,MAAM,IAAI;AAC9B,GAEMC,IAAqB;AAAA,EACzB,QAAQ;AAAA,EACR,aACE;AAAA,EACF,MAAM;AACR,GACMC,IAAqB;AAAA,EACzB,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EAEE,KAAK;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACA,GAEMC,IAAmB;AAAA,EACvB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,aAAa;AAAA,EACb,MAAM;AACR,GACMC,IAAmB;AAAA,EACvB,KAAK,CAAC,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,OAAO,MAAM;AAC7D,GAEMC,IAAyB;AAAA,EAC7B,QAAQ;AAAA,EACR,aACE;AAAA,EACF,MAAM;AACR,GACMC,IAAyB;AAAA,EAC7B,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,IACT,WAAW;AAAA;AAAA,IACX,SAAS;AAAA,IACT,OAAO;AAAA;AAAA,EACX;AACA,GAEaC,IAAQ;AAAA,EACnB,eAAeC,EAAoB;AAAA,IACjC,cAAcb;AAAA,IACd,cAAcC;AAAA,IACd,eAAe,CAACa,MAAU,SAASA,CAAK;AAAA,EAC5C,CAAG;AAAA,EAED,KAAKC,EAAa;AAAA,IAChB,eAAeb;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AAAA,EAED,SAASY,EAAa;AAAA,IACpB,eAAeX;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAe,CAACW,MAAUA,IAAQ;AAAA,EACtC,CAAG;AAAA,EAED,OAAOD,EAAa;AAAA,IAClB,eAAeT;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AAAA,EAED,KAAKQ,EAAa;AAAA,IAChB,eAAeP;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AAAA,EAED,WAAWM,EAAa;AAAA,IACtB,eAAeL;AAAA,IACf,mBAAmB;AAAA,IACnB,eAAeC;AAAA,IACf,mBAAmB;AAAA,EACvB,CAAG;AACH,GCpHaM,IAAK;AAAA,EAChB,MAAM;AAAA,EACN,gBAAgB7C;AAAA,EAChB,YAAYS;AAAA,EACZ,gBAAgBG;AAAA,EAChB,UAAUa;AAAA,EACV,OAAOe;AAAA,EACP,SAAS;AAAA,IACP,cAAc;AAAA,IACd,uBAAuB;AAAA,EAC3B;AACA;","x_google_ignoreList":[0,1,2,3,4,5]}
|
|
1
|
+
{"version":3,"file":"de-C3_KZ6mR.js","sources":["../../node_modules/date-fns/locale/de/_lib/formatDistance.js","../../node_modules/date-fns/locale/de/_lib/formatLong.js","../../node_modules/date-fns/locale/de/_lib/formatRelative.js","../../node_modules/date-fns/locale/de/_lib/localize.js","../../node_modules/date-fns/locale/de/_lib/match.js","../../node_modules/date-fns/locale/de.js"],"sourcesContent":["const formatDistanceLocale = {\n lessThanXSeconds: {\n standalone: {\n one: \"weniger als 1 Sekunde\",\n other: \"weniger als {{count}} Sekunden\",\n },\n withPreposition: {\n one: \"weniger als 1 Sekunde\",\n other: \"weniger als {{count}} Sekunden\",\n },\n },\n\n xSeconds: {\n standalone: {\n one: \"1 Sekunde\",\n other: \"{{count}} Sekunden\",\n },\n withPreposition: {\n one: \"1 Sekunde\",\n other: \"{{count}} Sekunden\",\n },\n },\n\n halfAMinute: {\n standalone: \"eine halbe Minute\",\n withPreposition: \"einer halben Minute\",\n },\n\n lessThanXMinutes: {\n standalone: {\n one: \"weniger als 1 Minute\",\n other: \"weniger als {{count}} Minuten\",\n },\n withPreposition: {\n one: \"weniger als 1 Minute\",\n other: \"weniger als {{count}} Minuten\",\n },\n },\n\n xMinutes: {\n standalone: {\n one: \"1 Minute\",\n other: \"{{count}} Minuten\",\n },\n withPreposition: {\n one: \"1 Minute\",\n other: \"{{count}} Minuten\",\n },\n },\n\n aboutXHours: {\n standalone: {\n one: \"etwa 1 Stunde\",\n other: \"etwa {{count}} Stunden\",\n },\n withPreposition: {\n one: \"etwa 1 Stunde\",\n other: \"etwa {{count}} Stunden\",\n },\n },\n\n xHours: {\n standalone: {\n one: \"1 Stunde\",\n other: \"{{count}} Stunden\",\n },\n withPreposition: {\n one: \"1 Stunde\",\n other: \"{{count}} Stunden\",\n },\n },\n\n xDays: {\n standalone: {\n one: \"1 Tag\",\n other: \"{{count}} Tage\",\n },\n withPreposition: {\n one: \"1 Tag\",\n other: \"{{count}} Tagen\",\n },\n },\n\n aboutXWeeks: {\n standalone: {\n one: \"etwa 1 Woche\",\n other: \"etwa {{count}} Wochen\",\n },\n withPreposition: {\n one: \"etwa 1 Woche\",\n other: \"etwa {{count}} Wochen\",\n },\n },\n\n xWeeks: {\n standalone: {\n one: \"1 Woche\",\n other: \"{{count}} Wochen\",\n },\n withPreposition: {\n one: \"1 Woche\",\n other: \"{{count}} Wochen\",\n },\n },\n\n aboutXMonths: {\n standalone: {\n one: \"etwa 1 Monat\",\n other: \"etwa {{count}} Monate\",\n },\n withPreposition: {\n one: \"etwa 1 Monat\",\n other: \"etwa {{count}} Monaten\",\n },\n },\n\n xMonths: {\n standalone: {\n one: \"1 Monat\",\n other: \"{{count}} Monate\",\n },\n withPreposition: {\n one: \"1 Monat\",\n other: \"{{count}} Monaten\",\n },\n },\n\n aboutXYears: {\n standalone: {\n one: \"etwa 1 Jahr\",\n other: \"etwa {{count}} Jahre\",\n },\n withPreposition: {\n one: \"etwa 1 Jahr\",\n other: \"etwa {{count}} Jahren\",\n },\n },\n\n xYears: {\n standalone: {\n one: \"1 Jahr\",\n other: \"{{count}} Jahre\",\n },\n withPreposition: {\n one: \"1 Jahr\",\n other: \"{{count}} Jahren\",\n },\n },\n\n overXYears: {\n standalone: {\n one: \"mehr als 1 Jahr\",\n other: \"mehr als {{count}} Jahre\",\n },\n withPreposition: {\n one: \"mehr als 1 Jahr\",\n other: \"mehr als {{count}} Jahren\",\n },\n },\n\n almostXYears: {\n standalone: {\n one: \"fast 1 Jahr\",\n other: \"fast {{count}} Jahre\",\n },\n withPreposition: {\n one: \"fast 1 Jahr\",\n other: \"fast {{count}} Jahren\",\n },\n },\n};\n\nexport const formatDistance = (token, count, options) => {\n let result;\n\n const tokenValue = options?.addSuffix\n ? formatDistanceLocale[token].withPreposition\n : formatDistanceLocale[token].standalone;\n if (typeof tokenValue === \"string\") {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace(\"{{count}}\", String(count));\n }\n\n if (options?.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return \"in \" + result;\n } else {\n return \"vor \" + result;\n }\n }\n\n return result;\n};\n","import { buildFormatLongFn } from \"../../_lib/buildFormatLongFn.js\";\n\n// DIN 5008: https://de.wikipedia.org/wiki/Datumsformat#DIN_5008\nconst dateFormats = {\n full: \"EEEE, do MMMM y\", // Montag, 7. Januar 2018\n long: \"do MMMM y\", // 7. Januar 2018\n medium: \"do MMM y\", // 7. Jan. 2018\n short: \"dd.MM.y\", // 07.01.2018\n};\n\nconst timeFormats = {\n full: \"HH:mm:ss zzzz\",\n long: \"HH:mm:ss z\",\n medium: \"HH:mm:ss\",\n short: \"HH:mm\",\n};\n\nconst dateTimeFormats = {\n full: \"{{date}} 'um' {{time}}\",\n long: \"{{date}} 'um' {{time}}\",\n medium: \"{{date}} {{time}}\",\n short: \"{{date}} {{time}}\",\n};\n\nexport const formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: \"full\",\n }),\n\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: \"full\",\n }),\n\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: \"full\",\n }),\n};\n","const formatRelativeLocale = {\n lastWeek: \"'letzten' eeee 'um' p\",\n yesterday: \"'gestern um' p\",\n today: \"'heute um' p\",\n tomorrow: \"'morgen um' p\",\n nextWeek: \"eeee 'um' p\",\n other: \"P\",\n};\n\nexport const formatRelative = (token, _date, _baseDate, _options) =>\n formatRelativeLocale[token];\n","import { buildLocalizeFn } from \"../../_lib/buildLocalizeFn.js\";\n\nconst eraValues = {\n narrow: [\"v.Chr.\", \"n.Chr.\"],\n abbreviated: [\"v.Chr.\", \"n.Chr.\"],\n wide: [\"vor Christus\", \"nach Christus\"],\n};\n\nconst quarterValues = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1. Quartal\", \"2. Quartal\", \"3. Quartal\", \"4. Quartal\"],\n};\n\n// Note: in German, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nconst monthValues = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\n \"Jan\",\n \"Feb\",\n \"Mär\",\n \"Apr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Okt\",\n \"Nov\",\n \"Dez\",\n ],\n\n wide: [\n \"Januar\",\n \"Februar\",\n \"März\",\n \"April\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"August\",\n \"September\",\n \"Oktober\",\n \"November\",\n \"Dezember\",\n ],\n};\n\n// https://st.unicode.org/cldr-apps/v#/de/Gregorian/\nconst formattingMonthValues = {\n narrow: monthValues.narrow,\n abbreviated: [\n \"Jan.\",\n \"Feb.\",\n \"März\",\n \"Apr.\",\n \"Mai\",\n \"Juni\",\n \"Juli\",\n \"Aug.\",\n \"Sep.\",\n \"Okt.\",\n \"Nov.\",\n \"Dez.\",\n ],\n\n wide: monthValues.wide,\n};\n\nconst dayValues = {\n narrow: [\"S\", \"M\", \"D\", \"M\", \"D\", \"F\", \"S\"],\n short: [\"So\", \"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\"],\n abbreviated: [\"So.\", \"Mo.\", \"Di.\", \"Mi.\", \"Do.\", \"Fr.\", \"Sa.\"],\n wide: [\n \"Sonntag\",\n \"Montag\",\n \"Dienstag\",\n \"Mittwoch\",\n \"Donnerstag\",\n \"Freitag\",\n \"Samstag\",\n ],\n};\n\n// https://www.unicode.org/cldr/charts/32/summary/de.html#1881\nconst dayPeriodValues = {\n narrow: {\n am: \"vm.\",\n pm: \"nm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"Morgen\",\n afternoon: \"Nachm.\",\n evening: \"Abend\",\n night: \"Nacht\",\n },\n abbreviated: {\n am: \"vorm.\",\n pm: \"nachm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"Morgen\",\n afternoon: \"Nachmittag\",\n evening: \"Abend\",\n night: \"Nacht\",\n },\n wide: {\n am: \"vormittags\",\n pm: \"nachmittags\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"Morgen\",\n afternoon: \"Nachmittag\",\n evening: \"Abend\",\n night: \"Nacht\",\n },\n};\nconst formattingDayPeriodValues = {\n narrow: {\n am: \"vm.\",\n pm: \"nm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"morgens\",\n afternoon: \"nachm.\",\n evening: \"abends\",\n night: \"nachts\",\n },\n abbreviated: {\n am: \"vorm.\",\n pm: \"nachm.\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"morgens\",\n afternoon: \"nachmittags\",\n evening: \"abends\",\n night: \"nachts\",\n },\n wide: {\n am: \"vormittags\",\n pm: \"nachmittags\",\n midnight: \"Mitternacht\",\n noon: \"Mittag\",\n morning: \"morgens\",\n afternoon: \"nachmittags\",\n evening: \"abends\",\n night: \"nachts\",\n },\n};\n\nconst ordinalNumber = (dirtyNumber) => {\n const number = Number(dirtyNumber);\n\n return number + \".\";\n};\n\nexport const localize = {\n ordinalNumber,\n\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: \"wide\",\n }),\n\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: \"wide\",\n argumentCallback: (quarter) => quarter - 1,\n }),\n\n month: buildLocalizeFn({\n values: monthValues,\n formattingValues: formattingMonthValues,\n defaultWidth: \"wide\",\n }),\n\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: \"wide\",\n }),\n\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: \"wide\",\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: \"wide\",\n }),\n};\n","import { buildMatchFn } from \"../../_lib/buildMatchFn.js\";\nimport { buildMatchPatternFn } from \"../../_lib/buildMatchPatternFn.js\";\n\nconst matchOrdinalNumberPattern = /^(\\d+)(\\.)?/i;\nconst parseOrdinalNumberPattern = /\\d+/i;\n\nconst matchEraPatterns = {\n narrow: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n abbreviated: /^(v\\.? ?Chr\\.?|n\\.? ?Chr\\.?)/i,\n wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i,\n};\nconst parseEraPatterns = {\n any: [/^v/i, /^n/i],\n};\n\nconst matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](\\.)? Quartal/i,\n};\nconst parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i],\n};\n\nconst matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated:\n /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\\.?/i,\n wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i,\n};\nconst parseMonthPatterns = {\n narrow: [\n /^j/i,\n /^f/i,\n /^m/i,\n /^a/i,\n /^m/i,\n /^j/i,\n /^j/i,\n /^a/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n\n any: [\n /^j[aä]/i,\n /^f/i,\n /^mär/i,\n /^ap/i,\n /^mai/i,\n /^jun/i,\n /^jul/i,\n /^au/i,\n /^s/i,\n /^o/i,\n /^n/i,\n /^d/i,\n ],\n};\n\nconst matchDayPatterns = {\n narrow: /^[smdmf]/i,\n short: /^(so|mo|di|mi|do|fr|sa)/i,\n abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\\.?/i,\n wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i,\n};\nconst parseDayPatterns = {\n any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i],\n};\n\nconst matchDayPeriodPatterns = {\n narrow: /^(vm\\.?|nm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n abbreviated:\n /^(vorm\\.?|nachm\\.?|Mitternacht|Mittag|morgens|nachm\\.?|abends|nachts)/i,\n wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i,\n};\nconst parseDayPeriodPatterns = {\n any: {\n am: /^v/i,\n pm: /^n/i,\n midnight: /^Mitte/i,\n noon: /^Mitta/i,\n morning: /morgens/i,\n afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm`\n evening: /abends/i,\n night: /nachts/i, // will never be matched. Night is matched by `pm`\n },\n};\n\nexport const match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: (value) => parseInt(value),\n }),\n\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseEraPatterns,\n defaultParseWidth: \"any\",\n }),\n\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: \"any\",\n valueCallback: (index) => index + 1,\n }),\n\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: \"any\",\n }),\n\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPatterns,\n defaultParseWidth: \"any\",\n }),\n\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: \"wide\",\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: \"any\",\n }),\n};\n","import { formatDistance } from \"./de/_lib/formatDistance.js\";\nimport { formatLong } from \"./de/_lib/formatLong.js\";\nimport { formatRelative } from \"./de/_lib/formatRelative.js\";\nimport { localize } from \"./de/_lib/localize.js\";\nimport { match } from \"./de/_lib/match.js\";\n\n/**\n * @category Locales\n * @summary German locale.\n * @language German\n * @iso-639-2 deu\n * @author Thomas Eilmsteiner [@DeMuu](https://github.com/DeMuu)\n * @author Asia [@asia-t](https://github.com/asia-t)\n * @author Van Vuong Ngo [@vanvuongngo](https://github.com/vanvuongngo)\n * @author RomanErnst [@pex](https://github.com/pex)\n * @author Philipp Keck [@Philipp91](https://github.com/Philipp91)\n */\nexport const de = {\n code: \"de\",\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 1 /* Monday */,\n firstWeekContainsDate: 4,\n },\n};\n\n// Fallback for modularized imports:\nexport default de;\n"],"names":["formatDistanceLocale","formatDistance","token","count","options","result","tokenValue","dateFormats","timeFormats","dateTimeFormats","formatLong","buildFormatLongFn","formatRelativeLocale","formatRelative","_date","_baseDate","_options","eraValues","quarterValues","monthValues","formattingMonthValues","dayValues","dayPeriodValues","formattingDayPeriodValues","ordinalNumber","dirtyNumber","localize","buildLocalizeFn","quarter","matchOrdinalNumberPattern","parseOrdinalNumberPattern","matchEraPatterns","parseEraPatterns","matchQuarterPatterns","parseQuarterPatterns","matchMonthPatterns","parseMonthPatterns","matchDayPatterns","parseDayPatterns","matchDayPeriodPatterns","parseDayPeriodPatterns","match","buildMatchPatternFn","value","buildMatchFn","index","de"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}
|