@box-kite/react 2.4.0 → 2.4.1
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/.claude/rules/box-kite-rules.md +1 -1
- package/.claude/skills/box-kite/SKILL.md +1 -1
- package/.claude/skills/box-kite/references/components.md +7 -0
- package/.claude/skills/box-kite/references/rules.md +2 -2
- package/.claude/skills/box-kite/references/styling.md +5 -3
- package/.cursor/rules/box-kite.mdc +1 -1
- package/AGENTS.md +1 -1
- package/BOX_AI_CONTEXT.md +77 -7
- package/BOX_KITE_AI_CONTEXT.md +77 -7
- package/box.cjs +1 -1
- package/box.d.ts +5 -0
- package/box.mjs +5 -5
- package/catalog.cjs +1 -1
- package/catalog.mjs +53 -18
- package/client.cjs +1 -1
- package/client.mjs +7 -7
- package/components/accordion.cjs +1 -1
- package/components/accordion.mjs +1 -1
- package/components/button.cjs +1 -1
- package/components/button.mjs +1 -1
- package/components/calendar.cjs +1 -1
- package/components/calendar.mjs +1 -1
- package/components/chart.cjs +1 -1
- package/components/chart.mjs +3 -3
- package/components/checkbox.cjs +1 -1
- package/components/checkbox.mjs +1 -1
- package/components/combobox.cjs +1 -1
- package/components/combobox.mjs +70 -70
- package/components/dashboard.cjs +1 -1
- package/components/dashboard.mjs +1 -1
- package/components/dateField.cjs +1 -1
- package/components/dateField.mjs +16 -16
- package/components/datePicker.cjs +1 -1
- package/components/datePicker.mjs +1 -1
- package/components/dateTime.cjs +1 -1
- package/components/dateTime.mjs +1 -1
- package/components/dialog.cjs +1 -1
- package/components/dialog.mjs +1 -1
- package/components/flex.cjs +1 -1
- package/components/flex.mjs +1 -1
- package/components/flow.cjs +1 -0
- package/components/flow.d.ts +56 -0
- package/components/flow.mjs +98 -0
- package/components/form.cjs +1 -1
- package/components/form.mjs +1 -1
- package/components/grid.cjs +1 -1
- package/components/grid.mjs +1 -1
- package/components/icon.cjs +1 -1
- package/components/icon.mjs +1 -1
- package/components/list.cjs +1 -1
- package/components/list.mjs +1 -1
- package/components/menu.cjs +1 -1
- package/components/menu.mjs +1 -1
- package/components/popover.cjs +1 -1
- package/components/popover.mjs +1 -1
- package/components/radioButton.cjs +1 -1
- package/components/radioButton.mjs +1 -1
- package/components/radioGroup.cjs +1 -1
- package/components/radioGroup.mjs +1 -1
- package/components/semantics.cjs +1 -1
- package/components/semantics.d.ts +32 -30
- package/components/semantics.mjs +3 -3
- package/components/skeleton.cjs +1 -1
- package/components/skeleton.mjs +1 -0
- package/components/slider.cjs +1 -1
- package/components/slider.mjs +1 -1
- package/components/sortableList.cjs +1 -1
- package/components/sortableList.mjs +1 -1
- package/components/svg.cjs +1 -1
- package/components/svg.mjs +14 -14
- package/components/swipeItem.cjs +1 -1
- package/components/swipeItem.mjs +1 -1
- package/components/tabs.cjs +1 -1
- package/components/tabs.mjs +1 -1
- package/components/textarea.cjs +1 -1
- package/components/textarea.mjs +1 -1
- package/components/textbox.cjs +1 -1
- package/components/textbox.mjs +1 -1
- package/components/toaster.cjs +1 -1
- package/components/toaster.mjs +1 -1
- package/components/tooltip.cjs +1 -1
- package/components/tooltip.mjs +1 -1
- package/components/virtualList.cjs +1 -1
- package/components/virtualList.mjs +1 -1
- package/components/visuallyHidden.cjs +1 -1
- package/components/visuallyHidden.mjs +1 -1
- package/docs/components.md +1 -0
- package/docs/props.md +1 -1
- package/package.json +43 -29
- package/react/boxClassNames.d.ts +2 -2
- package/react-shared.cjs +1 -1
- package/react-shared.mjs +42 -3
- package/rsc.cjs +1 -1
- package/rsc.d.ts +1 -0
- package/rsc.mjs +2 -2
- package/utils/catalog/catalogContracts.d.ts +0 -10
- package/utils/flow/flowPalette.d.ts +17 -0
- package/utils/flow/flowUtils.d.ts +47 -0
package/components/combobox.mjs
CHANGED
|
@@ -308,14 +308,14 @@ var D = /* @__PURE__ */ new Set([
|
|
|
308
308
|
"ArrowRight"
|
|
309
309
|
]);
|
|
310
310
|
function O(f, m) {
|
|
311
|
-
let { data: S, def: T, label: E, labelProps: ee, placeholder: te, name: O, disabled: k, props: A, itemsProps: re, hideIcon: ie, filter: j = C.filterRows, loading: M, loadingText: ae = "Loading...", emptyText: N = "No results", createRow: P, createLabel: oe = (e) => `Create "${e}"`, removeLabel: se = (e) => `Remove ${e}`, virtualize: F, query: I, defaultQuery: ce, onQueryChange: le, open: ue, defaultOpen: de, onOpenChange: fe, multiple: L = !1, value: R, defaultValue: pe, onValueChange: me, ...z } = f, B = s("combobox"),
|
|
311
|
+
let { data: S, def: T, label: E, labelProps: ee, placeholder: te, name: O, disabled: k, props: A, itemsProps: re, hideIcon: ie, filter: j = C.filterRows, loading: M, loadingText: ae = "Loading...", emptyText: N = "No results", createRow: P, createLabel: oe = (e) => `Create "${e}"`, removeLabel: se = (e) => `Remove ${e}`, virtualize: F, query: I, defaultQuery: ce, onQueryChange: le, open: ue, defaultOpen: de, onOpenChange: fe, multiple: L = !1, value: R, defaultValue: pe, onValueChange: me, id: he, ...z } = f, B = s("combobox"), ge = he ?? A?.id ?? `${B}-field`, _e = `${B}-listbox`, ve = `${B}-label`, ye = E != null && E !== !1, be = h((e) => `${B}-option-${e}`, [B]), V = _(null), xe = _(null), H = _(null), Se = h((t) => {
|
|
312
312
|
H.current = t, e(m, t);
|
|
313
|
-
}, [m]),
|
|
313
|
+
}, [m]), Ce = r((e, t) => {
|
|
314
314
|
me?.(L ? e : e[0] ?? null, t);
|
|
315
|
-
}),
|
|
316
|
-
value:
|
|
315
|
+
}), we = g(() => R === void 0 ? void 0 : C.toArray(R), [R]), [U, Te] = c({
|
|
316
|
+
value: we,
|
|
317
317
|
defaultValue: () => C.toArray(pe),
|
|
318
|
-
onChange:
|
|
318
|
+
onChange: Ce,
|
|
319
319
|
interaction: {
|
|
320
320
|
component: "combobox",
|
|
321
321
|
type: "valueChange",
|
|
@@ -329,25 +329,25 @@ function O(f, m) {
|
|
|
329
329
|
component: "combobox",
|
|
330
330
|
type: "openChange"
|
|
331
331
|
}
|
|
332
|
-
}), [
|
|
332
|
+
}), [Ee, K] = i({
|
|
333
333
|
value: I,
|
|
334
334
|
defaultValue: ce ?? "",
|
|
335
335
|
onChange: le
|
|
336
|
-
}), [
|
|
336
|
+
}), [De, q] = v(!1), J = h((e) => C.keyOf(T, e), [T]), Oe = L || U[0] === void 0 ? "" : C.labelOf(T, U[0]), Y = De || Ee !== "" ? Ee : Oe, X = g(() => C.rowsFor({
|
|
337
337
|
data: S,
|
|
338
338
|
def: T,
|
|
339
339
|
query: Y,
|
|
340
340
|
filter: j,
|
|
341
|
-
typed:
|
|
341
|
+
typed: De,
|
|
342
342
|
createRow: P
|
|
343
343
|
}), [
|
|
344
344
|
S,
|
|
345
345
|
T,
|
|
346
346
|
Y,
|
|
347
347
|
j,
|
|
348
|
-
|
|
348
|
+
De,
|
|
349
349
|
P
|
|
350
|
-
]),
|
|
350
|
+
]), ke = h((e) => X[e] ? C.isRowDisabled(T, X[e]) : !1, [X, T]), Ae = r((e, t) => {
|
|
351
351
|
G(!1, {
|
|
352
352
|
reason: e,
|
|
353
353
|
event: t
|
|
@@ -357,11 +357,11 @@ function O(f, m) {
|
|
|
357
357
|
}));
|
|
358
358
|
}), Z = r((e, t) => {
|
|
359
359
|
let n = X[e];
|
|
360
|
-
if (!n ||
|
|
360
|
+
if (!n || ke(e)) return;
|
|
361
361
|
let r = n.kind === "create" ? P?.(n.query) : n.row;
|
|
362
362
|
if (r == null) return;
|
|
363
363
|
let i = C.isSelected(U, r, J), a = n.kind === "create" ? "create" : i && L ? "deselect" : "select";
|
|
364
|
-
|
|
364
|
+
Te(C.toggle(U, r, L, J), {
|
|
365
365
|
reason: a,
|
|
366
366
|
event: t
|
|
367
367
|
}), q(!1), K("", {
|
|
@@ -371,126 +371,126 @@ function O(f, m) {
|
|
|
371
371
|
reason: "select",
|
|
372
372
|
event: t
|
|
373
373
|
});
|
|
374
|
-
}),
|
|
374
|
+
}), je = o({
|
|
375
375
|
count: X.length,
|
|
376
376
|
focusItems: !1,
|
|
377
377
|
defaultActiveIndex: -1,
|
|
378
|
-
isDisabled:
|
|
378
|
+
isDisabled: ke,
|
|
379
379
|
onSelect: Z
|
|
380
|
-
}), { activeIndex: Q, setActiveIndex:
|
|
380
|
+
}), { activeIndex: Q, setActiveIndex: Me, activeItem: Ne } = je;
|
|
381
381
|
a({
|
|
382
382
|
enabled: W,
|
|
383
|
-
inside: [V,
|
|
384
|
-
onDismiss: (e, t) =>
|
|
383
|
+
inside: [V, xe],
|
|
384
|
+
onDismiss: (e, t) => Ae(e === "escape" ? "escape" : "outside-pointer", t)
|
|
385
385
|
}), t(() => {
|
|
386
|
-
!W || Q === -1 ||
|
|
386
|
+
!W || Q === -1 || Ne()?.scrollIntoView?.({ block: "nearest" });
|
|
387
387
|
}, [
|
|
388
388
|
W,
|
|
389
389
|
Q,
|
|
390
|
-
|
|
390
|
+
Ne
|
|
391
391
|
]);
|
|
392
|
-
let $ =
|
|
392
|
+
let $ = ye ? ve : A?.["aria-labelledby"], Pe = A?.["aria-label"], [Fe, Ie] = v();
|
|
393
393
|
t(() => {
|
|
394
|
-
if (!W || $ ||
|
|
394
|
+
if (!W || $ || Pe) return;
|
|
395
395
|
let e = Array.from(H.current?.labels ?? [], (e) => e.textContent?.trim() ?? "").filter(Boolean).join(" ") || void 0;
|
|
396
|
-
e !==
|
|
396
|
+
e !== Fe && Ie(e);
|
|
397
397
|
}, [
|
|
398
398
|
W,
|
|
399
399
|
$,
|
|
400
|
-
|
|
401
|
-
|
|
400
|
+
Pe,
|
|
401
|
+
Fe
|
|
402
402
|
]);
|
|
403
|
-
let
|
|
403
|
+
let Le = $ ? { "aria-labelledby": $ } : { "aria-label": Pe ?? Fe }, Re = (e, t, n) => {
|
|
404
404
|
G(!0, {
|
|
405
405
|
reason: n,
|
|
406
406
|
event: t
|
|
407
407
|
});
|
|
408
408
|
let r = e === "none" ? -1 : C.activeIndexFor(X, U, T, e);
|
|
409
|
-
|
|
409
|
+
Me(r, {
|
|
410
410
|
reason: "programmatic",
|
|
411
411
|
event: t
|
|
412
412
|
});
|
|
413
|
-
},
|
|
413
|
+
}, ze = r((e) => {
|
|
414
414
|
q(!0), K(e.target.value, {
|
|
415
415
|
reason: "input",
|
|
416
416
|
event: e
|
|
417
417
|
}), W || G(!0, {
|
|
418
418
|
reason: "input",
|
|
419
419
|
event: e
|
|
420
|
-
}),
|
|
420
|
+
}), Me(-1, {
|
|
421
421
|
reason: "programmatic",
|
|
422
422
|
event: e
|
|
423
423
|
});
|
|
424
|
-
}),
|
|
425
|
-
|
|
424
|
+
}), Be = r((e, t) => {
|
|
425
|
+
Te(U.filter((t) => J(t) !== J(e)), {
|
|
426
426
|
reason: "remove",
|
|
427
427
|
event: t
|
|
428
428
|
});
|
|
429
|
-
}),
|
|
429
|
+
}), Ve = (e) => {
|
|
430
430
|
let { key: t } = e;
|
|
431
431
|
if (t === "ArrowDown" || t === "ArrowUp") {
|
|
432
|
-
e.preventDefault(),
|
|
432
|
+
e.preventDefault(), Re(t === "ArrowUp" ? "last" : e.altKey ? "none" : "first", e, "trigger");
|
|
433
433
|
return;
|
|
434
434
|
}
|
|
435
435
|
t === "Escape" && Y !== "" && (q(!0), K("", {
|
|
436
436
|
reason: "clear",
|
|
437
437
|
event: e
|
|
438
438
|
}));
|
|
439
|
-
},
|
|
439
|
+
}, He = r((e) => {
|
|
440
440
|
if (A?.onKeyDown?.(e), !(e.defaultPrevented || k)) {
|
|
441
441
|
if (e.key === "Backspace" && L && Y === "" && U.length > 0) {
|
|
442
|
-
|
|
442
|
+
Be(U[U.length - 1], e);
|
|
443
443
|
return;
|
|
444
444
|
}
|
|
445
445
|
if (!W) {
|
|
446
|
-
|
|
446
|
+
Ve(e);
|
|
447
447
|
return;
|
|
448
448
|
}
|
|
449
449
|
if (e.key === "Tab") {
|
|
450
|
-
Q !== -1 && Z(Q, e),
|
|
450
|
+
Q !== -1 && Z(Q, e), Ae("tab", e);
|
|
451
451
|
return;
|
|
452
452
|
}
|
|
453
453
|
if (e.altKey && e.key === "ArrowUp") {
|
|
454
|
-
e.preventDefault(), Q === -1 ?
|
|
454
|
+
e.preventDefault(), Q === -1 ? Ae("trigger", e) : Z(Q, e);
|
|
455
455
|
return;
|
|
456
456
|
}
|
|
457
457
|
if (D.has(e.key)) {
|
|
458
|
-
|
|
458
|
+
Me(-1, {
|
|
459
459
|
reason: "programmatic",
|
|
460
460
|
event: e
|
|
461
461
|
});
|
|
462
462
|
return;
|
|
463
463
|
}
|
|
464
|
-
|
|
464
|
+
je.onKeyDown(e);
|
|
465
465
|
}
|
|
466
|
-
}), He = r((e) => {
|
|
467
|
-
!k && !W && Le("first", e, "trigger");
|
|
468
466
|
}), Ue = r((e) => {
|
|
469
|
-
k
|
|
470
|
-
}), We =
|
|
467
|
+
!k && !W && Re("first", e, "trigger");
|
|
468
|
+
}), We = r((e) => {
|
|
469
|
+
k || e.target === H.current || (e.preventDefault(), H.current?.focus(), W || Re("first", e, "trigger"));
|
|
470
|
+
}), Ge = X.length > 0 || M === !0 || N !== null, Ke = W && Q !== -1 && X.length > 0 ? be(Q) : void 0, qe = /* @__PURE__ */ b(n, {
|
|
471
471
|
tag: "input",
|
|
472
472
|
component: "combobox.field",
|
|
473
|
-
ref:
|
|
474
|
-
id:
|
|
473
|
+
ref: Se,
|
|
474
|
+
id: ge,
|
|
475
475
|
disabled: k,
|
|
476
476
|
props: {
|
|
477
477
|
...A,
|
|
478
478
|
role: "combobox",
|
|
479
479
|
"aria-autocomplete": "list",
|
|
480
480
|
"aria-expanded": W,
|
|
481
|
-
"aria-controls": W &&
|
|
482
|
-
"aria-activedescendant":
|
|
481
|
+
"aria-controls": W && Ge ? _e : void 0,
|
|
482
|
+
"aria-activedescendant": Ke,
|
|
483
483
|
"aria-labelledby": $,
|
|
484
484
|
autoComplete: "off",
|
|
485
485
|
spellCheck: !1,
|
|
486
486
|
type: "text",
|
|
487
487
|
value: Y,
|
|
488
488
|
placeholder: te,
|
|
489
|
-
onChange:
|
|
490
|
-
onKeyDown:
|
|
491
|
-
onClick:
|
|
489
|
+
onChange: ze,
|
|
490
|
+
onKeyDown: He,
|
|
491
|
+
onClick: Ue
|
|
492
492
|
}
|
|
493
|
-
}),
|
|
493
|
+
}), Je = !ie && /* @__PURE__ */ b(d, {
|
|
494
494
|
component: "combobox.icon",
|
|
495
495
|
rotate: W ? 180 : 0,
|
|
496
496
|
props: { "aria-hidden": !0 },
|
|
@@ -506,14 +506,14 @@ function O(f, m) {
|
|
|
506
506
|
strokeLinejoin: "round"
|
|
507
507
|
})
|
|
508
508
|
})
|
|
509
|
-
}),
|
|
509
|
+
}), Ye = O === void 0 ? null : U.map((e) => /* @__PURE__ */ b(n, {
|
|
510
510
|
tag: "input",
|
|
511
511
|
props: {
|
|
512
512
|
type: "hidden",
|
|
513
513
|
name: O,
|
|
514
514
|
value: String(J(e))
|
|
515
515
|
}
|
|
516
|
-
}, J(e))),
|
|
516
|
+
}, J(e))), Xe = Ge && /* @__PURE__ */ b(p, {
|
|
517
517
|
present: W,
|
|
518
518
|
children: (e) => /* @__PURE__ */ b(ne, {
|
|
519
519
|
presence: e,
|
|
@@ -523,13 +523,13 @@ function O(f, m) {
|
|
|
523
523
|
selection: U,
|
|
524
524
|
multiple: L,
|
|
525
525
|
activeIndex: Q,
|
|
526
|
-
optionId:
|
|
527
|
-
rowRef: (e) =>
|
|
526
|
+
optionId: be,
|
|
527
|
+
rowRef: (e) => je.itemProps(e).ref,
|
|
528
528
|
onSelect: Z,
|
|
529
529
|
anchorRef: V,
|
|
530
|
-
popupRef:
|
|
531
|
-
listboxId:
|
|
532
|
-
name:
|
|
530
|
+
popupRef: xe,
|
|
531
|
+
listboxId: _e,
|
|
532
|
+
name: Le,
|
|
533
533
|
loading: M,
|
|
534
534
|
loadingText: ae,
|
|
535
535
|
emptyText: N,
|
|
@@ -538,30 +538,30 @@ function O(f, m) {
|
|
|
538
538
|
variant: z.variant,
|
|
539
539
|
itemsProps: re
|
|
540
540
|
})
|
|
541
|
-
}),
|
|
541
|
+
}), Ze = /* @__PURE__ */ x(d, {
|
|
542
542
|
ref: V,
|
|
543
543
|
component: "combobox",
|
|
544
544
|
ai: "center",
|
|
545
545
|
gap: 1,
|
|
546
546
|
flexWrap: "wrap",
|
|
547
547
|
...z,
|
|
548
|
-
props: { onPointerDown:
|
|
548
|
+
props: { onPointerDown: We },
|
|
549
549
|
children: [
|
|
550
|
-
|
|
550
|
+
Ye,
|
|
551
551
|
L && /* @__PURE__ */ b(w, {
|
|
552
552
|
selection: U,
|
|
553
553
|
def: T,
|
|
554
554
|
display: T.display,
|
|
555
555
|
removeLabel: se,
|
|
556
|
-
onRemove:
|
|
556
|
+
onRemove: Be,
|
|
557
557
|
disabled: k,
|
|
558
558
|
variant: z.variant
|
|
559
559
|
}),
|
|
560
|
-
|
|
561
|
-
|
|
560
|
+
qe,
|
|
561
|
+
Je
|
|
562
562
|
]
|
|
563
563
|
});
|
|
564
|
-
return
|
|
564
|
+
return ye ? /* @__PURE__ */ x(d, {
|
|
565
565
|
d: "column",
|
|
566
566
|
gap: 1,
|
|
567
567
|
width: "fit-content",
|
|
@@ -569,15 +569,15 @@ function O(f, m) {
|
|
|
569
569
|
/* @__PURE__ */ b(n, {
|
|
570
570
|
tag: "label",
|
|
571
571
|
component: "combobox.label",
|
|
572
|
-
id:
|
|
572
|
+
id: ve,
|
|
573
573
|
...ee,
|
|
574
|
-
props: { htmlFor:
|
|
574
|
+
props: { htmlFor: ge },
|
|
575
575
|
children: E
|
|
576
576
|
}),
|
|
577
|
-
|
|
578
|
-
|
|
577
|
+
Ze,
|
|
578
|
+
Xe
|
|
579
579
|
]
|
|
580
|
-
}) : /* @__PURE__ */ x(y, { children: [
|
|
580
|
+
}) : /* @__PURE__ */ x(y, { children: [Ze, Xe] });
|
|
581
581
|
}
|
|
582
582
|
var k = m(O);
|
|
583
583
|
k.displayName = "Combobox";
|
package/components/dashboard.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../dashboardSchema.cjs"),a=require("../reporting.cjs"),o=require("./svg.cjs"),s=require("./visuallyHidden.cjs");let c=require("react"),l=require("react/jsx-runtime");var u;(function(e){let t=e.VERSION=1,n=e.MIN_COLUMNS=1,r=e.MAX_COLUMNS=24;function a(e,t,n){return Math.min(Math.max(e,t),n)}function o(e,t){return typeof e==`number`&&Number.isFinite(e)?Math.round(e):t}function s(e,t){return e.x<t.x+t.w&&e.x+e.w>t.x&&e.y<t.y+t.h&&e.y+e.h>t.y}e.overlaps=s;function c(e,t){return e.find(e=>e.id!==t.id&&s(e,t))}function l(e,t){let n=Math.min(e.maxW??t,t),r=a(o(e.w,1),Math.max(1,Math.min(e.minW??1,n)),Math.max(1,n)),i=a(o(e.h,1),Math.max(1,e.minH??1),Math.max(1,e.maxH??2**53-1));return{...e,w:r,h:i,x:a(o(e.x,0),0,t-r),y:Math.max(o(e.y,0),0)}}function u(e,t){return e.y-t.y||e.x-t.x}function d(e,t){let i=a(o(t,12),n,r),s=e.map(e=>l(e,i)),d=e=>+!e.fixed,f=[...s].sort((e,t)=>d(e)-d(t)||u(e,t)),p=[];for(let e of f){if(e.fixed){p.push(e);continue}let t={...e};for(;t.y>0&&!c(p,{...t,y:t.y-1});)t.y--;let n=c(p,t);for(;n;)t.y=n.y+n.h,n=c(p,t);p.push(t)}return p.sort(u)}e.resolve=d;function f(e){let i=a(o(e.columns,12),n,r);return{version:t,columns:i,items:d(e.items,i)}}e.normalize=f;function p(e,t){return e.items.find(e=>e.id===t)}e.itemOf=p;function m(e){return new Map(e.items.map((e,t)=>[e.id,t]))}e.ranks=m;function h(e,t){let n=n=>!s(t,n)&&!e.some(e=>e.id!==n.id&&e.id!==t.id&&s(e,n));return e.map(e=>{if(e.id===t.id)return t;if(e.fixed===!0||!s(e,t))return e;let r={...e,y:Math.max(t.y-e.h,0)};return n(r)?r:{...e,y:t.y+t.h}})}function g(e,t,i,s){let c=p(e,t);if(!c||c.fixed)return e;let u=l({...c,x:i,y:s},a(o(e.columns,12),n,r));return f({...e,items:h(e.items,u)})}e.moveTo=g;function _(e,t,n,r){let i=p(e,t);if(!i||i.fixed)return e;let a=e.items.map(e=>e.id===t?{...e,w:n,h:r}:e);return f({...e,items:a})}e.resizeTo=_;function v(e,t){let n=e.items.reduce((e,t)=>Math.max(e,t.y+t.h),0);return f({...e,items:[...e.items,{x:0,y:n,...t}]})}e.add=v;function y(e,t){return f({...e,items:e.items.filter(e=>e.id!==t)})}e.remove=y;function b(e,i){let s=a(o(i,12),n,r);if(s===e.columns)return f(e);let c=s/e.columns,l=e=>e===void 0?void 0:a(Math.max(1,Math.round(e*c)),1,s),u=e.items.map(e=>{let t=a(Math.max(1,Math.round(e.w*c)),1,s);return{...e,w:t,x:a(Math.floor(e.x*c),0,s-t),minW:l(e.minW),maxW:l(e.maxW)}});return f({version:t,columns:s,items:u})}e.project=b;function x(e,t){return e===t?!0:e.columns!==t.columns||e.items.length!==t.items.length?!1:e.items.every((e,n)=>{let r=t.items[n];return e.id===r.id&&e.x===r.x&&e.y===r.y&&e.w===r.w&&e.h===r.h})}e.same=x;function S(e,t,n){return{columns:n.x>0?Math.round(e/n.x):0,rows:n.y>0?Math.round(t/n.y):0}}e.cellsMoved=S;function C(e){return typeof e==`string`&&e.length>0}function w(e){return typeof e==`number`&&Number.isFinite(e)}function T(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e)){n.push({code:`invalid-item`,path:t,message:`A layout item has to be an object.`});return}let r=e;if(!C(r.id)){n.push({code:`invalid-item`,path:`${t}.id`,message:`A layout item needs an id naming the widget it places.`});return}if(!w(r.x)||!w(r.y)||!w(r.w)||!w(r.h)){n.push({code:`invalid-item`,path:t,message:`Item "${r.id}" needs numeric x, y, w and h.`});return}let i=[`minW`,`minH`,`maxW`,`maxH`].reduce((e,t)=>(w(r[t])&&(e[t]=Math.round(r[t])),e),{});return{id:r.id,x:Math.round(r.x),y:Math.round(r.y),w:Math.round(r.w),h:Math.round(r.h),...i,...r.fixed===!0?{fixed:!0}:{}}}function E(e,i=12){let o=[],s={version:t,columns:i,items:[]};if(typeof e!=`object`||!e||Array.isArray(e))return o.push({code:`not-an-object`,path:``,message:`A layout has to be an object.`}),{layout:f(s),issues:o};let c=e;c.version!==t&&o.push({code:`version`,path:`version`,message:`Layout version ${String(c.version)} was read as version ${t}.`});let l=w(c.columns)?a(Math.round(c.columns),n,r):i;if(w(c.columns)||o.push({code:`columns`,path:`columns`,message:`No column count, so the layout was read in ${i}.`}),!Array.isArray(c.items))return o.push({code:`items`,path:`items`,message:`A layout needs an items array.`}),{layout:f({...s,columns:l}),issues:o};let u=new Set,d=c.items.reduce((e,t,n)=>{let r=T(t,`items.${n}`,o);return r?u.has(r.id)?(o.push({code:`duplicate-id`,path:`items.${n}.id`,message:`Two items are called "${r.id}"; the second was dropped.`}),e):(u.add(r.id),e.push(r),e):e},[]);return{layout:f({version:t,columns:l,items:d}),issues:o}}e.parse=E,e.SCHEMA=i.t})(u||={});var d=u,f=[`xs`,`sm`,`md`,`lg`,`xl`,`xxl`],p=[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`],m=(0,c.createContext)(null);function h(e,t,n){return Math.min(Math.max(e,t),n)}function g(e){if(typeof e==`number`)return[{count:h(Math.round(e),d.MIN_COLUMNS,d.MAX_COLUMNS)}];let t=f.filter(t=>typeof e[t]==`number`).map(t=>({size:t,count:h(Math.round(e[t]),d.MIN_COLUMNS,d.MAX_COLUMNS)}));return t.length>0?t:[{count:12}]}function _(e){return{gridColumnStart:e.x+1,gridColumnEnd:e.x+1+e.w,gridRowStart:e.y+1,gridRowEnd:e.y+1+e.h}}function v(e){return`max${e[0].toUpperCase()}${e.slice(1)}`}function y(e,t){let n=t?-1:1;if(e===`ArrowLeft`)return{x:-n,y:0};if(e===`ArrowRight`)return{x:n,y:0};if(e===`ArrowUp`)return{x:0,y:-1};if(e===`ArrowDown`)return{x:0,y:1}}function b(e){return`column ${e.x+1}, row ${e.y+1}`}function x(e){return`${e.w} ${e.w===1?`column`:`columns`} by ${e.h} ${e.h===1?`row`:`rows`}`}function S(e,i){let{children:o,layout:u,defaultLayout:p,onLayoutChange:h,onLayoutCommit:S,columns:C={xs:1,md:6,xxl:12},rowHeight:w=24,editable:T=!1,label:E,labelledBy:D,props:O,...k}=e,A=(0,c.useRef)(null),j=(0,c.useCallback)(e=>{A.current=e,t.d(i,e)},[i]),[M,N]=(0,c.useState)(null),[P,F]=(0,c.useState)(null),[ee,I]=(0,c.useState)(``),L=`${(0,c.useId)()}-dashboard`,[R,te]=r.i({value:u,defaultValue:p??{version:d.VERSION,columns:12,items:[]},onChange:h}),z=(0,c.useMemo)(()=>d.normalize(R),[R]),B=r.o(z),V=a.r(S,`dashboard`,`layoutCommit`),ne=typeof C==`number`?String(C):f.map(e=>C[e]??``).join(),H=(0,c.useMemo)(()=>g(C),[ne]),U=H[H.length-1],W=(0,c.useMemo)(()=>{let e=d.ranks(z),t=new Map;for(let n of H){let r=n.count===U.count?z:d.project(z,n.count),i=U.count/n.count;for(let a of r.items){let r=t.get(a.id)??{order:e.get(a.id)??0,fixed:a.fixed===!0},o=_({...a,x:Math.round(a.x*i),w:Math.round((a.x+a.w)*i)-Math.round(a.x*i)});n===H[0]?r.placement=o:r.query={...r.query,[n.size]:o},t.set(a.id,r)}}return t},[z,H,U.count]),G=r.a((e,t)=>{d.same(e,B.current)||te(e,t)}),re=(e,t)=>{let n=e.getBoundingClientRect(),r=A.current,i=r&&typeof getComputedStyle==`function`?getComputedStyle(r):void 0,a=Number.parseFloat(i?.columnGap??``)||0,o=Number.parseFloat(i?.rowGap??``)||0;return{x:(n.width+a)/t.w,y:(n.height+o)/t.h}},ie=e=>e instanceof Element?e.closest(`[data-widget-id]`):null,K=(e,t,n,r)=>{let i=e.kind===`move`?d.moveTo(B.current,e.id,t,n):d.resizeTo(B.current,e.id,t,n);return G(i,{reason:e.kind,event:r}),i},q=r.a((e,n,r,i)=>{let a=d.itemOf(B.current,n),o=ie(e.currentTarget);!T||e.button!==0||e.defaultPrevented||!a||a.fixed||!o||(e.preventDefault(),e.currentTarget.setPointerCapture?.(e.pointerId),e.currentTarget.focus(),N({id:n,kind:i,name:r,origin:a,before:B.current,pointer:{id:e.pointerId,x:e.clientX,y:e.clientY,step:re(o,a),rtl:t._(o)}}))}),J=r.a((e,t)=>{if(!M?.pointer||M.id!==t)return;let{x:n,y:r,step:i,rtl:a}=M.pointer,o={x:e.clientX-n,y:e.clientY-r},s=d.cellsMoved(a?-o.x:o.x,o.y,i),c=M.origin,l=M.kind===`move`?K(M,c.x+s.columns,c.y+s.rows,e):K(M,c.w+s.columns,c.h+s.rows,e),u=d.itemOf(l,t);if(M.kind!==`move`||!u)return;let f={x:(u.x-c.x)*i.x*(a?-1:1),y:(u.y-c.y)*i.y};F({translate:`${Math.round(o.x-f.x)}px ${Math.round(o.y-f.y)}px`})}),Y=r.a((e,t)=>{if(!M?.pointer||M.id!==t)return;let n=d.itemOf(B.current,t);e.currentTarget.releasePointerCapture?.(M.pointer.id),N(null),F(null),V(B.current,{reason:M.kind,event:e}),n&&I(M.kind===`move`?`${M.name} moved to ${b(n)}.`:`${M.name} resized to ${x(n)}.`)}),X=a.i(`dashboard`),Z=r.a((e,t)=>{X(`grabCancel`,e.id,{reason:t.type===`blur`?`blur`:`escape`,event:t}),G(e.before,{reason:e.kind,event:t}),N(null),I(`${e.name} put back at ${b(e.origin)}.`)}),Q=r.a((e,n,r,i)=>{if(!T||e.defaultPrevented)return;let a=M&&M.id===n&&M.kind===i&&!M.pointer?M:void 0,o=d.itemOf(B.current,n);if(!o)return;if(!a){if(e.key!==`Enter`&&e.key!==` `||o.fixed)return;e.preventDefault(),N({id:n,kind:i,name:r,origin:o,before:B.current}),X(`grab`,n,{reason:i,event:e}),I(i===`move`?`${r} picked up at ${b(o)}. Use the arrow keys to move it.`:`${r} held for resizing at ${x(o)}. Use the arrow keys to resize it.`);return}if(e.key===`Escape`){e.preventDefault(),Z(a,e);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),N(null),V(B.current,{reason:i,event:e}),I(i===`move`?`${r} dropped at ${b(o)}.`:`${r} resized to ${x(o)}.`);return}let s=y(e.key,t._(e.currentTarget));if(!s)return;e.preventDefault();let c=i===`move`?K(a,o.x+s.x,o.y+s.y,e):K(a,o.w+s.x,o.h+s.y,e),l=d.itemOf(c,n);l&&I(i===`move`?`${r}, ${b(l)}.`:`${r}, ${x(l)}.`)}),ae=r.a((e,t,n)=>{M&&M.id===t&&M.kind===n&&!M.pointer&&Z(M,e)}),oe=(0,c.useMemo)(()=>({editable:T,placementOf:e=>W.get(e),heldOf:e=>M&&M.id===e?M:void 0,offsetOf:e=>M&&M.id===e&&P?P:void 0,outsideAuthoring:U.size?{[v(U.size)]:{display:`none`}}:void 0,instructionsId:L,handleProps:(e,t,n)=>({type:`button`,"aria-label":n===`move`?`Move ${t}`:`Resize ${t}`,"aria-pressed":!!(M&&M.id===e&&M.kind===n),"aria-describedby":L,onPointerDown:r=>q(r,e,t,n),onPointerMove:t=>J(t,e),onPointerUp:t=>Y(t,e),onPointerCancel:t=>Y(t,e),onKeyDown:r=>Q(r,e,t,n),onBlur:t=>ae(t,e,n)})}),[T,W,M,P,U.size,L,q,J,Y,Q,ae]),$=M?W.get(M.id):void 0;return(0,l.jsxs)(m.Provider,{value:oe,children:[(0,l.jsxs)(n.default,{ref:j,component:`dashboard`,...k,variant:[k.variant,{dragging:M!==null}],vars:{"dashboard-row":`${w/4}rem`},gridTemplateColumns:U.count,props:{role:`list`,"aria-label":E,"aria-labelledby":D,...O},children:[o,$&&(0,l.jsx)(n.default,{component:`dashboard.placeholder`,order:$.order,cq:$.query,...$.placement,props:{role:`presentation`,"aria-hidden":!0}})]}),(0,l.jsx)(s.default,{props:{role:`status`},children:ee}),(0,l.jsx)(s.default,{id:L,children:`Press Enter or Space to pick the widget up, the arrow keys to move or resize it, Enter to drop it and Escape to put it back.`})]})}function C({kind:e}){return e===`resize`?(0,l.jsx)(o.Svg,{viewBox:`0 0 24 24`,width:`1rem`,height:`1rem`,rtl:{flip:`xAxis`},props:{fill:`none`},children:(0,l.jsx)(o.Path,{d:`M20 10 10 20M20 16l-4 4`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`})}):(0,l.jsxs)(o.Svg,{viewBox:`0 0 24 24`,width:`1rem`,height:`1rem`,children:[[8,12,16].map(e=>(0,l.jsx)(o.Circle,{cx:9,cy:e,r:1.4,fill:`currentColor`},e)),[8,12,16].map(e=>(0,l.jsx)(o.Circle,{cx:15,cy:e,r:1.4,fill:`currentColor`},e))]})}function w(){return(0,l.jsx)(o.Svg,{viewBox:`0 0 24 24`,width:`1rem`,height:`1rem`,props:{fill:`none`},children:(0,l.jsx)(o.Path,{d:`M20 12a8 8 0 1 1-2.6-5.9M20 4v4h-4`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})})}function T(e){let{id:t,children:r,title:i,name:o,description:s,actions:u,level:d=3,loading:f=!1,error:h,empty:g,onRefresh:_,refreshLabel:v,props:y,...b}=e,x=(0,c.useContext)(m),S=t===void 0?void 0:x?.placementOf(t),T=t===void 0?void 0:x?.heldOf(t),E=o??(typeof i==`string`?i:void 0)??t??`Widget`,D=x?.editable===!0&&S!==void 0&&!S.fixed,O=a.r((e,t)=>_?.(),`widget`,`refresh`),k=e=>D&&t!==void 0?(0,l.jsx)(n.default,{component:`widget.handle`,tag:`button`,variant:{editable:!0,grabbed:T?.kind===e,corner:e===`resize`},cq:x?.outsideAuthoring,props:x?.handleProps(t,E,e),children:(0,l.jsx)(C,{kind:e})}):null,A=()=>f?(0,l.jsx)(n.default,{component:`widget.skeleton`,props:{"aria-hidden":!0},children:[80,100,60].map(e=>(0,l.jsx)(n.default,{component:`widget.skeleton.bar`,width:`${e}%`},e))}):h?(0,l.jsxs)(n.default,{component:`widget.message`,variant:{error:!0},props:{role:`status`},children:[h,_&&(0,l.jsx)(n.default,{tag:`button`,component:`widget.retry`,props:{type:`button`,onClick:e=>O(t,{reason:`retry`,event:e})},children:`Try again`})]}):g?(0,l.jsx)(n.default,{component:`widget.message`,children:g===!0?`Nothing to show yet.`:g}):r,j=i!==void 0||s!==void 0||u!==void 0||_!==void 0||D;return(0,l.jsxs)(n.default,{component:`widget`,...b,variant:[b.variant,{dragging:T?.pointer!==void 0,grabbed:T!==void 0&&T.pointer===void 0}],order:S?.order,cq:S?.query,...S?.placement,style:{...t===void 0?void 0:x?.offsetOf(t),...b.style},props:{role:S?`listitem`:void 0,"aria-busy":f||void 0,"data-widget-id":t,...y},children:[j&&(0,l.jsxs)(n.default,{component:`widget.header`,children:[k(`move`),(0,l.jsxs)(n.default,{component:`widget.label`,children:[i!==void 0&&(0,l.jsx)(n.default,{component:`widget.title`,tag:p[d-1],children:i}),s!==void 0&&(0,l.jsx)(n.default,{component:`widget.description`,children:s})]}),_&&(0,l.jsx)(n.default,{component:`widget.handle`,tag:`button`,variant:{editable:!0},props:{type:`button`,"aria-label":v??`Refresh ${E}`,onClick:e=>O(t,{reason:`refresh`,event:e})},children:(0,l.jsx)(w,{})}),u!==void 0&&(0,l.jsx)(n.default,{component:`widget.actions`,children:u})]}),(0,l.jsx)(n.default,{component:`widget.body`,children:A()}),k(`resize`)]})}var E=e.f(S,`DashboardGrid`),D=T;D.displayName=`Widget`,exports.DashboardUtils=d,exports.Widget=D,exports.default=E;
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../dashboardSchema.cjs"),a=require("../reporting.cjs"),o=require("./svg.cjs"),s=require("./visuallyHidden.cjs");let c=require("react"),l=require("react/jsx-runtime");var u;(function(e){let t=e.VERSION=1,n=e.MIN_COLUMNS=1,r=e.MAX_COLUMNS=24;function a(e,t,n){return Math.min(Math.max(e,t),n)}function o(e,t){return typeof e==`number`&&Number.isFinite(e)?Math.round(e):t}function s(e,t){return e.x<t.x+t.w&&e.x+e.w>t.x&&e.y<t.y+t.h&&e.y+e.h>t.y}e.overlaps=s;function c(e,t){return e.find(e=>e.id!==t.id&&s(e,t))}function l(e,t){let n=Math.min(e.maxW??t,t),r=a(o(e.w,1),Math.max(1,Math.min(e.minW??1,n)),Math.max(1,n)),i=a(o(e.h,1),Math.max(1,e.minH??1),Math.max(1,e.maxH??2**53-1));return{...e,w:r,h:i,x:a(o(e.x,0),0,t-r),y:Math.max(o(e.y,0),0)}}function u(e,t){return e.y-t.y||e.x-t.x}function d(e,t){let i=a(o(t,12),n,r),s=e.map(e=>l(e,i)),d=e=>+!e.fixed,f=[...s].sort((e,t)=>d(e)-d(t)||u(e,t)),p=[];for(let e of f){if(e.fixed){p.push(e);continue}let t={...e};for(;t.y>0&&!c(p,{...t,y:t.y-1});)t.y--;let n=c(p,t);for(;n;)t.y=n.y+n.h,n=c(p,t);p.push(t)}return p.sort(u)}e.resolve=d;function f(e){let i=a(o(e.columns,12),n,r);return{version:t,columns:i,items:d(e.items,i)}}e.normalize=f;function p(e,t){return e.items.find(e=>e.id===t)}e.itemOf=p;function m(e){return new Map(e.items.map((e,t)=>[e.id,t]))}e.ranks=m;function h(e,t){let n=n=>!s(t,n)&&!e.some(e=>e.id!==n.id&&e.id!==t.id&&s(e,n));return e.map(e=>{if(e.id===t.id)return t;if(e.fixed===!0||!s(e,t))return e;let r={...e,y:Math.max(t.y-e.h,0)};return n(r)?r:{...e,y:t.y+t.h}})}function g(e,t,i,s){let c=p(e,t);if(!c||c.fixed)return e;let u=l({...c,x:i,y:s},a(o(e.columns,12),n,r));return f({...e,items:h(e.items,u)})}e.moveTo=g;function _(e,t,n,r){let i=p(e,t);if(!i||i.fixed)return e;let a=e.items.map(e=>e.id===t?{...e,w:n,h:r}:e);return f({...e,items:a})}e.resizeTo=_;function v(e,t){let n=e.items.reduce((e,t)=>Math.max(e,t.y+t.h),0);return f({...e,items:[...e.items,{x:0,y:n,...t}]})}e.add=v;function y(e,t){return f({...e,items:e.items.filter(e=>e.id!==t)})}e.remove=y;function b(e,i){let s=a(o(i,12),n,r);if(s===e.columns)return f(e);let c=s/e.columns,l=e=>e===void 0?void 0:a(Math.max(1,Math.round(e*c)),1,s),u=e.items.map(e=>{let t=a(Math.max(1,Math.round(e.w*c)),1,s);return{...e,w:t,x:a(Math.floor(e.x*c),0,s-t),minW:l(e.minW),maxW:l(e.maxW)}});return f({version:t,columns:s,items:u})}e.project=b;function x(e,t){return e===t?!0:e.columns!==t.columns||e.items.length!==t.items.length?!1:e.items.every((e,n)=>{let r=t.items[n];return e.id===r.id&&e.x===r.x&&e.y===r.y&&e.w===r.w&&e.h===r.h})}e.same=x;function S(e,t,n){return{columns:n.x>0?Math.round(e/n.x):0,rows:n.y>0?Math.round(t/n.y):0}}e.cellsMoved=S;function C(e){return typeof e==`string`&&e.length>0}function w(e){return typeof e==`number`&&Number.isFinite(e)}function T(e,t,n){if(typeof e!=`object`||!e||Array.isArray(e)){n.push({code:`invalid-item`,path:t,message:`A layout item has to be an object.`});return}let r=e;if(!C(r.id)){n.push({code:`invalid-item`,path:`${t}.id`,message:`A layout item needs an id naming the widget it places.`});return}if(!w(r.x)||!w(r.y)||!w(r.w)||!w(r.h)){n.push({code:`invalid-item`,path:t,message:`Item "${r.id}" needs numeric x, y, w and h.`});return}let i=[`minW`,`minH`,`maxW`,`maxH`].reduce((e,t)=>(w(r[t])&&(e[t]=Math.round(r[t])),e),{});return{id:r.id,x:Math.round(r.x),y:Math.round(r.y),w:Math.round(r.w),h:Math.round(r.h),...i,...r.fixed===!0?{fixed:!0}:{}}}function E(e,i=12){let o=[],s={version:t,columns:i,items:[]};if(typeof e!=`object`||!e||Array.isArray(e))return o.push({code:`not-an-object`,path:``,message:`A layout has to be an object.`}),{layout:f(s),issues:o};let c=e;c.version!==t&&o.push({code:`version`,path:`version`,message:`Layout version ${String(c.version)} was read as version ${t}.`});let l=w(c.columns)?a(Math.round(c.columns),n,r):i;if(w(c.columns)||o.push({code:`columns`,path:`columns`,message:`No column count, so the layout was read in ${i}.`}),!Array.isArray(c.items))return o.push({code:`items`,path:`items`,message:`A layout needs an items array.`}),{layout:f({...s,columns:l}),issues:o};let u=new Set,d=c.items.reduce((e,t,n)=>{let r=T(t,`items.${n}`,o);return r?u.has(r.id)?(o.push({code:`duplicate-id`,path:`items.${n}.id`,message:`Two items are called "${r.id}"; the second was dropped.`}),e):(u.add(r.id),e.push(r),e):e},[]);return{layout:f({version:t,columns:l,items:d}),issues:o}}e.parse=E,e.SCHEMA=i.t})(u||={});var d=u,f=[`xs`,`sm`,`md`,`lg`,`xl`,`xxl`],p=[`h1`,`h2`,`h3`,`h4`,`h5`,`h6`],m=(0,c.createContext)(null);function h(e,t,n){return Math.min(Math.max(e,t),n)}function g(e){if(typeof e==`number`)return[{count:h(Math.round(e),d.MIN_COLUMNS,d.MAX_COLUMNS)}];let t=f.filter(t=>typeof e[t]==`number`).map(t=>({size:t,count:h(Math.round(e[t]),d.MIN_COLUMNS,d.MAX_COLUMNS)}));return t.length>0?t:[{count:12}]}function _(e){return{gridColumnStart:e.x+1,gridColumnEnd:e.x+1+e.w,gridRowStart:e.y+1,gridRowEnd:e.y+1+e.h}}function v(e){return`max${e[0].toUpperCase()}${e.slice(1)}`}function y(e,t){let n=t?-1:1;if(e===`ArrowLeft`)return{x:-n,y:0};if(e===`ArrowRight`)return{x:n,y:0};if(e===`ArrowUp`)return{x:0,y:-1};if(e===`ArrowDown`)return{x:0,y:1}}function b(e){return`column ${e.x+1}, row ${e.y+1}`}function x(e){return`${e.w} ${e.w===1?`column`:`columns`} by ${e.h} ${e.h===1?`row`:`rows`}`}function S(e,i){let{children:o,layout:u,defaultLayout:p,onLayoutChange:h,onLayoutCommit:S,columns:C={xs:1,md:6,xxl:12},rowHeight:w=24,editable:T=!1,label:E,labelledBy:D,props:O,...k}=e,A=(0,c.useRef)(null),j=(0,c.useCallback)(e=>{A.current=e,t.d(i,e)},[i]),[M,N]=(0,c.useState)(null),[P,F]=(0,c.useState)(null),[ee,I]=(0,c.useState)(``),L=`${(0,c.useId)()}-dashboard`,[R,te]=r.i({value:u,defaultValue:p??{version:d.VERSION,columns:12,items:[]},onChange:h}),z=(0,c.useMemo)(()=>d.normalize(R),[R]),B=r.o(z),V=a.r(S,`dashboard`,`layoutCommit`),ne=typeof C==`number`?String(C):f.map(e=>C[e]??``).join(),H=(0,c.useMemo)(()=>g(C),[ne]),U=H[H.length-1],W=(0,c.useMemo)(()=>{let e=d.ranks(z),t=new Map;for(let n of H){let r=n.count===U.count?z:d.project(z,n.count),i=U.count/n.count;for(let a of r.items){let r=t.get(a.id)??{order:e.get(a.id)??0,fixed:a.fixed===!0},o=_({...a,x:Math.round(a.x*i),w:Math.round((a.x+a.w)*i)-Math.round(a.x*i)});n===H[0]?r.placement=o:r.query={...r.query,[n.size]:o},t.set(a.id,r)}}return t},[z,H,U.count]),G=r.a((e,t)=>{d.same(e,B.current)||te(e,t)}),re=(e,t)=>{let n=e.getBoundingClientRect(),r=A.current,i=r&&typeof getComputedStyle==`function`?getComputedStyle(r):void 0,a=Number.parseFloat(i?.columnGap??``)||0,o=Number.parseFloat(i?.rowGap??``)||0;return{x:(n.width+a)/t.w,y:(n.height+o)/t.h}},ie=e=>e instanceof Element?e.closest(`[data-widget-id]`):null,K=(e,t,n,r)=>{let i=e.kind===`move`?d.moveTo(B.current,e.id,t,n):d.resizeTo(B.current,e.id,t,n);return G(i,{reason:e.kind,event:r}),i},q=r.a((e,n,r,i)=>{let a=d.itemOf(B.current,n),o=ie(e.currentTarget);!T||e.button!==0||e.defaultPrevented||!a||a.fixed||!o||(e.preventDefault(),e.currentTarget.setPointerCapture?.(e.pointerId),e.currentTarget.focus(),N({id:n,kind:i,name:r,origin:a,before:B.current,pointer:{id:e.pointerId,x:e.clientX,y:e.clientY,step:re(o,a),rtl:t._(o)}}))}),J=r.a((e,t)=>{if(!M?.pointer||M.id!==t)return;let{x:n,y:r,step:i,rtl:a}=M.pointer,o={x:e.clientX-n,y:e.clientY-r},s=d.cellsMoved(a?-o.x:o.x,o.y,i),c=M.origin,l=M.kind===`move`?K(M,c.x+s.columns,c.y+s.rows,e):K(M,c.w+s.columns,c.h+s.rows,e),u=d.itemOf(l,t);if(M.kind!==`move`||!u)return;let f={x:(u.x-c.x)*i.x*(a?-1:1),y:(u.y-c.y)*i.y};F({translate:`${Math.round(o.x-f.x)}px ${Math.round(o.y-f.y)}px`})}),Y=r.a((e,t)=>{if(!M?.pointer||M.id!==t)return;let n=d.itemOf(B.current,t);e.currentTarget.releasePointerCapture?.(M.pointer.id),N(null),F(null),V(B.current,{reason:M.kind,event:e}),n&&I(M.kind===`move`?`${M.name} moved to ${b(n)}.`:`${M.name} resized to ${x(n)}.`)}),X=a.i(`dashboard`),Z=r.a((e,t)=>{X(`grabCancel`,e.id,{reason:t.type===`blur`?`blur`:`escape`,event:t}),G(e.before,{reason:e.kind,event:t}),N(null),I(`${e.name} put back at ${b(e.origin)}.`)}),Q=r.a((e,n,r,i)=>{if(!T||e.defaultPrevented)return;let a=M&&M.id===n&&M.kind===i&&!M.pointer?M:void 0,o=d.itemOf(B.current,n);if(!o)return;if(!a){if(e.key!==`Enter`&&e.key!==` `||o.fixed)return;e.preventDefault(),N({id:n,kind:i,name:r,origin:o,before:B.current}),X(`grab`,n,{reason:i,event:e}),I(i===`move`?`${r} picked up at ${b(o)}. Use the arrow keys to move it.`:`${r} held for resizing at ${x(o)}. Use the arrow keys to resize it.`);return}if(e.key===`Escape`){e.preventDefault(),Z(a,e);return}if(e.key===`Enter`||e.key===` `){e.preventDefault(),N(null),V(B.current,{reason:i,event:e}),I(i===`move`?`${r} dropped at ${b(o)}.`:`${r} resized to ${x(o)}.`);return}let s=y(e.key,t._(e.currentTarget));if(!s)return;e.preventDefault();let c=i===`move`?K(a,o.x+s.x,o.y+s.y,e):K(a,o.w+s.x,o.h+s.y,e),l=d.itemOf(c,n);l&&I(i===`move`?`${r}, ${b(l)}.`:`${r}, ${x(l)}.`)}),ae=r.a((e,t,n)=>{M&&M.id===t&&M.kind===n&&!M.pointer&&Z(M,e)}),oe=(0,c.useMemo)(()=>({editable:T,placementOf:e=>W.get(e),heldOf:e=>M&&M.id===e?M:void 0,offsetOf:e=>M&&M.id===e&&P?P:void 0,outsideAuthoring:U.size?{[v(U.size)]:{display:`none`}}:void 0,instructionsId:L,handleProps:(e,t,n)=>({type:`button`,"aria-label":n===`move`?`Move ${t}`:`Resize ${t}`,"aria-pressed":!!(M&&M.id===e&&M.kind===n),"aria-describedby":L,onPointerDown:r=>q(r,e,t,n),onPointerMove:t=>J(t,e),onPointerUp:t=>Y(t,e),onPointerCancel:t=>Y(t,e),onKeyDown:r=>Q(r,e,t,n),onBlur:t=>ae(t,e,n)})}),[T,W,M,P,U.size,L,q,J,Y,Q,ae]),$=M?W.get(M.id):void 0;return(0,l.jsxs)(m.Provider,{value:oe,children:[(0,l.jsxs)(n.default,{ref:j,component:`dashboard`,...k,variant:[k.variant,{dragging:M!==null}],vars:{"dashboard-row":`${w/4}rem`},gridTemplateColumns:U.count,props:{role:`list`,"aria-label":E,"aria-labelledby":D,...O},children:[o,$&&(0,l.jsx)(n.default,{component:`dashboard.placeholder`,order:$.order,cq:$.query,...$.placement,props:{role:`presentation`,"aria-hidden":!0}})]}),(0,l.jsx)(s.default,{props:{role:`status`},children:ee}),(0,l.jsx)(s.default,{id:L,children:`Press Enter or Space to pick the widget up, the arrow keys to move or resize it, Enter to drop it and Escape to put it back.`})]})}function C({kind:e}){return e===`resize`?(0,l.jsx)(o.Svg,{viewBox:`0 0 24 24`,width:`1rem`,height:`1rem`,rtl:{flip:`xAxis`},props:{fill:`none`},children:(0,l.jsx)(o.Path,{d:`M20 10 10 20M20 16l-4 4`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`})}):(0,l.jsxs)(o.Svg,{viewBox:`0 0 24 24`,width:`1rem`,height:`1rem`,children:[[8,12,16].map(e=>(0,l.jsx)(o.Circle,{cx:9,cy:e,r:1.4,fill:`currentColor`},e)),[8,12,16].map(e=>(0,l.jsx)(o.Circle,{cx:15,cy:e,r:1.4,fill:`currentColor`},e))]})}function w(){return(0,l.jsx)(o.Svg,{viewBox:`0 0 24 24`,width:`1rem`,height:`1rem`,props:{fill:`none`},children:(0,l.jsx)(o.Path,{d:`M20 12a8 8 0 1 1-2.6-5.9M20 4v4h-4`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`})})}function T(e){let{id:t,children:r,title:i,name:o,description:s,actions:u,level:d=3,loading:f=!1,error:h,empty:g,onRefresh:_,refreshLabel:v,props:y,...b}=e,x=(0,c.useContext)(m),S=t===void 0?void 0:x?.placementOf(t),T=t===void 0?void 0:x?.heldOf(t),E=o??(typeof i==`string`?i:void 0)??t??`Widget`,D=x?.editable===!0&&S!==void 0&&!S.fixed,O=a.r((e,t)=>_?.(),`widget`,`refresh`),k=e=>D&&t!==void 0?(0,l.jsx)(n.default,{component:`widget.handle`,tag:`button`,variant:{editable:!0,grabbed:T?.kind===e,corner:e===`resize`},cq:x?.outsideAuthoring,props:x?.handleProps(t,E,e),children:(0,l.jsx)(C,{kind:e})}):null,A=()=>f?(0,l.jsx)(n.default,{component:`widget.skeleton`,props:{"aria-hidden":!0},children:[80,100,60].map(e=>(0,l.jsx)(n.default,{component:`widget.skeleton.bar`,width:`${e}%`},e))}):h?(0,l.jsxs)(n.default,{component:`widget.message`,variant:{error:!0},props:{role:`status`},children:[h,_&&(0,l.jsx)(n.default,{tag:`button`,component:`widget.retry`,props:{type:`button`,onClick:e=>O(t,{reason:`retry`,event:e})},children:`Try again`})]}):g?(0,l.jsx)(n.default,{component:`widget.message`,children:g===!0?`Nothing to show yet.`:g}):r,j=i!==void 0||s!==void 0||u!==void 0||_!==void 0||D;return(0,l.jsxs)(n.default,{component:`widget`,...b,variant:[b.variant,{dragging:T?.pointer!==void 0,grabbed:T!==void 0&&T.pointer===void 0}],order:S?.order,cq:S?.query,...S?.placement,style:{...t===void 0?void 0:x?.offsetOf(t),...b.style},props:{role:S?`listitem`:void 0,"aria-busy":f||void 0,"data-widget-id":t,...y},children:[j&&(0,l.jsxs)(n.default,{component:`widget.header`,children:[k(`move`),(0,l.jsxs)(n.default,{component:`widget.label`,children:[i!==void 0&&(0,l.jsx)(n.default,{component:`widget.title`,tag:p[d-1],children:i}),s!==void 0&&(0,l.jsx)(n.default,{component:`widget.description`,children:s})]}),_&&(0,l.jsx)(n.default,{component:`widget.handle`,tag:`button`,variant:{editable:!0},props:{type:`button`,"aria-label":v??`Refresh ${E}`,onClick:e=>O(t,{reason:`refresh`,event:e})},children:(0,l.jsx)(w,{})}),u!==void 0&&(0,l.jsx)(n.default,{component:`widget.actions`,children:u})]}),(0,l.jsx)(n.default,{component:`widget.body`,children:A()}),k(`resize`)]})}var E=e._(S,`DashboardGrid`),D=T;D.displayName=`Widget`,exports.DashboardUtils=d,exports.Widget=D,exports.default=E;
|
package/components/dashboard.mjs
CHANGED
package/components/dateField.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../dates.cjs"),o=require("../date-math.cjs"),s=require("../date-input.cjs"),c=require("../reporting.cjs"),l=require("../date-environment.cjs");let u=require("react"),d=require("react/jsx-runtime");var f=`data-segment`;function p(e,p){let{type:m=`date`,value:ee,defaultValue:
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../identity.cjs"),a=require("../dates.cjs"),o=require("../date-math.cjs"),s=require("../date-input.cjs"),c=require("../reporting.cjs"),l=require("../date-environment.cjs");let u=require("react"),d=require("react/jsx-runtime");var f=`data-segment`;function p(e,p){let{type:m=`date`,value:ee,defaultValue:h=null,onValueChange:te,zone:g,locale:ne,hourCycle:re,granularity:_=`minute`,min:v,max:ie,isDateUnavailable:y,disabled:b=!1,readOnly:x=!1,required:S=!1,invalid:ae,name:C,label:w,labelledBy:oe,describedBy:T,placeholderValue:E,disambiguation:D,showZone:se,end:O,autoFocus:ce,emptyText:le=`Empty`,tabIndex:ue=0,props:de,...k}=e,A=l.n({locale:ne,zone:g===`none`?void 0:g}),{locale:j}=A,M=m===`datetime`&&g!==`none`?A.zone:null,N=re??a.b(j),P=(0,u.useMemo)(()=>({type:m,locale:j,hourCycle:N,granularity:_}),[m,j,N,_]),F=(0,u.useMemo)(()=>s.o(P),[P]),I=`${m}|${j}|${N}|${_}|${M}`,[L,fe]=c.a({value:ee,defaultValue:h,onChange:(e,t)=>te?.(e,{...t,...o.x(e,M??A.zone)}),interaction:{component:`dateField`,type:`valueChange`,content:[`value`]}}),[R,z]=(0,u.useState)(()=>({draft:s.n(L,P,M),source:L,key:I})),B=R.draft;if(R.source!==L||R.key!==I){let e=s.f(R.draft,F,P,{zone:M,disambiguation:D}),t={draft:R.key===I&&e===L?R.draft:s.n(L,P,M),source:L,key:I};z(t),B=t.draft}let[V,H]=(0,u.useState)(null),U=(0,u.useRef)(null),W=(0,u.useRef)(null),G=i.t(`date-field`),K=w===void 0?void 0:`${G}-label`,q=(0,u.useMemo)(()=>s.n(E??`${o.N(A.zone)}T00:00:00`,{...P,type:P.type===`date`?`date`:`datetime`},null),[E,A.zone,P]),J=(e,t,n)=>{let r=s.f(e,F,P,{zone:M,disambiguation:D});z({draft:e,source:r,key:I}),fe(r,{reason:t,event:n})},Y=r.o({draft:B,editing:V,commit:J}),X=()=>Array.from(U.current?.querySelectorAll(`[${f}]`)??[]),Z=e=>{let t=X();t[Math.max(0,Math.min(e,t.length-1))]?.focus()},Q=e=>X().indexOf(e),pe=(e,t,n,r)=>{let{draft:i,editing:a}=Y.current,o=a?.type===t?a.buffer:``;if(t===`dayPeriod`){let t=s.d(i,n,j);t&&(Y.current.commit(t,`keyboard`,r),Z(Q(e)+1));return}if(!/^\d$/.test(n)){/^[^\p{L}\p{N}]$/u.test(n)&&i[t]!==void 0&&Z(Q(e)+1);return}let c=s.u(i,t,o,n,P);H({type:t,buffer:c.advance?``:c.buffer}),Y.current.commit(c.draft,`keyboard`,r),c.advance&&Z(Q(e)+1)},me=r.a(e=>{let n=e.target.closest(`[${f}]`);if(!n||b||e.defaultPrevented)return;let r=n.getAttribute(f),i=Q(n),a=t._(n),{key:o}=e,c=Y.current.draft,l=t=>{e.preventDefault(),!x&&(H({type:r,buffer:``}),J(t,`keyboard`,e))};if(o===`ArrowUp`||o===`ArrowDown`)return l(s.c(c,r,o===`ArrowUp`?1:-1,P,q));if(o===`PageUp`||o===`PageDown`)return l(s.c(c,r,(o===`PageUp`?1:-1)*s.t[r],P,q));if(o===`Home`||o===`End`){let e=s.i(r,c,P);return l({...c,[r]:o===`Home`?e.min:e.max})}if(o===`ArrowLeft`||o===`ArrowRight`){e.preventDefault(),Z(i+(o===`ArrowRight`===a?-1:1));return}if(o===`Backspace`||o===`Delete`){if(e.preventDefault(),x)return;let t=Y.current.editing?.type===r?Y.current.editing.buffer:``;if(t.length>1){let n=t.slice(0,-1);H({type:r,buffer:n}),J({...c,[r]:Number(n)},`keyboard`,e)}else c[r]===void 0?o===`Backspace`&&Z(i-1):(H({type:r,buffer:``}),J({...c,[r]:void 0},`keyboard`,e));return}if(o===`Enter`){e.preventDefault(),W.current?.form?.requestSubmit();return}o===`Unidentified`||o===`Process`||e.ctrlKey||e.metaKey||e.altKey||o.length!==1||(e.preventDefault(),x||pe(n,r,o,e))});(0,u.useEffect)(()=>{let e=U.current;if(!e)return;let t=e=>{let t=e.target?.closest(`[${f}]`);if(!t||(e.preventDefault(),b||x))return;let n=t.getAttribute(f);if(e.inputType.startsWith(`delete`)){t.dispatchEvent(new KeyboardEvent(`keydown`,{key:`Backspace`,bubbles:!0,cancelable:!0}));return}for(let r of e.data??``)pe(t,n,r,e)};return e.addEventListener(`beforeinput`,t),()=>e.removeEventListener(`beforeinput`,t)});let he=r.a(e=>{if(e.preventDefault(),b||x)return;let t=m===`datetime`?M?`instant`:`datetime`:m,n=s.m(e.clipboardData.getData(`text`),{locale:j,kind:t,zone:M??A.zone});n&&J(s.n(n,P,M),`paste`,e)});(0,u.useEffect)(()=>{let e=W.current?.form;if(!e)return;let t=e=>Y.current.commit(s.n(h,P,M),`reset`,e);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}),(0,u.useEffect)(()=>{ce&&Z(0)},[]);let ge=L!==null&&(v!=null&&o.i(L,v)<0||ie!=null&&o.i(L,ie)>0),_e=L!==null&&m!==`time`&&y?o.O(L,{zone:M??A.zone}):null,$=ae??(ge||_e!==null&&y(_e)),ve=m===`time`?[]:a.x(j),ye=typeof w==`string`?w:void 0,be=s.r(F)[0],xe=m===`datetime`&&M&&(se??M!==A.readerZone)?a.s(M,{locale:j,style:`short`,at:L??void 0}):null;return(0,d.jsxs)(d.Fragment,{children:[w!==void 0&&(0,d.jsx)(n.default,{component:`dateField.label`,display:`block`,mb:1.5,fontSize:14,id:K,props:{onClick:()=>Z(0)},children:w}),(0,d.jsxs)(n.default,{ref:e=>{U.current=e,t.d(p,e)},component:`dateField`,display:`inline-flex`,ai:`center`,position:`relative`,cursor:`text`,css:{fontVariantNumeric:`tabular-nums`,unicodeBidi:`isolate`},...k,variant:[k.variant,{disabled:b,invalid:$}],id:k.id??G,props:{role:`group`,"aria-labelledby":[K,oe].filter(Boolean).join(` `)||void 0,"aria-describedby":T,"aria-disabled":b||void 0,"aria-invalid":$||void 0,...de,onKeyDown:me,onPaste:he,onPointerDown:e=>{if(e.target!==e.currentTarget||b)return;e.preventDefault();let t=s.r(F).findIndex(e=>Y.current.draft[e]===void 0);Z(t===-1?0:t)}},children:[F.map((e,t)=>{if(e.type===`literal`)return(0,d.jsx)(n.default,{component:`dateField.literal`,whiteSpace:`pre`,props:{"aria-hidden":!0},children:e.text},t);let r=e.type,i=s.i(r,B,P),o=B[r],c=o===void 0,l=V?.type===r?V.buffer:``,u=s.a(r,B,l,j),p=c?le:r===`month`?`${o} – ${ve[o-1]}`:r===`dayPeriod`?u:String(o);return(0,d.jsx)(n.default,{component:`dateField.segment`,display:`inline-block`,px:.5,borderRadius:1,textAlign:`end`,whiteSpace:`nowrap`,variant:{placeholder:c,disabled:b},id:`${G}-${r}`,props:{[f]:r,role:`spinbutton`,tabIndex:b?-1:ue,contentEditable:!b&&!x,suppressContentEditableWarning:!0,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,inputMode:r===`dayPeriod`?`text`:`numeric`,enterKeyHint:`next`,"aria-label":ye?`${a.y(r,j)}, ${ye}`:a.y(r,j),"aria-valuemin":i.min,"aria-valuemax":i.max,"aria-valuenow":o??q[r]??i.min,"aria-valuetext":p,"aria-readonly":x||void 0,"aria-disabled":b||void 0,"aria-invalid":$||void 0,"aria-describedby":r===be?T:void 0,onFocus:()=>H({type:r,buffer:``}),onBlur:()=>H(null)},children:u},t)}),xe&&(0,d.jsx)(n.default,{component:`dateField.zone`,ms:2,fontSize:13,whiteSpace:`nowrap`,children:xe}),O!==void 0&&(0,d.jsx)(n.default,{display:`inline-flex`,ai:`center`,ms:`auto`,children:O}),C!==void 0||S?(0,d.jsx)(u.Fragment,{children:S?(0,d.jsx)(n.default,{tag:`input`,ref:W,component:`dateField.validation`,required:!0,disabled:b,props:{type:`text`,name:C,value:L??``,tabIndex:-1,"aria-hidden":!0,onChange:()=>{},onFocus:()=>Z(0)}}):(0,d.jsx)(`input`,{ref:W,type:`hidden`,name:C,value:L??``,disabled:b})}):null]})]})}var m=e._(p,`DateField`);exports.default=m;
|
package/components/dateField.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as e } from "../react-shared.mjs";
|
|
3
3
|
import { _ as t, d as n } from "../platform.mjs";
|
|
4
4
|
import r from "../box.mjs";
|
|
5
5
|
import { a as i, o as a } from "../behavior.mjs";
|
|
@@ -13,23 +13,23 @@ import { Fragment as me, useEffect as m, useMemo as h, useRef as he, useState as
|
|
|
13
13
|
import { Fragment as _e, jsx as g, jsxs as _ } from "react/jsx-runtime";
|
|
14
14
|
//#region src/components/dateField.tsx
|
|
15
15
|
var v = "data-segment";
|
|
16
|
-
function
|
|
17
|
-
let { type:
|
|
16
|
+
function y(e, y) {
|
|
17
|
+
let { type: b = "date", value: ve, defaultValue: ye = null, onValueChange: be, zone: x, locale: xe, hourCycle: Se, granularity: S = "minute", min: Ce, max: we, isDateUnavailable: Te, disabled: C = !1, readOnly: w = !1, required: Ee = !1, invalid: De, name: T, label: E, labelledBy: Oe, describedBy: D, placeholderValue: O, disambiguation: k, showZone: ke, end: A, autoFocus: Ae, emptyText: je = "Empty", tabIndex: Me = 0, props: Ne, ...j } = e, M = pe({
|
|
18
18
|
locale: xe,
|
|
19
19
|
zone: x === "none" ? void 0 : x
|
|
20
|
-
}), { locale: N } = M, P =
|
|
21
|
-
type:
|
|
20
|
+
}), { locale: N } = M, P = b === "datetime" && x !== "none" ? M.zone : null, F = Se ?? s(N), I = h(() => ({
|
|
21
|
+
type: b,
|
|
22
22
|
locale: N,
|
|
23
23
|
hourCycle: F,
|
|
24
24
|
granularity: S
|
|
25
25
|
}), [
|
|
26
|
-
|
|
26
|
+
b,
|
|
27
27
|
N,
|
|
28
28
|
F,
|
|
29
29
|
S
|
|
30
|
-
]), L = h(() => ce(I), [I]), R = `${
|
|
31
|
-
value:
|
|
32
|
-
defaultValue:
|
|
30
|
+
]), L = h(() => ce(I), [I]), R = `${b}|${N}|${F}|${S}|${P}`, [z, Pe] = fe({
|
|
31
|
+
value: ve,
|
|
32
|
+
defaultValue: ye,
|
|
33
33
|
onChange: (e, t) => be?.(e, {
|
|
34
34
|
...t,
|
|
35
35
|
...ie(e, P ?? M.zone)
|
|
@@ -168,7 +168,7 @@ function ve(e, ve) {
|
|
|
168
168
|
});
|
|
169
169
|
let Be = i((e) => {
|
|
170
170
|
if (e.preventDefault(), C || w) return;
|
|
171
|
-
let t =
|
|
171
|
+
let t = b === "datetime" ? P ? "instant" : "datetime" : b, n = se(e.clipboardData.getData("text"), {
|
|
172
172
|
locale: N,
|
|
173
173
|
kind: t,
|
|
174
174
|
zone: P ?? M.zone
|
|
@@ -178,12 +178,12 @@ function ve(e, ve) {
|
|
|
178
178
|
m(() => {
|
|
179
179
|
let e = G.current?.form;
|
|
180
180
|
if (!e) return;
|
|
181
|
-
let t = (e) => Y.current.commit(p(
|
|
181
|
+
let t = (e) => Y.current.commit(p(ye, I, P), "reset", e);
|
|
182
182
|
return e.addEventListener("reset", t), () => e.removeEventListener("reset", t);
|
|
183
183
|
}), m(() => {
|
|
184
184
|
Ae && X(0);
|
|
185
185
|
}, []);
|
|
186
|
-
let Ve = z !== null && (Ce != null && re(z, Ce) < 0 || we != null && re(z, we) > 0), He = z !== null &&
|
|
186
|
+
let Ve = z !== null && (Ce != null && re(z, Ce) < 0 || we != null && re(z, we) > 0), He = z !== null && b !== "time" && Te ? ne(z, { zone: P ?? M.zone }) : null, Q = De ?? (Ve || He !== null && Te(He)), Ue = b === "time" ? [] : ee(N), We = typeof E == "string" ? E : void 0, Ge = le(L)[0], $ = b === "datetime" && P && (ke ?? P !== M.readerZone) ? c(P, {
|
|
187
187
|
locale: N,
|
|
188
188
|
style: "short",
|
|
189
189
|
at: z ?? void 0
|
|
@@ -198,7 +198,7 @@ function ve(e, ve) {
|
|
|
198
198
|
children: E
|
|
199
199
|
}), /* @__PURE__ */ _(r, {
|
|
200
200
|
ref: (e) => {
|
|
201
|
-
W.current = e, n(
|
|
201
|
+
W.current = e, n(y, e);
|
|
202
202
|
},
|
|
203
203
|
component: "dateField",
|
|
204
204
|
display: "inline-flex",
|
|
@@ -214,7 +214,7 @@ function ve(e, ve) {
|
|
|
214
214
|
disabled: C,
|
|
215
215
|
invalid: Q
|
|
216
216
|
}],
|
|
217
|
-
id: K,
|
|
217
|
+
id: j.id ?? K,
|
|
218
218
|
props: {
|
|
219
219
|
role: "group",
|
|
220
220
|
"aria-labelledby": [Ie, Oe].filter(Boolean).join(" ") || void 0,
|
|
@@ -319,6 +319,6 @@ function ve(e, ve) {
|
|
|
319
319
|
]
|
|
320
320
|
})] });
|
|
321
321
|
}
|
|
322
|
-
var
|
|
322
|
+
var b = e(y, "DateField");
|
|
323
323
|
//#endregion
|
|
324
|
-
export {
|
|
324
|
+
export { b as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../placement.cjs"),a=require("../dates.cjs"),o=require("../date-math.cjs"),s=require("../date-input.cjs"),c=require("../reporting.cjs"),l=require("./svg.cjs"),u=require("../date-environment.cjs"),d=require("./calendar.cjs"),f=require("../layer.cjs"),p=require("./overlay.cjs"),m=require("../motion.cjs"),h=require("./dateField.cjs");let g=require("react"),_=require("react/jsx-runtime");function v(){return(0,_.jsx)(l.Svg,{viewBox:`0 0 16 16`,width:`1rem`,height:`1rem`,props:{fill:`none`},children:(0,_.jsx)(l.Path,{d:`M3 3.5h10a1 1 0 0 1 1 1V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4.5a1 1 0 0 1 1-1ZM2 7h12M5.5 2v3M10.5 2v3`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`})})}function y(){return(0,_.jsx)(l.Svg,{viewBox:`0 0 16 16`,width:`1rem`,height:`1rem`,props:{fill:`none`},children:(0,_.jsx)(l.Path,{d:`M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12ZM8 5v3l2 1.5`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`})})}function b(){return(0,_.jsx)(l.Svg,{viewBox:`0 0 16 16`,width:`0.875rem`,height:`0.875rem`,props:{fill:`none`},children:(0,_.jsx)(l.Path,{d:`m4.5 4.5 7 7m0-7-7 7`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`})})}function x(e){let[a,o]=(0,g.useState)(null),s=e.ref,c=(0,g.useCallback)(e=>{o(e),t.d(s,e)},[s]),l=e=>{if(!e||e.contains(document.activeElement)&&document.activeElement!==e)return;let t=[`[data-date][tabindex="0"]`,`[role="option"][tabindex="0"]`,`button:not([disabled])`].map(t=>e.querySelector(t)).find(Boolean),n=e.querySelector(`[role="listbox"]`),r=n?.querySelector(`[role="option"][tabindex="0"]`);n&&r&&(n.scrollTop=r.offsetTop-n.clientHeight/2+r.offsetHeight/2),(t??e).focus({preventScroll:!0})},u=r.a(e=>l(e)),{platform:d,isOpen:h,id:v,setPanel:y,setOpen:b,trigger:x,triggerElement:S,panelElement:C}=f.t({haspopup:`dialog`,idPrefix:`date-picker`,open:e.open,defaultOpen:e.defaultOpen,onOpenChange:e.onOpenChange,interaction:{component:`datePicker`,type:`openChange`},onOpened:u}),w=i.t({side:e.side,align:e.align,offset:1,flip:!0,matchWidth:e.matchWidth,anchor:a});(0,g.useEffect)(()=>{h&&l(C)},[h,C]);let T=(0,g.useCallback)(()=>C,[C]),E=m.n(h,T);return{attachTrigger:x.ref,triggerAttributes:x.props,triggerElement:S,closeOnChoice:e=>{S?.focus(),b(!1,{reason:`select`,event:e})},id:v,attachField:c,panel:t=>{let r={role:`dialog`,"aria-label":e.label,tabIndex:-1};return d?(0,_.jsx)(n.default,{ref:y,component:`popover`,variant:[e.variant,{topLayer:!0}],p:3,...w.layerProps,id:v,props:{popover:`auto`,...r},children:E===`closed`?null:t}):h&&(0,_.jsx)(p.default,{contentRef:y,anchor:a,side:e.side,align:e.align,offset:1,matchWidth:e.matchWidth,component:`popover`,variant:e.variant,p:3,id:v,props:r,children:t})}}}function S(e){let{value:t,step:i,locale:o,hourCycle:c,onSelect:l,label:u,min:d,max:f,emptyLabel:p,separated:m}=e,h=(0,g.useMemo)(()=>s.l(i,{min:d,max:f}),[i,d,f]),v=s.s(t,i),y=Math.max(0,v?h.indexOf(v):h.indexOf(`09:00:00`)),b=r.t({count:h.length,defaultActiveIndex:y,loop:!1,onSelect:(e,t)=>l(h[e],t)}),x=m?{ps:2,bs:1}:{};return h.length===0?(0,_.jsx)(n.default,{component:`datePicker.empty`,flexGrow:1,px:3,py:1.5,fontSize:14,...x,props:{role:`status`},children:p}):(0,_.jsx)(n.default,{component:`datePicker.times`,position:`relative`,display:`flex`,d:`column`,flexGrow:1,gap:.5,maxHeight:72,overflowY:`auto`,p:1,...x,props:{role:`listbox`,"aria-label":u,onKeyDown:b.onKeyDown},children:h.map((e,t)=>(0,_.jsx)(n.default,{component:`datePicker.time`,variant:{selected:e===v},minHeight:`control`,px:3,py:1.5,borderRadius:2,fontSize:`control`,textAlign:`start`,whiteSpace:`nowrap`,css:{fontVariantNumeric:`tabular-nums`},props:{role:`option`,"aria-selected":e===v,...b.itemProps(t),onClick:t=>l(e,t)},children:a.t(e,{locale:o,hour:`numeric`,minute:`2-digit`,hourCycle:c===void 0?void 0:c===12?`h12`:`h23`})},e))})}function C(e){return(0,_.jsx)(n.default,{component:`datePicker.presets`,display:`flex`,d:`column`,gap:.5,pe:2,be:1,props:{role:`group`},children:e.presets.map(t=>(0,_.jsx)(n.default,{tag:`button`,component:`datePicker.preset`,variant:{selected:e.isSelected(t.value)},minHeight:`control`,px:3,py:1.5,borderRadius:2,fontSize:`control`,textAlign:`start`,whiteSpace:`nowrap`,props:{type:`button`,onClick:n=>e.onSelect(t.value,n)},children:t.label},t.label))})}function w(e){let{frame:t,attachField:i,attachTrigger:a,triggerAttributes:o,triggerElement:s,id:c,label:l,labelledBy:u,describedBy:d}=e,{text:f,placeholder:p,icon:m,clear:h,disabled:v,invalid:y,required:b=!1,tabIndex:x,inputs:S,onReset:C}=e,w=(0,g.useRef)(null),T=l===void 0?void 0:`${c}-label`,E=`${c}-value`,D=r.a(C);return(0,g.useEffect)(()=>{let e=w.current?.form;if(e)return e.addEventListener(`reset`,D),()=>e.removeEventListener(`reset`,D)},[D]),(0,_.jsxs)(_.Fragment,{children:[l!==void 0&&(0,_.jsx)(n.default,{component:`dateField.label`,display:`block`,mb:1.5,fontSize:14,id:T,props:{onClick:()=>s?.focus()},children:l}),(0,_.jsxs)(n.default,{ref:i,component:`dateField`,display:`inline-flex`,ai:`center`,position:`relative`,cursor:`pointer`,css:{fontVariantNumeric:`tabular-nums`},...t,variant:[t.variant,{disabled:v,invalid:y}],children:[(0,_.jsx)(n.default,{tag:`button`,ref:a,component:`datePicker.value`,variant:{placeholder:!f},flexGrow:1,textAlign:`start`,whiteSpace:`nowrap`,css:{font:`inherit`},after:{position:`absolute`,inset:0},disabled:v,props:{type:`button`,tabIndex:x,"aria-labelledby":[T,u,E].filter(Boolean).join(` `),"aria-describedby":d,"aria-invalid":y||void 0,...o},children:(0,_.jsx)(`span`,{id:E,children:f||p})}),(0,_.jsxs)(n.default,{display:`inline-flex`,ai:`center`,gap:1,ms:2,children:[h,(0,_.jsx)(n.default,{component:`datePicker.icon`,display:`inline-flex`,ai:`center`,jc:`center`,width:7,height:7,me:-1.5,props:{"aria-hidden":!0},children:m})]}),S.map((e,t)=>b?(0,_.jsx)(n.default,{tag:`input`,ref:t===0?w:void 0,component:`dateField.validation`,required:!0,disabled:v,props:{type:`text`,name:e.name,value:e.value,tabIndex:-1,"aria-hidden":!0,onChange:()=>{},onFocus:()=>s?.focus()}},t):e.name===void 0?null:(0,_.jsx)(`input`,{ref:t===0?w:void 0,type:`hidden`,name:e.name,value:e.value,disabled:v},t))]})]})}function T(e,t){let{type:r=`date`,value:i,defaultValue:s=null,onValueChange:l,zone:f,locale:p,hourCycle:m,granularity:g,disambiguation:T,min:E,max:D,isDateUnavailable:O,disabled:k=!1,readOnly:A=!1,required:ee,invalid:te,name:ne,label:j,labelledBy:re,describedBy:ie,open:ae,defaultOpen:oe,onOpenChange:se,closeOnSelect:M=!0,firstDayOfWeek:ce,weekNumbers:le,side:ue=`bottom`,align:de=`start`,matchWidth:fe=r===`time`,emptyTimesLabel:pe=`No times available`,clearable:N=!1,pickOnly:me=!1,triggerLabel:P,clearLabel:F=`Clear`,tabIndex:I,step:L=30,defaultTime:he=`00:00`,presets:R,showZone:ge,...z}=e,B=u.n({locale:p,zone:f===`none`?void 0:f}),{locale:V}=B,H=r===`datetime`&&f!==`none`?B.zone:null,U=H??B.zone,[W,G]=c.a({value:i,defaultValue:s,onChange:(e,t)=>l?.(e,{...t,...o.x(e,U)}),interaction:{component:`datePicker`,type:`valueChange`,content:[`value`]}}),K=P??(r===`time`?`Choose time`:`Choose date`),q=typeof j==`string`?j:K,{attachTrigger:J,triggerAttributes:_e,triggerElement:Y,closeOnChoice:X,id:Z,attachField:Q,panel:ve}=x({ref:t,open:ae,defaultOpen:oe,onOpenChange:se,side:ue,align:de,matchWidth:fe,label:q,variant:z.variant}),$=W&&r!==`time`?o.O(W,{zone:U}):null,ye=W&&r!==`date`?o.A(W,{zone:U}):null,be=r===`datetime`?$??o.N(U):null,xe=e=>e&&(be===null||o.O(e,{zone:U})===be)?o.A(e,{zone:U}):null,Se=W?a.t(W,{locale:V,zone:U,hourCycle:m===void 0?void 0:m===12?`h12`:`h23`,...r===`date`?{dateStyle:`medium`}:r===`time`?{timeStyle:`short`}:{dateStyle:`medium`,timeStyle:`short`}}):``,Ce=me&&W&&H&&(ge??H!==B.readerZone)?a.s(H,{locale:V,style:`short`,at:W}):null,we=X,Te=(e,t)=>o.r(e,t,H?{zone:H,disambiguation:T}:{}),Ee=(e,t)=>{e&&(r===`date`?(G(e,{reason:`select`,event:t}),M&&we(t)):G(Te(e,ye??he),{reason:`select`,event:t}))},De=(e,t)=>{G(r===`time`?e:Te($??o.N(U),e),{reason:`select`,event:t}),M&&we(t)},Oe=(0,_.jsx)(n.default,{tag:`button`,ref:J,component:`datePicker.trigger`,display:`inline-flex`,ai:`center`,jc:`center`,width:7,height:7,ms:2,me:-1.5,borderRadius:1.5,disabled:k||A,props:{type:`button`,"aria-label":Se?`${K}, ${Se}`:K,tabIndex:I,..._e},children:r===`time`?(0,_.jsx)(y,{}):(0,_.jsx)(v,{})}),ke=N&&W&&!k&&!A&&(0,_.jsx)(n.default,{tag:`button`,component:`datePicker.clear`,display:`inline-flex`,ai:`center`,jc:`center`,width:6,height:6,ms:1,borderRadius:999,position:`relative`,zIndex:1,props:{type:`button`,"aria-label":F,tabIndex:I,onClick:e=>G(null,{reason:`clear`,event:e})},children:(0,_.jsx)(b,{})}),Ae=W!==null&&(E!=null&&o.i(W,E)<0||D!=null&&o.i(W,D)>0),je=me?(0,_.jsx)(w,{frame:z,attachField:Q,attachTrigger:A?void 0:J,triggerAttributes:A?void 0:_e,triggerElement:Y,id:Z,label:j,labelledBy:re,describedBy:ie,text:Ce?`${Se} ${Ce}`:Se,placeholder:K,icon:r===`time`?(0,_.jsx)(y,{}):(0,_.jsx)(v,{}),clear:ke,disabled:k,invalid:te??(Ae||$!==null&&!!O?.($)),required:ee,tabIndex:I,inputs:[{name:ne,value:W??``}],onReset:e=>G(s,{reason:`reset`,event:e})}):(0,_.jsx)(h.default,{ref:Q,...z,type:r,value:W,onValueChange:(e,t)=>G(e,{reason:t.reason,event:t.event}),zone:f,locale:p,hourCycle:m,granularity:g,disambiguation:T,min:E,max:D,isDateUnavailable:O,disabled:k,readOnly:A,required:ee,invalid:te,name:ne,label:j,labelledBy:re,describedBy:ie,showZone:ge,tabIndex:I,end:(0,_.jsxs)(_.Fragment,{children:[ke,Oe]})});return(0,_.jsxs)(c.t,{children:[je,ve((0,_.jsxs)(n.default,{display:`flex`,gap:3,ai:`stretch`,children:[R&&R.length>0&&(0,_.jsx)(C,{presets:R,isSelected:e=>W!==null&&o.i(e,W,{zone:U})===0,onSelect:(e,t)=>{G(e,{reason:`preset`,event:t}),M&&we(t)}}),r!==`time`&&(0,_.jsx)(d.default,{value:$,onValueChange:(e,t)=>Ee(e,t.event),min:E?o.O(E,{zone:U}):void 0,max:D?o.O(D,{zone:U}):void 0,isDateUnavailable:O,locale:p,zone:f===`none`?void 0:f,firstDayOfWeek:ce,weekNumbers:le}),r!==`date`&&(0,_.jsx)(S,{value:ye,step:L,locale:V,hourCycle:m,label:r===`time`?q:`Time`,min:xe(E),max:xe(D),emptyLabel:pe,separated:r===`datetime`,onSelect:De})]}))]})}function E(e,t){let{value:r,defaultValue:i=null,onValueChange:s,locale:l,min:f,max:p,isDateUnavailable:m,disabled:y=!1,readOnly:S=!1,required:T,invalid:E,startName:D,endName:O,label:k,labelledBy:A,describedBy:ee,startLabel:te=`Start date`,endLabel:ne=`End date`,open:j,defaultOpen:re,onOpenChange:ie,closeOnSelect:ae=!0,firstDayOfWeek:oe,weekNumbers:se,months:M=2,side:ce=`bottom`,align:le=`start`,matchWidth:ue=!1,emptyTimesLabel:de,clearable:fe=!1,pickOnly:pe=!1,triggerLabel:N=`Choose dates`,clearLabel:me=`Clear`,tabIndex:P,presets:F,props:I,...L}=e,{locale:he}=u.n({locale:l}),[R,ge]=c.a({value:r,defaultValue:i,onChange:s,interaction:{component:`dateRangePicker`,type:`valueChange`,content:[`value`]}}),[z,B]=(0,g.useState)({start:R?.start??null,end:R?.end??null,source:R}),{start:V,end:H}=z;z.source!==R&&(V=R?.start??null,H=R?.end??null,B({start:V,end:H,source:R}));let{attachTrigger:U,triggerAttributes:W,triggerElement:G,closeOnChoice:K,id:q,attachField:J,panel:_e}=x({ref:t,open:j,defaultOpen:re,onOpenChange:ie,side:ce,align:le,matchWidth:ue,label:typeof k==`string`?k:N,variant:L.variant}),Y=R?a.n(R.start,R.end,{locale:he}):``,X=V!==null&&H!==null&&o.i(V,H)>0,Z=(e,t,n,r)=>{let i=e&&t&&o.i(e,t)<=0?{start:e,end:t}:null;B({start:e,end:t,source:i}),ge(i,{reason:n,event:r})},Q=K,ve={locale:l,min:f,max:p,isDateUnavailable:m,disabled:y,readOnly:S,required:T,component:`datePicker.part`,px:0,py:0,tabIndex:P},$=fe&&R&&!y&&!S&&(0,_.jsx)(n.default,{tag:`button`,component:`datePicker.clear`,display:`inline-flex`,ai:`center`,jc:`center`,width:6,height:6,borderRadius:999,position:`relative`,zIndex:1,props:{type:`button`,"aria-label":me,tabIndex:P,onClick:e=>Z(null,null,`clear`,e)},children:(0,_.jsx)(b,{})}),ye=R!==null&&(f!=null&&o.i(R.start,f)<0||p!=null&&o.i(R.end,p)>0),be=pe?(0,_.jsx)(w,{frame:{...L,props:I},attachField:J,attachTrigger:S?void 0:U,triggerAttributes:S?void 0:W,triggerElement:G,id:q,label:k,labelledBy:A,describedBy:ee,text:Y,placeholder:N,icon:(0,_.jsx)(v,{}),clear:$,disabled:y,invalid:E??ye,required:T,tabIndex:P,inputs:[{name:D,value:R?.start??``},{name:O,value:R?.end??``}],onReset:e=>Z(i?.start??null,i?.end??null,`reset`,e)}):(0,_.jsxs)(_.Fragment,{children:[k!==void 0&&(0,_.jsx)(n.default,{component:`dateField.label`,display:`block`,mb:1.5,fontSize:14,id:`${q}-label`,children:k}),(0,_.jsxs)(n.default,{ref:J,component:`dateField`,display:`inline-flex`,ai:`center`,gap:2,px:3,py:2,...L,variant:[L.variant,{disabled:y,invalid:E??X}],props:{role:`group`,"aria-labelledby":[k===void 0?void 0:`${q}-label`,A].filter(Boolean).join(` `)||void 0,"aria-invalid":(E??X)||void 0,"aria-describedby":ee,...I},children:[(0,_.jsx)(h.default,{...ve,value:V,onValueChange:(e,t)=>Z(e,H,t.reason,t.event),name:D,props:{"aria-label":te},invalid:E??X}),(0,_.jsx)(n.default,{component:`dateField.literal`,props:{"aria-hidden":!0},children:`–`}),(0,_.jsx)(h.default,{...ve,value:H,onValueChange:(e,t)=>Z(V,e,t.reason,t.event),name:O,props:{"aria-label":ne},invalid:E??X}),(0,_.jsxs)(n.default,{display:`inline-flex`,ai:`center`,gap:2,ms:`auto`,children:[$,(0,_.jsx)(n.default,{tag:`button`,ref:U,component:`datePicker.trigger`,display:`inline-flex`,ai:`center`,jc:`center`,width:7,height:7,me:-1.5,borderRadius:1.5,disabled:y||S,props:{type:`button`,"aria-label":Y?`${N}, ${Y}`:N,tabIndex:P,...W},children:(0,_.jsx)(v,{})})]})]})]});return(0,_.jsxs)(c.t,{children:[be,_e((0,_.jsxs)(n.default,{display:`flex`,gap:3,ai:`stretch`,children:[F&&F.length>0&&(0,_.jsx)(C,{presets:F,isSelected:e=>R!==null&&e.start===R.start&&e.end===R.end,onSelect:(e,t)=>{Z(e.start,e.end,`preset`,t),ae&&Q(t)}}),(0,_.jsx)(d.default,{mode:`range`,months:M,value:R,defaultFocusedDate:V??void 0,onValueChange:(e,t)=>{Z(e?.start??null,e?.end??null,`select`,t.event),ae&&e&&t.event&&Q(t.event)},min:f,max:p,isDateUnavailable:m,locale:l,firstDayOfWeek:oe,weekNumbers:se})]}))]})}var D=e.f(T,`DatePicker`),O=e.f(E,`DateRangePicker`);exports.DateRangePicker=O,exports.default=D;
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../platform.cjs"),n=require("../box.cjs"),r=require("../behavior.cjs"),i=require("../placement.cjs"),a=require("../dates.cjs"),o=require("../date-math.cjs"),s=require("../date-input.cjs"),c=require("../reporting.cjs"),l=require("./svg.cjs"),u=require("../date-environment.cjs"),d=require("./calendar.cjs"),f=require("../layer.cjs"),p=require("./overlay.cjs"),m=require("../motion.cjs"),h=require("./dateField.cjs");let g=require("react"),_=require("react/jsx-runtime");function v(){return(0,_.jsx)(l.Svg,{viewBox:`0 0 16 16`,width:`1rem`,height:`1rem`,props:{fill:`none`},children:(0,_.jsx)(l.Path,{d:`M3 3.5h10a1 1 0 0 1 1 1V13a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V4.5a1 1 0 0 1 1-1ZM2 7h12M5.5 2v3M10.5 2v3`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`})})}function y(){return(0,_.jsx)(l.Svg,{viewBox:`0 0 16 16`,width:`1rem`,height:`1rem`,props:{fill:`none`},children:(0,_.jsx)(l.Path,{d:`M8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12ZM8 5v3l2 1.5`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`,strokeLinejoin:`round`})})}function b(){return(0,_.jsx)(l.Svg,{viewBox:`0 0 16 16`,width:`0.875rem`,height:`0.875rem`,props:{fill:`none`},children:(0,_.jsx)(l.Path,{d:`m4.5 4.5 7 7m0-7-7 7`,stroke:`currentColor`,strokeWidth:1.5,strokeLinecap:`round`})})}function x(e){let[a,o]=(0,g.useState)(null),s=e.ref,c=(0,g.useCallback)(e=>{o(e),t.d(s,e)},[s]),l=e=>{if(!e||e.contains(document.activeElement)&&document.activeElement!==e)return;let t=[`[data-date][tabindex="0"]`,`[role="option"][tabindex="0"]`,`button:not([disabled])`].map(t=>e.querySelector(t)).find(Boolean),n=e.querySelector(`[role="listbox"]`),r=n?.querySelector(`[role="option"][tabindex="0"]`);n&&r&&(n.scrollTop=r.offsetTop-n.clientHeight/2+r.offsetHeight/2),(t??e).focus({preventScroll:!0})},u=r.a(e=>l(e)),{platform:d,isOpen:h,id:v,setPanel:y,setOpen:b,trigger:x,triggerElement:S,panelElement:C}=f.t({haspopup:`dialog`,idPrefix:`date-picker`,open:e.open,defaultOpen:e.defaultOpen,onOpenChange:e.onOpenChange,interaction:{component:`datePicker`,type:`openChange`},onOpened:u}),w=i.t({side:e.side,align:e.align,offset:1,flip:!0,matchWidth:e.matchWidth,anchor:a});(0,g.useEffect)(()=>{h&&l(C)},[h,C]);let T=(0,g.useCallback)(()=>C,[C]),E=m.n(h,T);return{attachTrigger:x.ref,triggerAttributes:x.props,triggerElement:S,closeOnChoice:e=>{S?.focus(),b(!1,{reason:`select`,event:e})},id:v,attachField:c,panel:t=>{let r={role:`dialog`,"aria-label":e.label,tabIndex:-1};return d?(0,_.jsx)(n.default,{ref:y,component:`popover`,variant:[e.variant,{topLayer:!0}],p:3,...w.layerProps,id:v,props:{popover:`auto`,...r},children:E===`closed`?null:t}):h&&(0,_.jsx)(p.default,{contentRef:y,anchor:a,side:e.side,align:e.align,offset:1,matchWidth:e.matchWidth,component:`popover`,variant:e.variant,p:3,id:v,props:r,children:t})}}}function S(e){let{value:t,step:i,locale:o,hourCycle:c,onSelect:l,label:u,min:d,max:f,emptyLabel:p,separated:m}=e,h=(0,g.useMemo)(()=>s.l(i,{min:d,max:f}),[i,d,f]),v=s.s(t,i),y=Math.max(0,v?h.indexOf(v):h.indexOf(`09:00:00`)),b=r.t({count:h.length,defaultActiveIndex:y,loop:!1,onSelect:(e,t)=>l(h[e],t)}),x=m?{ps:2,bs:1}:{};return h.length===0?(0,_.jsx)(n.default,{component:`datePicker.empty`,flexGrow:1,px:3,py:1.5,fontSize:14,...x,props:{role:`status`},children:p}):(0,_.jsx)(n.default,{component:`datePicker.times`,position:`relative`,display:`flex`,d:`column`,flexGrow:1,gap:.5,maxHeight:72,overflowY:`auto`,p:1,...x,props:{role:`listbox`,"aria-label":u,onKeyDown:b.onKeyDown},children:h.map((e,t)=>(0,_.jsx)(n.default,{component:`datePicker.time`,variant:{selected:e===v},minHeight:`control`,px:3,py:1.5,borderRadius:2,fontSize:`control`,textAlign:`start`,whiteSpace:`nowrap`,css:{fontVariantNumeric:`tabular-nums`},props:{role:`option`,"aria-selected":e===v,...b.itemProps(t),onClick:t=>l(e,t)},children:a.t(e,{locale:o,hour:`numeric`,minute:`2-digit`,hourCycle:c===void 0?void 0:c===12?`h12`:`h23`})},e))})}function C(e){return(0,_.jsx)(n.default,{component:`datePicker.presets`,display:`flex`,d:`column`,gap:.5,pe:2,be:1,props:{role:`group`},children:e.presets.map(t=>(0,_.jsx)(n.default,{tag:`button`,component:`datePicker.preset`,variant:{selected:e.isSelected(t.value)},minHeight:`control`,px:3,py:1.5,borderRadius:2,fontSize:`control`,textAlign:`start`,whiteSpace:`nowrap`,props:{type:`button`,onClick:n=>e.onSelect(t.value,n)},children:t.label},t.label))})}function w(e){let{frame:t,attachField:i,attachTrigger:a,triggerAttributes:o,triggerElement:s,id:c,label:l,labelledBy:u,describedBy:d}=e,{text:f,placeholder:p,icon:m,clear:h,disabled:v,invalid:y,required:b=!1,tabIndex:x,inputs:S,onReset:C}=e,w=(0,g.useRef)(null),T=l===void 0?void 0:`${c}-label`,E=`${c}-value`,D=r.a(C);return(0,g.useEffect)(()=>{let e=w.current?.form;if(e)return e.addEventListener(`reset`,D),()=>e.removeEventListener(`reset`,D)},[D]),(0,_.jsxs)(_.Fragment,{children:[l!==void 0&&(0,_.jsx)(n.default,{component:`dateField.label`,display:`block`,mb:1.5,fontSize:14,id:T,props:{onClick:()=>s?.focus()},children:l}),(0,_.jsxs)(n.default,{ref:i,component:`dateField`,display:`inline-flex`,ai:`center`,position:`relative`,cursor:`pointer`,css:{fontVariantNumeric:`tabular-nums`},...t,variant:[t.variant,{disabled:v,invalid:y}],children:[(0,_.jsx)(n.default,{tag:`button`,ref:a,component:`datePicker.value`,variant:{placeholder:!f},flexGrow:1,textAlign:`start`,whiteSpace:`nowrap`,css:{font:`inherit`},after:{position:`absolute`,inset:0},disabled:v,props:{type:`button`,tabIndex:x,"aria-labelledby":[T,u,E].filter(Boolean).join(` `),"aria-describedby":d,"aria-invalid":y||void 0,...o},children:(0,_.jsx)(`span`,{id:E,children:f||p})}),(0,_.jsxs)(n.default,{display:`inline-flex`,ai:`center`,gap:1,ms:2,children:[h,(0,_.jsx)(n.default,{component:`datePicker.icon`,display:`inline-flex`,ai:`center`,jc:`center`,width:7,height:7,me:-1.5,props:{"aria-hidden":!0},children:m})]}),S.map((e,t)=>b?(0,_.jsx)(n.default,{tag:`input`,ref:t===0?w:void 0,component:`dateField.validation`,required:!0,disabled:v,props:{type:`text`,name:e.name,value:e.value,tabIndex:-1,"aria-hidden":!0,onChange:()=>{},onFocus:()=>s?.focus()}},t):e.name===void 0?null:(0,_.jsx)(`input`,{ref:t===0?w:void 0,type:`hidden`,name:e.name,value:e.value,disabled:v},t))]})]})}function T(e,t){let{type:r=`date`,value:i,defaultValue:s=null,onValueChange:l,zone:f,locale:p,hourCycle:m,granularity:g,disambiguation:T,min:E,max:D,isDateUnavailable:O,disabled:k=!1,readOnly:A=!1,required:ee,invalid:te,name:ne,label:j,labelledBy:re,describedBy:ie,open:ae,defaultOpen:oe,onOpenChange:se,closeOnSelect:M=!0,firstDayOfWeek:ce,weekNumbers:le,side:ue=`bottom`,align:de=`start`,matchWidth:fe=r===`time`,emptyTimesLabel:pe=`No times available`,clearable:N=!1,pickOnly:me=!1,triggerLabel:P,clearLabel:F=`Clear`,tabIndex:I,step:L=30,defaultTime:he=`00:00`,presets:R,showZone:ge,...z}=e,B=u.n({locale:p,zone:f===`none`?void 0:f}),{locale:V}=B,H=r===`datetime`&&f!==`none`?B.zone:null,U=H??B.zone,[W,G]=c.a({value:i,defaultValue:s,onChange:(e,t)=>l?.(e,{...t,...o.x(e,U)}),interaction:{component:`datePicker`,type:`valueChange`,content:[`value`]}}),K=P??(r===`time`?`Choose time`:`Choose date`),q=typeof j==`string`?j:K,{attachTrigger:J,triggerAttributes:_e,triggerElement:Y,closeOnChoice:X,id:Z,attachField:Q,panel:ve}=x({ref:t,open:ae,defaultOpen:oe,onOpenChange:se,side:ue,align:de,matchWidth:fe,label:q,variant:z.variant}),$=W&&r!==`time`?o.O(W,{zone:U}):null,ye=W&&r!==`date`?o.A(W,{zone:U}):null,be=r===`datetime`?$??o.N(U):null,xe=e=>e&&(be===null||o.O(e,{zone:U})===be)?o.A(e,{zone:U}):null,Se=W?a.t(W,{locale:V,zone:U,hourCycle:m===void 0?void 0:m===12?`h12`:`h23`,...r===`date`?{dateStyle:`medium`}:r===`time`?{timeStyle:`short`}:{dateStyle:`medium`,timeStyle:`short`}}):``,Ce=me&&W&&H&&(ge??H!==B.readerZone)?a.s(H,{locale:V,style:`short`,at:W}):null,we=X,Te=(e,t)=>o.r(e,t,H?{zone:H,disambiguation:T}:{}),Ee=(e,t)=>{e&&(r===`date`?(G(e,{reason:`select`,event:t}),M&&we(t)):G(Te(e,ye??he),{reason:`select`,event:t}))},De=(e,t)=>{G(r===`time`?e:Te($??o.N(U),e),{reason:`select`,event:t}),M&&we(t)},Oe=(0,_.jsx)(n.default,{tag:`button`,ref:J,component:`datePicker.trigger`,display:`inline-flex`,ai:`center`,jc:`center`,width:7,height:7,ms:2,me:-1.5,borderRadius:1.5,disabled:k||A,props:{type:`button`,"aria-label":Se?`${K}, ${Se}`:K,tabIndex:I,..._e},children:r===`time`?(0,_.jsx)(y,{}):(0,_.jsx)(v,{})}),ke=N&&W&&!k&&!A&&(0,_.jsx)(n.default,{tag:`button`,component:`datePicker.clear`,display:`inline-flex`,ai:`center`,jc:`center`,width:6,height:6,ms:1,borderRadius:999,position:`relative`,zIndex:1,props:{type:`button`,"aria-label":F,tabIndex:I,onClick:e=>G(null,{reason:`clear`,event:e})},children:(0,_.jsx)(b,{})}),Ae=W!==null&&(E!=null&&o.i(W,E)<0||D!=null&&o.i(W,D)>0),je=me?(0,_.jsx)(w,{frame:z,attachField:Q,attachTrigger:A?void 0:J,triggerAttributes:A?void 0:_e,triggerElement:Y,id:Z,label:j,labelledBy:re,describedBy:ie,text:Ce?`${Se} ${Ce}`:Se,placeholder:K,icon:r===`time`?(0,_.jsx)(y,{}):(0,_.jsx)(v,{}),clear:ke,disabled:k,invalid:te??(Ae||$!==null&&!!O?.($)),required:ee,tabIndex:I,inputs:[{name:ne,value:W??``}],onReset:e=>G(s,{reason:`reset`,event:e})}):(0,_.jsx)(h.default,{ref:Q,...z,type:r,value:W,onValueChange:(e,t)=>G(e,{reason:t.reason,event:t.event}),zone:f,locale:p,hourCycle:m,granularity:g,disambiguation:T,min:E,max:D,isDateUnavailable:O,disabled:k,readOnly:A,required:ee,invalid:te,name:ne,label:j,labelledBy:re,describedBy:ie,showZone:ge,tabIndex:I,end:(0,_.jsxs)(_.Fragment,{children:[ke,Oe]})});return(0,_.jsxs)(c.t,{children:[je,ve((0,_.jsxs)(n.default,{display:`flex`,gap:3,ai:`stretch`,children:[R&&R.length>0&&(0,_.jsx)(C,{presets:R,isSelected:e=>W!==null&&o.i(e,W,{zone:U})===0,onSelect:(e,t)=>{G(e,{reason:`preset`,event:t}),M&&we(t)}}),r!==`time`&&(0,_.jsx)(d.default,{value:$,onValueChange:(e,t)=>Ee(e,t.event),min:E?o.O(E,{zone:U}):void 0,max:D?o.O(D,{zone:U}):void 0,isDateUnavailable:O,locale:p,zone:f===`none`?void 0:f,firstDayOfWeek:ce,weekNumbers:le}),r!==`date`&&(0,_.jsx)(S,{value:ye,step:L,locale:V,hourCycle:m,label:r===`time`?q:`Time`,min:xe(E),max:xe(D),emptyLabel:pe,separated:r===`datetime`,onSelect:De})]}))]})}function E(e,t){let{value:r,defaultValue:i=null,onValueChange:s,locale:l,min:f,max:p,isDateUnavailable:m,disabled:y=!1,readOnly:S=!1,required:T,invalid:E,startName:D,endName:O,label:k,labelledBy:A,describedBy:ee,startLabel:te=`Start date`,endLabel:ne=`End date`,open:j,defaultOpen:re,onOpenChange:ie,closeOnSelect:ae=!0,firstDayOfWeek:oe,weekNumbers:se,months:M=2,side:ce=`bottom`,align:le=`start`,matchWidth:ue=!1,emptyTimesLabel:de,clearable:fe=!1,pickOnly:pe=!1,triggerLabel:N=`Choose dates`,clearLabel:me=`Clear`,tabIndex:P,presets:F,props:I,...L}=e,{locale:he}=u.n({locale:l}),[R,ge]=c.a({value:r,defaultValue:i,onChange:s,interaction:{component:`dateRangePicker`,type:`valueChange`,content:[`value`]}}),[z,B]=(0,g.useState)({start:R?.start??null,end:R?.end??null,source:R}),{start:V,end:H}=z;z.source!==R&&(V=R?.start??null,H=R?.end??null,B({start:V,end:H,source:R}));let{attachTrigger:U,triggerAttributes:W,triggerElement:G,closeOnChoice:K,id:q,attachField:J,panel:_e}=x({ref:t,open:j,defaultOpen:re,onOpenChange:ie,side:ce,align:le,matchWidth:ue,label:typeof k==`string`?k:N,variant:L.variant}),Y=R?a.n(R.start,R.end,{locale:he}):``,X=V!==null&&H!==null&&o.i(V,H)>0,Z=(e,t,n,r)=>{let i=e&&t&&o.i(e,t)<=0?{start:e,end:t}:null;B({start:e,end:t,source:i}),ge(i,{reason:n,event:r})},Q=K,ve={locale:l,min:f,max:p,isDateUnavailable:m,disabled:y,readOnly:S,required:T,component:`datePicker.part`,px:0,py:0,tabIndex:P},$=fe&&R&&!y&&!S&&(0,_.jsx)(n.default,{tag:`button`,component:`datePicker.clear`,display:`inline-flex`,ai:`center`,jc:`center`,width:6,height:6,borderRadius:999,position:`relative`,zIndex:1,props:{type:`button`,"aria-label":me,tabIndex:P,onClick:e=>Z(null,null,`clear`,e)},children:(0,_.jsx)(b,{})}),ye=R!==null&&(f!=null&&o.i(R.start,f)<0||p!=null&&o.i(R.end,p)>0),be=pe?(0,_.jsx)(w,{frame:{...L,props:I},attachField:J,attachTrigger:S?void 0:U,triggerAttributes:S?void 0:W,triggerElement:G,id:q,label:k,labelledBy:A,describedBy:ee,text:Y,placeholder:N,icon:(0,_.jsx)(v,{}),clear:$,disabled:y,invalid:E??ye,required:T,tabIndex:P,inputs:[{name:D,value:R?.start??``},{name:O,value:R?.end??``}],onReset:e=>Z(i?.start??null,i?.end??null,`reset`,e)}):(0,_.jsxs)(_.Fragment,{children:[k!==void 0&&(0,_.jsx)(n.default,{component:`dateField.label`,display:`block`,mb:1.5,fontSize:14,id:`${q}-label`,children:k}),(0,_.jsxs)(n.default,{ref:J,component:`dateField`,display:`inline-flex`,ai:`center`,gap:2,px:3,py:2,...L,variant:[L.variant,{disabled:y,invalid:E??X}],props:{role:`group`,"aria-labelledby":[k===void 0?void 0:`${q}-label`,A].filter(Boolean).join(` `)||void 0,"aria-invalid":(E??X)||void 0,"aria-describedby":ee,...I},children:[(0,_.jsx)(h.default,{...ve,value:V,onValueChange:(e,t)=>Z(e,H,t.reason,t.event),name:D,props:{"aria-label":te},invalid:E??X}),(0,_.jsx)(n.default,{component:`dateField.literal`,props:{"aria-hidden":!0},children:`–`}),(0,_.jsx)(h.default,{...ve,value:H,onValueChange:(e,t)=>Z(V,e,t.reason,t.event),name:O,props:{"aria-label":ne},invalid:E??X}),(0,_.jsxs)(n.default,{display:`inline-flex`,ai:`center`,gap:2,ms:`auto`,children:[$,(0,_.jsx)(n.default,{tag:`button`,ref:U,component:`datePicker.trigger`,display:`inline-flex`,ai:`center`,jc:`center`,width:7,height:7,me:-1.5,borderRadius:1.5,disabled:y||S,props:{type:`button`,"aria-label":Y?`${N}, ${Y}`:N,tabIndex:P,...W},children:(0,_.jsx)(v,{})})]})]})]});return(0,_.jsxs)(c.t,{children:[be,_e((0,_.jsxs)(n.default,{display:`flex`,gap:3,ai:`stretch`,children:[F&&F.length>0&&(0,_.jsx)(C,{presets:F,isSelected:e=>R!==null&&e.start===R.start&&e.end===R.end,onSelect:(e,t)=>{Z(e.start,e.end,`preset`,t),ae&&Q(t)}}),(0,_.jsx)(d.default,{mode:`range`,months:M,value:R,defaultFocusedDate:V??void 0,onValueChange:(e,t)=>{Z(e?.start??null,e?.end??null,`select`,t.event),ae&&e&&t.event&&Q(t.event)},min:f,max:p,isDateUnavailable:m,locale:l,firstDayOfWeek:oe,weekNumbers:se})]}))]})}var D=e._(T,`DatePicker`),O=e._(E,`DateRangePicker`);exports.DateRangePicker=O,exports.default=D;
|
package/components/dateTime.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../box.cjs"),n=require("../dates.cjs"),r=require("../date-environment.cjs");function i(e,i){let{value:a,zone:o,locale:s,format:c,relative:l,props:u,...d}=e,f=r.n({locale:s,zone:o}),p=n.f(a),m=p&&n.E(p),h=m?l?n.r(m,{...l===!0?{}:l,locale:f.locale,zone:f.zone}):n.t(m,{...c,locale:f.locale,zone:f.zone}):``;return t.useBoxElement({tag:`time`,display:`inline`,...d,props:{dateTime:m??void 0,suppressHydrationWarning:l?!0:void 0,...u},children:h},i)}var a=e.
|
|
1
|
+
"use client";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../react-shared.cjs"),t=require("../box.cjs"),n=require("../dates.cjs"),r=require("../date-environment.cjs");function i(e,i){let{value:a,zone:o,locale:s,format:c,relative:l,props:u,...d}=e,f=r.n({locale:s,zone:o}),p=n.f(a),m=p&&n.E(p),h=m?l?n.r(m,{...l===!0?{}:l,locale:f.locale,zone:f.zone}):n.t(m,{...c,locale:f.locale,zone:f.zone}):``;return t.useBoxElement({tag:`time`,display:`inline`,...d,props:{dateTime:m??void 0,suppressHydrationWarning:l?!0:void 0,...u},children:h},i)}var a=e._(i,`DateTime`);exports.DateProvider=r.t,exports.default=a;
|
package/components/dateTime.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
2
|
+
import { _ as e } from "../react-shared.mjs";
|
|
3
3
|
import { useBoxElement as t } from "../box.mjs";
|
|
4
4
|
import { E as n, f as r, r as i, t as a } from "../dates.mjs";
|
|
5
5
|
import { n as o, t as s } from "../date-environment.mjs";
|