@dxos/react-ui 0.9.0 → 0.9.1-main.c7dcc2e112
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/lib/browser/{chunk-7JFD5ZHZ.mjs → chunk-F3PLXTDA.mjs} +21 -25
- package/dist/lib/browser/{chunk-7JFD5ZHZ.mjs.map → chunk-F3PLXTDA.mjs.map} +3 -3
- package/dist/lib/browser/{chunk-5SPBSIWS.mjs → chunk-HFJYTGHU.mjs} +11 -1
- package/dist/lib/browser/chunk-HFJYTGHU.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +1042 -856
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +5 -5
- package/dist/lib/browser/testing/index.mjs.map +2 -2
- package/dist/lib/browser/translations.mjs +1 -1
- package/dist/lib/node-esm/{chunk-TTEL2FP2.mjs → chunk-LLVUYLAM.mjs} +21 -25
- package/dist/lib/node-esm/{chunk-TTEL2FP2.mjs.map → chunk-LLVUYLAM.mjs.map} +3 -3
- package/dist/lib/node-esm/{chunk-FPVTVXND.mjs → chunk-OJYUPUCY.mjs} +11 -1
- package/dist/lib/node-esm/chunk-OJYUPUCY.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +1042 -856
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +5 -5
- package/dist/lib/node-esm/testing/index.mjs.map +2 -2
- package/dist/lib/node-esm/translations.mjs +1 -1
- package/dist/types/src/components/Button/Button.d.ts +2 -0
- package/dist/types/src/components/Button/Button.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.d.ts +0 -1
- package/dist/types/src/components/Button/IconButton.d.ts.map +1 -1
- package/dist/types/src/components/Button/IconButton.stories.d.ts +34 -0
- package/dist/types/src/components/Button/IconButton.stories.d.ts.map +1 -1
- package/dist/types/src/components/Button/SystemIconButton.d.ts +20 -0
- package/dist/types/src/components/Button/SystemIconButton.d.ts.map +1 -0
- package/dist/types/src/components/Button/ToggleIconButton.d.ts +15 -0
- package/dist/types/src/components/Button/ToggleIconButton.d.ts.map +1 -0
- package/dist/types/src/components/Button/index.d.ts +2 -0
- package/dist/types/src/components/Button/index.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.d.ts +25 -19
- package/dist/types/src/components/Card/Card.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.stories.d.ts +1 -1
- package/dist/types/src/components/Card/Card.stories.d.ts.map +1 -1
- package/dist/types/src/components/Card/Card.theme.d.ts.map +1 -1
- package/dist/types/src/components/Clipboard/index.d.ts +1 -0
- package/dist/types/src/components/Clipboard/index.d.ts.map +1 -1
- package/dist/types/src/components/Column/Column.d.ts +19 -1
- package/dist/types/src/components/Column/Column.d.ts.map +1 -1
- package/dist/types/src/components/Column/Column.theme.d.ts +8 -0
- package/dist/types/src/components/Column/Column.theme.d.ts.map +1 -1
- package/dist/types/src/components/Input/constants.d.ts +3 -0
- package/dist/types/src/components/Input/constants.d.ts.map +1 -1
- package/dist/types/src/components/Message/Message.theme.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.d.ts.map +1 -1
- package/dist/types/src/components/Toast/Toast.theme.d.ts.map +1 -1
- package/dist/types/src/components/Tooltip/TextTooltip.d.ts +19 -0
- package/dist/types/src/components/Tooltip/TextTooltip.d.ts.map +1 -0
- package/dist/types/src/components/Tooltip/index.d.ts +1 -0
- package/dist/types/src/components/Tooltip/index.d.ts.map +1 -1
- package/dist/types/src/testing/Loading.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +10 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -16
- package/src/components/Button/Button.tsx +23 -2
- package/src/components/Button/IconButton.stories.tsx +81 -1
- package/src/components/Button/IconButton.tsx +2 -4
- package/src/components/Button/SystemIconButton.tsx +153 -0
- package/src/components/Button/ToggleIconButton.tsx +32 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/Card/Card.stories.tsx +69 -27
- package/src/components/Card/Card.theme.ts +27 -9
- package/src/components/Card/Card.tsx +165 -88
- package/src/components/Column/Column.theme.ts +32 -4
- package/src/components/Column/Column.tsx +36 -1
- package/src/components/Input/constants.ts +3 -0
- package/src/components/Message/Message.theme.ts +0 -10
- package/src/components/Message/Message.tsx +4 -4
- package/src/components/Popover/Popover.theme.ts +1 -1
- package/src/components/Toast/Toast.theme.ts +0 -6
- package/src/components/Toast/Toast.tsx +11 -10
- package/src/components/Tooltip/TextTooltip.tsx +54 -0
- package/src/components/Tooltip/index.ts +1 -0
- package/src/testing/Loading.tsx +2 -1
- package/src/testing/decorators/withLayout.tsx +2 -2
- package/src/translations.ts +10 -0
- package/dist/lib/browser/chunk-5SPBSIWS.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FPVTVXND.mjs.map +0 -7
|
@@ -54,10 +54,10 @@ import {
|
|
|
54
54
|
useTooltipContext,
|
|
55
55
|
useTranslation,
|
|
56
56
|
withColumn
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-LLVUYLAM.mjs";
|
|
58
58
|
import {
|
|
59
59
|
translationKey
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-OJYUPUCY.mjs";
|
|
61
61
|
|
|
62
62
|
// src/index.ts
|
|
63
63
|
import { Trans } from "react-i18next";
|
|
@@ -484,7 +484,7 @@ var BUTTON_NAME = "Button";
|
|
|
484
484
|
var [ButtonGroupProvider, useButtonGroupContext] = createContext2(BUTTON_GROUP_NAME, {
|
|
485
485
|
inGroup: false
|
|
486
486
|
});
|
|
487
|
-
var Button = /* @__PURE__ */ memo2(/* @__PURE__ */ forwardRef7(({ classNames, children, density: densityProp, elevation: elevationProp, variant = "default", asChild, ...props }, ref) => {
|
|
487
|
+
var Button = /* @__PURE__ */ memo2(/* @__PURE__ */ forwardRef7(({ classNames, children, density: densityProp, elevation: elevationProp, variant = "default", asChild, caretDown, ...props }, ref) => {
|
|
488
488
|
const { inGroup } = useButtonGroupContext(BUTTON_NAME);
|
|
489
489
|
const { tx } = useThemeContext();
|
|
490
490
|
const elevation = useElevationContext(elevationProp);
|
|
@@ -506,7 +506,10 @@ var Button = /* @__PURE__ */ memo2(/* @__PURE__ */ forwardRef7(({ classNames, ch
|
|
|
506
506
|
...props.disabled && {
|
|
507
507
|
disabled: true
|
|
508
508
|
}
|
|
509
|
-
}, children
|
|
509
|
+
}, caretDown && !asChild ? /* @__PURE__ */ React9.createElement(React9.Fragment, null, children, /* @__PURE__ */ React9.createElement(Icon, {
|
|
510
|
+
size: 3,
|
|
511
|
+
icon: "ph--caret-down--bold"
|
|
512
|
+
})) : children);
|
|
510
513
|
}));
|
|
511
514
|
Button.displayName = BUTTON_NAME;
|
|
512
515
|
var ButtonGroup = /* @__PURE__ */ forwardRef7(({ children, elevation: propsElevation, classNames, asChild, ...props }, forwardedRef) => {
|
|
@@ -526,65 +529,192 @@ var ButtonGroup = /* @__PURE__ */ forwardRef7(({ children, elevation: propsEleva
|
|
|
526
529
|
ButtonGroup.displayName = BUTTON_GROUP_NAME;
|
|
527
530
|
|
|
528
531
|
// src/components/Button/IconButton.tsx
|
|
529
|
-
import
|
|
530
|
-
|
|
532
|
+
import React11, { forwardRef as forwardRef9 } from "react";
|
|
533
|
+
|
|
534
|
+
// src/components/Tooltip/TextTooltip.tsx
|
|
535
|
+
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
536
|
+
import React10, { forwardRef as forwardRef8, useCallback as useCallback3, useRef } from "react";
|
|
537
|
+
var TextTooltip = /* @__PURE__ */ forwardRef8(({ __scopeTooltip, text, children, onlyWhenTruncating, asChild = true, side, truncateQuery, ...props }, forwardedRef) => {
|
|
538
|
+
const content = useRef(null);
|
|
539
|
+
const ref = useComposedRefs(content, forwardedRef);
|
|
540
|
+
const handleInteract = useCallback3((event) => {
|
|
541
|
+
if (onlyWhenTruncating && content.current) {
|
|
542
|
+
const element = truncateQuery ? content.current.querySelector(truncateQuery) : content.current;
|
|
543
|
+
if (!element || element.scrollWidth <= element.offsetWidth) {
|
|
544
|
+
event.preventDefault();
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
}, [
|
|
548
|
+
onlyWhenTruncating,
|
|
549
|
+
truncateQuery
|
|
550
|
+
]);
|
|
551
|
+
return /* @__PURE__ */ React10.createElement(Tooltip.Trigger, {
|
|
552
|
+
asChild,
|
|
553
|
+
...props,
|
|
554
|
+
content: text,
|
|
555
|
+
side,
|
|
556
|
+
onInteract: handleInteract,
|
|
557
|
+
ref
|
|
558
|
+
}, children);
|
|
559
|
+
});
|
|
560
|
+
|
|
561
|
+
// src/components/Button/IconButton.tsx
|
|
562
|
+
var IconButton = /* @__PURE__ */ forwardRef9((props, forwardedRef) => props.iconOnly ? /* @__PURE__ */ React11.createElement(IconOnlyButton, {
|
|
531
563
|
...props,
|
|
532
564
|
ref: forwardedRef
|
|
533
|
-
}) : /* @__PURE__ */
|
|
565
|
+
}) : /* @__PURE__ */ React11.createElement(LabelledIconButton, {
|
|
534
566
|
...props,
|
|
535
567
|
ref: forwardedRef
|
|
536
568
|
}));
|
|
537
|
-
var IconOnlyButton = /* @__PURE__ */
|
|
569
|
+
var IconOnlyButton = /* @__PURE__ */ forwardRef9(({ noTooltip, tooltipSide, ...props }, forwardedRef) => {
|
|
538
570
|
if (noTooltip) {
|
|
539
|
-
return /* @__PURE__ */
|
|
571
|
+
return /* @__PURE__ */ React11.createElement(LabelledIconButton, {
|
|
540
572
|
...props,
|
|
541
573
|
ref: forwardedRef
|
|
542
574
|
});
|
|
543
575
|
}
|
|
544
|
-
return /* @__PURE__ */
|
|
576
|
+
return /* @__PURE__ */ React11.createElement(Tooltip.Trigger, {
|
|
545
577
|
asChild: true,
|
|
546
578
|
content: props.label,
|
|
547
579
|
side: tooltipSide
|
|
548
|
-
}, /* @__PURE__ */
|
|
580
|
+
}, /* @__PURE__ */ React11.createElement(LabelledIconButton, {
|
|
549
581
|
...props,
|
|
550
582
|
ref: forwardedRef
|
|
551
583
|
}));
|
|
552
584
|
});
|
|
553
|
-
var LabelledIconButton = /* @__PURE__ */
|
|
585
|
+
var LabelledIconButton = /* @__PURE__ */ forwardRef9(({ size, icon, iconOnly, square, iconEnd, iconClassNames, label, noTooltip: _, classNames, ...props }, forwardedRef) => {
|
|
554
586
|
const { tx } = useThemeContext();
|
|
555
|
-
return /* @__PURE__ */
|
|
587
|
+
return /* @__PURE__ */ React11.createElement(Button, {
|
|
556
588
|
...props,
|
|
557
589
|
classNames: tx("iconButton.root", {
|
|
558
590
|
iconOnly,
|
|
559
591
|
square
|
|
560
592
|
}, classNames),
|
|
561
593
|
ref: forwardedRef
|
|
562
|
-
}, icon && !iconEnd && /* @__PURE__ */
|
|
594
|
+
}, icon && !iconEnd && /* @__PURE__ */ React11.createElement(Icon, {
|
|
563
595
|
icon,
|
|
564
596
|
size,
|
|
565
597
|
classNames: iconClassNames
|
|
566
|
-
}), /* @__PURE__ */
|
|
598
|
+
}), /* @__PURE__ */ React11.createElement("span", {
|
|
567
599
|
className: iconOnly ? "sr-only" : void 0
|
|
568
|
-
}, label), icon && iconEnd && /* @__PURE__ */
|
|
600
|
+
}, label), icon && iconEnd && /* @__PURE__ */ React11.createElement(Icon, {
|
|
569
601
|
icon,
|
|
570
602
|
size,
|
|
571
603
|
classNames: iconClassNames
|
|
572
|
-
}), caretDown && /* @__PURE__ */ React10.createElement(Icon, {
|
|
573
|
-
size: 3,
|
|
574
|
-
icon: "ph--caret-down--bold"
|
|
575
604
|
}));
|
|
576
605
|
});
|
|
577
606
|
|
|
607
|
+
// src/components/Button/SystemIconButton.tsx
|
|
608
|
+
import React13, { forwardRef as forwardRef11 } from "react";
|
|
609
|
+
import { useTranslation as useTranslation2 } from "react-i18next";
|
|
610
|
+
import { translationKey as translationKey2 } from "#translations";
|
|
611
|
+
|
|
612
|
+
// src/components/Button/ToggleIconButton.tsx
|
|
613
|
+
import React12, { forwardRef as forwardRef10 } from "react";
|
|
614
|
+
import { mx as mx6 } from "@dxos/ui-theme";
|
|
615
|
+
var ToggleIconButton = /* @__PURE__ */ forwardRef10(({ active, icon, activeIcon, iconClassNames, ...props }, forwardedRef) => /* @__PURE__ */ React12.createElement(IconButton, {
|
|
616
|
+
...props,
|
|
617
|
+
ref: forwardedRef,
|
|
618
|
+
icon: active && activeIcon ? activeIcon : icon,
|
|
619
|
+
iconClassNames: activeIcon ? iconClassNames : mx6("transition-transform", active && "rotate-90", iconClassNames)
|
|
620
|
+
}));
|
|
621
|
+
|
|
622
|
+
// src/components/Button/SystemIconButton.tsx
|
|
623
|
+
var StarIconButton = /* @__PURE__ */ forwardRef11(({ label, active, ...props }, forwardedRef) => {
|
|
624
|
+
const { t } = useTranslation2(translationKey2);
|
|
625
|
+
return /* @__PURE__ */ React13.createElement(ToggleIconButton, {
|
|
626
|
+
...props,
|
|
627
|
+
active,
|
|
628
|
+
icon: "ph--star--regular",
|
|
629
|
+
activeIcon: "ph--star--fill",
|
|
630
|
+
label: label ?? t(active ? "system-button.unstar.label" : "system-button.star.label"),
|
|
631
|
+
ref: forwardedRef
|
|
632
|
+
});
|
|
633
|
+
});
|
|
634
|
+
StarIconButton.displayName = "SystemIconButton.Star";
|
|
635
|
+
var BookmarkIconButton = /* @__PURE__ */ forwardRef11(({ label, active, ...props }, forwardedRef) => {
|
|
636
|
+
const { t } = useTranslation2(translationKey2);
|
|
637
|
+
return /* @__PURE__ */ React13.createElement(ToggleIconButton, {
|
|
638
|
+
...props,
|
|
639
|
+
active,
|
|
640
|
+
icon: "ph--bookmark-simple--regular",
|
|
641
|
+
activeIcon: "ph--bookmark-simple--fill",
|
|
642
|
+
label: label ?? t(active ? "system-button.unbookmark.label" : "system-button.bookmark.label"),
|
|
643
|
+
ref: forwardedRef
|
|
644
|
+
});
|
|
645
|
+
});
|
|
646
|
+
BookmarkIconButton.displayName = "SystemIconButton.Bookmark";
|
|
647
|
+
var ExpanderIconButton = /* @__PURE__ */ forwardRef11(({ label, active, ...props }, forwardedRef) => {
|
|
648
|
+
const { t } = useTranslation2(translationKey2);
|
|
649
|
+
return /* @__PURE__ */ React13.createElement(ToggleIconButton, {
|
|
650
|
+
...props,
|
|
651
|
+
active,
|
|
652
|
+
icon: "ph--caret-right--regular",
|
|
653
|
+
label: label ?? t(active ? "system-button.collapse.label" : "system-button.expand.label"),
|
|
654
|
+
ref: forwardedRef
|
|
655
|
+
});
|
|
656
|
+
});
|
|
657
|
+
ExpanderIconButton.displayName = "SystemIconButton.Expander";
|
|
658
|
+
var AddIconButton = /* @__PURE__ */ forwardRef11(({ label, ...props }, forwardedRef) => {
|
|
659
|
+
const { t } = useTranslation2(translationKey2);
|
|
660
|
+
return /* @__PURE__ */ React13.createElement(IconButton, {
|
|
661
|
+
...props,
|
|
662
|
+
icon: "ph--plus--regular",
|
|
663
|
+
label: label ?? t("system-button.add.label"),
|
|
664
|
+
ref: forwardedRef
|
|
665
|
+
});
|
|
666
|
+
});
|
|
667
|
+
AddIconButton.displayName = "SystemIconButton.Add";
|
|
668
|
+
var DeleteIconButton = /* @__PURE__ */ forwardRef11(({ label, ...props }, forwardedRef) => {
|
|
669
|
+
const { t } = useTranslation2(translationKey2);
|
|
670
|
+
return /* @__PURE__ */ React13.createElement(IconButton, {
|
|
671
|
+
...props,
|
|
672
|
+
icon: "ph--trash--regular",
|
|
673
|
+
label: label ?? t("system-button.delete.label"),
|
|
674
|
+
ref: forwardedRef
|
|
675
|
+
});
|
|
676
|
+
});
|
|
677
|
+
DeleteIconButton.displayName = "SystemIconButton.Delete";
|
|
678
|
+
var EditIconButton = /* @__PURE__ */ forwardRef11(({ label, ...props }, forwardedRef) => {
|
|
679
|
+
const { t } = useTranslation2(translationKey2);
|
|
680
|
+
return /* @__PURE__ */ React13.createElement(IconButton, {
|
|
681
|
+
...props,
|
|
682
|
+
icon: "ph--pen--regular",
|
|
683
|
+
label: label ?? t("system-button.edit.label"),
|
|
684
|
+
ref: forwardedRef
|
|
685
|
+
});
|
|
686
|
+
});
|
|
687
|
+
EditIconButton.displayName = "SystemIconButton.Edit";
|
|
688
|
+
var CloseIconButton = /* @__PURE__ */ forwardRef11(({ label, ...props }, forwardedRef) => {
|
|
689
|
+
const { t } = useTranslation2(translationKey2);
|
|
690
|
+
return /* @__PURE__ */ React13.createElement(IconButton, {
|
|
691
|
+
...props,
|
|
692
|
+
icon: "ph--x--regular",
|
|
693
|
+
label: label ?? t("system-button.close.label"),
|
|
694
|
+
ref: forwardedRef
|
|
695
|
+
});
|
|
696
|
+
});
|
|
697
|
+
CloseIconButton.displayName = "SystemIconButton.Close";
|
|
698
|
+
var SystemIconButton = {
|
|
699
|
+
Star: StarIconButton,
|
|
700
|
+
Bookmark: BookmarkIconButton,
|
|
701
|
+
Expander: ExpanderIconButton,
|
|
702
|
+
Add: AddIconButton,
|
|
703
|
+
Delete: DeleteIconButton,
|
|
704
|
+
Edit: EditIconButton,
|
|
705
|
+
Close: CloseIconButton
|
|
706
|
+
};
|
|
707
|
+
|
|
578
708
|
// src/components/Button/Toggle.tsx
|
|
579
709
|
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
580
|
-
import
|
|
581
|
-
var Toggle = /* @__PURE__ */
|
|
582
|
-
return /* @__PURE__ */
|
|
710
|
+
import React14, { forwardRef as forwardRef12 } from "react";
|
|
711
|
+
var Toggle = /* @__PURE__ */ forwardRef12(({ defaultPressed, pressed, onPressedChange, ...props }, forwardedRef) => {
|
|
712
|
+
return /* @__PURE__ */ React14.createElement(TogglePrimitive.Root, {
|
|
583
713
|
defaultPressed,
|
|
584
714
|
pressed,
|
|
585
715
|
onPressedChange,
|
|
586
716
|
asChild: true
|
|
587
|
-
}, /* @__PURE__ */
|
|
717
|
+
}, /* @__PURE__ */ React14.createElement(Button, {
|
|
588
718
|
...props,
|
|
589
719
|
ref: forwardedRef
|
|
590
720
|
}));
|
|
@@ -592,22 +722,22 @@ var Toggle = /* @__PURE__ */ forwardRef9(({ defaultPressed, pressed, onPressedCh
|
|
|
592
722
|
|
|
593
723
|
// src/components/Button/ToggleGroup.tsx
|
|
594
724
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
595
|
-
import
|
|
596
|
-
var ToggleGroup = /* @__PURE__ */
|
|
597
|
-
return /* @__PURE__ */
|
|
725
|
+
import React15, { forwardRef as forwardRef13 } from "react";
|
|
726
|
+
var ToggleGroup = /* @__PURE__ */ forwardRef13(({ classNames, children, ...props }, forwardedRef) => {
|
|
727
|
+
return /* @__PURE__ */ React15.createElement(ToggleGroupPrimitive.Root, {
|
|
598
728
|
...props,
|
|
599
729
|
asChild: true
|
|
600
|
-
}, /* @__PURE__ */
|
|
730
|
+
}, /* @__PURE__ */ React15.createElement(ButtonGroup, {
|
|
601
731
|
classNames,
|
|
602
732
|
children,
|
|
603
733
|
ref: forwardedRef
|
|
604
734
|
}));
|
|
605
735
|
});
|
|
606
|
-
var ToggleGroupItem = /* @__PURE__ */
|
|
607
|
-
return /* @__PURE__ */
|
|
736
|
+
var ToggleGroupItem = /* @__PURE__ */ forwardRef13(({ variant, elevation, density, classNames, children, ...props }, forwardedRef) => {
|
|
737
|
+
return /* @__PURE__ */ React15.createElement(ToggleGroupPrimitive.Item, {
|
|
608
738
|
...props,
|
|
609
739
|
asChild: true
|
|
610
|
-
}, /* @__PURE__ */
|
|
740
|
+
}, /* @__PURE__ */ React15.createElement(Button, {
|
|
611
741
|
variant,
|
|
612
742
|
elevation,
|
|
613
743
|
density,
|
|
@@ -616,11 +746,11 @@ var ToggleGroupItem = /* @__PURE__ */ forwardRef10(({ variant, elevation, densit
|
|
|
616
746
|
ref: forwardedRef
|
|
617
747
|
}));
|
|
618
748
|
});
|
|
619
|
-
var ToggleGroupIconItem = /* @__PURE__ */
|
|
620
|
-
return /* @__PURE__ */
|
|
749
|
+
var ToggleGroupIconItem = /* @__PURE__ */ forwardRef13(({ variant, label, icon, size, elevation, density, classNames, ...props }, forwardedRef) => {
|
|
750
|
+
return /* @__PURE__ */ React15.createElement(ToggleGroupPrimitive.Item, {
|
|
621
751
|
...props,
|
|
622
752
|
asChild: true
|
|
623
|
-
}, /* @__PURE__ */
|
|
753
|
+
}, /* @__PURE__ */ React15.createElement(IconButton, {
|
|
624
754
|
variant,
|
|
625
755
|
elevation,
|
|
626
756
|
density,
|
|
@@ -634,7 +764,7 @@ var ToggleGroupIconItem = /* @__PURE__ */ forwardRef10(({ variant, label, icon,
|
|
|
634
764
|
|
|
635
765
|
// src/components/Calendar/Calendar.tsx
|
|
636
766
|
import { CalendarDate, parseDate } from "@internationalized/date";
|
|
637
|
-
import
|
|
767
|
+
import React16, { forwardRef as forwardRef14 } from "react";
|
|
638
768
|
import { Button as RACButton, Calendar as RACCalendar, CalendarCell as RACCalendarCell, CalendarGrid as RACCalendarGrid, CalendarGridBody as RACCalendarGridBody, CalendarGridHeader as RACCalendarGridHeader, CalendarHeaderCell as RACCalendarHeaderCell, Heading as RACHeading, RangeCalendar as RACRangeCalendar } from "react-aria-components";
|
|
639
769
|
var toCalendarDate = (date) => {
|
|
640
770
|
if (!date) {
|
|
@@ -650,7 +780,7 @@ var fromCalendarDate = (value) => {
|
|
|
650
780
|
};
|
|
651
781
|
var CalendarShell = ({ classNames, className, isDisabled, forwardedRef, children }) => {
|
|
652
782
|
const { tx } = useThemeContext();
|
|
653
|
-
return /* @__PURE__ */
|
|
783
|
+
return /* @__PURE__ */ React16.createElement("div", {
|
|
654
784
|
ref: forwardedRef,
|
|
655
785
|
className: tx("calendar.root", {}, classNames, className) ?? void 0,
|
|
656
786
|
"aria-disabled": isDisabled || void 0
|
|
@@ -658,38 +788,38 @@ var CalendarShell = ({ classNames, className, isDisabled, forwardedRef, children
|
|
|
658
788
|
};
|
|
659
789
|
var CalendarChrome = () => {
|
|
660
790
|
const { tx } = useThemeContext();
|
|
661
|
-
return /* @__PURE__ */
|
|
791
|
+
return /* @__PURE__ */ React16.createElement("header", {
|
|
662
792
|
className: tx("calendar.nav", {}) ?? void 0
|
|
663
|
-
}, /* @__PURE__ */
|
|
793
|
+
}, /* @__PURE__ */ React16.createElement(RACButton, {
|
|
664
794
|
slot: "previous",
|
|
665
795
|
className: tx("calendar.button_previous", {}) ?? void 0
|
|
666
|
-
}, /* @__PURE__ */
|
|
796
|
+
}, /* @__PURE__ */ React16.createElement(Icon, {
|
|
667
797
|
size: 4,
|
|
668
798
|
icon: "ph--caret-left--regular"
|
|
669
|
-
})), /* @__PURE__ */
|
|
799
|
+
})), /* @__PURE__ */ React16.createElement(RACHeading, {
|
|
670
800
|
className: tx("calendar.caption_label", {}) ?? void 0
|
|
671
|
-
}), /* @__PURE__ */
|
|
801
|
+
}), /* @__PURE__ */ React16.createElement(RACButton, {
|
|
672
802
|
slot: "next",
|
|
673
803
|
className: tx("calendar.button_next", {}) ?? void 0
|
|
674
|
-
}, /* @__PURE__ */
|
|
804
|
+
}, /* @__PURE__ */ React16.createElement(Icon, {
|
|
675
805
|
size: 4,
|
|
676
806
|
icon: "ph--caret-right--regular"
|
|
677
807
|
})));
|
|
678
808
|
};
|
|
679
809
|
var CalendarGridContent = () => {
|
|
680
810
|
const { tx } = useThemeContext();
|
|
681
|
-
return /* @__PURE__ */
|
|
811
|
+
return /* @__PURE__ */ React16.createElement(RACCalendarGrid, {
|
|
682
812
|
className: tx("calendar.month_grid", {}) ?? void 0
|
|
683
|
-
}, /* @__PURE__ */
|
|
813
|
+
}, /* @__PURE__ */ React16.createElement(RACCalendarGridHeader, {
|
|
684
814
|
className: tx("calendar.weekdays", {}) ?? void 0
|
|
685
|
-
}, (day) => /* @__PURE__ */
|
|
815
|
+
}, (day) => /* @__PURE__ */ React16.createElement(RACCalendarHeaderCell, {
|
|
686
816
|
className: tx("calendar.weekday", {}) ?? void 0
|
|
687
|
-
}, day)), /* @__PURE__ */
|
|
817
|
+
}, day)), /* @__PURE__ */ React16.createElement(RACCalendarGridBody, null, (date) => /* @__PURE__ */ React16.createElement(RACCalendarCell, {
|
|
688
818
|
date,
|
|
689
819
|
className: tx("calendar.day", {}) ?? void 0
|
|
690
820
|
})));
|
|
691
821
|
};
|
|
692
|
-
var CalendarRoot = /* @__PURE__ */
|
|
822
|
+
var CalendarRoot = /* @__PURE__ */ forwardRef14((props, forwardedRef) => {
|
|
693
823
|
const { classNames, className, isDisabled, minValue, maxValue, defaultMonth } = props;
|
|
694
824
|
const defaultFocused = toCalendarDate(defaultMonth) ?? void 0;
|
|
695
825
|
if (props.mode === "range") {
|
|
@@ -717,12 +847,12 @@ var CalendarRoot = /* @__PURE__ */ forwardRef11((props, forwardedRef) => {
|
|
|
717
847
|
}
|
|
718
848
|
}
|
|
719
849
|
};
|
|
720
|
-
return /* @__PURE__ */
|
|
850
|
+
return /* @__PURE__ */ React16.createElement(CalendarShell, {
|
|
721
851
|
classNames,
|
|
722
852
|
className,
|
|
723
853
|
isDisabled,
|
|
724
854
|
forwardedRef
|
|
725
|
-
}, /* @__PURE__ */
|
|
855
|
+
}, /* @__PURE__ */ React16.createElement(RACRangeCalendar, racProps2, /* @__PURE__ */ React16.createElement(CalendarChrome, null), /* @__PURE__ */ React16.createElement(CalendarGridContent, null)));
|
|
726
856
|
}
|
|
727
857
|
const racProps = {
|
|
728
858
|
isDisabled,
|
|
@@ -732,12 +862,12 @@ var CalendarRoot = /* @__PURE__ */ forwardRef11((props, forwardedRef) => {
|
|
|
732
862
|
value: toCalendarDate(props.selected),
|
|
733
863
|
onChange: (next) => props.onSelect?.(fromCalendarDate(next))
|
|
734
864
|
};
|
|
735
|
-
return /* @__PURE__ */
|
|
865
|
+
return /* @__PURE__ */ React16.createElement(CalendarShell, {
|
|
736
866
|
classNames,
|
|
737
867
|
className,
|
|
738
868
|
isDisabled,
|
|
739
869
|
forwardedRef
|
|
740
|
-
}, /* @__PURE__ */
|
|
870
|
+
}, /* @__PURE__ */ React16.createElement(RACCalendar, racProps, /* @__PURE__ */ React16.createElement(CalendarChrome, null), /* @__PURE__ */ React16.createElement(CalendarGridContent, null)));
|
|
741
871
|
});
|
|
742
872
|
CalendarRoot.displayName = "Calendar.Root";
|
|
743
873
|
var Calendar = {
|
|
@@ -745,16 +875,18 @@ var Calendar = {
|
|
|
745
875
|
};
|
|
746
876
|
|
|
747
877
|
// src/components/Card/Card.tsx
|
|
748
|
-
import { Primitive as
|
|
749
|
-
import { Slot as
|
|
878
|
+
import { Primitive as Primitive10 } from "@radix-ui/react-primitive";
|
|
879
|
+
import { Slot as Slot10 } from "@radix-ui/react-slot";
|
|
750
880
|
import DOMPurify from "dompurify";
|
|
751
|
-
import
|
|
881
|
+
import React21, { forwardRef as forwardRef17, useId as useId3, useMemo as useMemo5 } from "react";
|
|
882
|
+
import { useTranslation as useTranslation3 } from "react-i18next";
|
|
752
883
|
import { iconSize } from "@dxos/ui-theme";
|
|
884
|
+
import { translationKey as translationKey3 } from "#translations";
|
|
753
885
|
|
|
754
886
|
// src/components/Column/Column.tsx
|
|
755
887
|
import { Primitive as Primitive7 } from "@radix-ui/react-primitive";
|
|
756
888
|
import { Slot as Slot7 } from "@radix-ui/react-slot";
|
|
757
|
-
import
|
|
889
|
+
import React17 from "react";
|
|
758
890
|
var COLUMN_ROOT_NAME = "Column.Root";
|
|
759
891
|
var gutterSizes = {
|
|
760
892
|
xs: "var(--dx-gutter-xs)",
|
|
@@ -767,7 +899,7 @@ var ColumnRoot = slottable(({ children, asChild, role, gutter = "md", ...props }
|
|
|
767
899
|
const Comp = asChild ? Slot7 : Primitive7.div;
|
|
768
900
|
const { tx } = useThemeContext();
|
|
769
901
|
const gutterSize = gutterSizes[gutter];
|
|
770
|
-
return /* @__PURE__ */
|
|
902
|
+
return /* @__PURE__ */ React17.createElement(Comp, {
|
|
771
903
|
...rest,
|
|
772
904
|
role: role ?? "none",
|
|
773
905
|
style: {
|
|
@@ -792,7 +924,7 @@ var ColumnRow = slottable(({ children, asChild, role, ...props }, forwardedRef)
|
|
|
792
924
|
const { className, ...rest } = composableProps(props);
|
|
793
925
|
const Comp = asChild ? Slot7 : Primitive7.div;
|
|
794
926
|
const { tx } = useThemeContext();
|
|
795
|
-
return /* @__PURE__ */
|
|
927
|
+
return /* @__PURE__ */ React17.createElement(Comp, {
|
|
796
928
|
...rest,
|
|
797
929
|
role: role ?? "none",
|
|
798
930
|
className: tx("column.row", {}, className),
|
|
@@ -805,7 +937,7 @@ var ColumnBleed = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
|
805
937
|
const { tx } = useThemeContext();
|
|
806
938
|
const { className, ...rest } = composableProps(props);
|
|
807
939
|
const Comp = asChild ? Slot7 : Primitive7.div;
|
|
808
|
-
return /* @__PURE__ */
|
|
940
|
+
return /* @__PURE__ */ React17.createElement(Comp, {
|
|
809
941
|
...rest,
|
|
810
942
|
className: tx("column.bleed", {}, className),
|
|
811
943
|
ref: forwardedRef
|
|
@@ -817,33 +949,51 @@ var ColumnCenter = slottable(({ children, asChild, ...props }, forwardedRef) =>
|
|
|
817
949
|
const { tx } = useThemeContext();
|
|
818
950
|
const { className, ...rest } = composableProps(props);
|
|
819
951
|
const Comp = asChild ? Slot7 : Primitive7.div;
|
|
820
|
-
return /* @__PURE__ */
|
|
952
|
+
return /* @__PURE__ */ React17.createElement(Comp, {
|
|
821
953
|
...rest,
|
|
822
954
|
className: tx("column.center", {}, className),
|
|
823
955
|
ref: forwardedRef
|
|
824
956
|
}, children);
|
|
825
957
|
});
|
|
826
958
|
ColumnCenter.displayName = COLUMN_CENTER_NAME;
|
|
959
|
+
var COLUMN_BLOCK_NAME = "Column.Block";
|
|
960
|
+
var ColumnBlock = slottable(({ children, asChild, end, compact, square, ...props }, forwardedRef) => {
|
|
961
|
+
const { tx } = useThemeContext();
|
|
962
|
+
const { className, ...rest } = composableProps(props);
|
|
963
|
+
const Comp = asChild ? Slot7 : Primitive7.div;
|
|
964
|
+
return /* @__PURE__ */ React17.createElement(Comp, {
|
|
965
|
+
...rest,
|
|
966
|
+
"data-slot": end ? "end" : "start",
|
|
967
|
+
className: tx("column.block", {
|
|
968
|
+
end,
|
|
969
|
+
compact,
|
|
970
|
+
square
|
|
971
|
+
}, className),
|
|
972
|
+
ref: forwardedRef
|
|
973
|
+
}, children);
|
|
974
|
+
});
|
|
975
|
+
ColumnBlock.displayName = COLUMN_BLOCK_NAME;
|
|
827
976
|
var Column = {
|
|
828
977
|
Root: ColumnRoot,
|
|
829
978
|
Row: ColumnRow,
|
|
979
|
+
Block: ColumnBlock,
|
|
830
980
|
Bleed: ColumnBleed,
|
|
831
981
|
Center: ColumnCenter
|
|
832
982
|
};
|
|
833
983
|
|
|
834
984
|
// src/components/Image/Image.tsx
|
|
835
|
-
import
|
|
836
|
-
import { mx as
|
|
985
|
+
import React18, { useCallback as useCallback4, useRef as useRef2, useState as useState3 } from "react";
|
|
986
|
+
import { mx as mx7 } from "@dxos/ui-theme";
|
|
837
987
|
var cache = /* @__PURE__ */ new Map();
|
|
838
988
|
var Image = ({ classNames, src, alt = "", fit = "contain", crossOrigin, sampleSize = 64, contrast = 0.9 }) => {
|
|
839
989
|
const [crossOriginState, setCrossOriginState] = useState3(crossOrigin);
|
|
840
990
|
const [dominantColor, setDominantColor] = useState3(void 0);
|
|
841
991
|
const [imageLoaded, setImageLoaded] = useState3(false);
|
|
842
|
-
const canvasRef =
|
|
992
|
+
const canvasRef = useRef2(null);
|
|
843
993
|
const handleImageError = () => {
|
|
844
994
|
setCrossOriginState(void 0);
|
|
845
995
|
};
|
|
846
|
-
const handleImageLoad =
|
|
996
|
+
const handleImageLoad = useCallback4(({ target }) => {
|
|
847
997
|
const rgb = cache.get(src);
|
|
848
998
|
if (rgb) {
|
|
849
999
|
setDominantColor(rgb);
|
|
@@ -873,37 +1023,37 @@ var Image = ({ classNames, src, alt = "", fit = "contain", crossOrigin, sampleSi
|
|
|
873
1023
|
contrast,
|
|
874
1024
|
src
|
|
875
1025
|
]);
|
|
876
|
-
return /* @__PURE__ */
|
|
1026
|
+
return /* @__PURE__ */ React18.createElement("div", {
|
|
877
1027
|
// `isolate` (`isolation: isolate`) creates a new stacking context so
|
|
878
1028
|
// the inner <img>'s `z-10` stays scoped to this wrapper. Without it
|
|
879
1029
|
// the z-10 leaks into the parent's stacking context and elevates the
|
|
880
1030
|
// image above any pseudo-element rings (e.g. Focus.Item's
|
|
881
1031
|
// `dx-ring-pseudo` `::after`) painted on ancestors — most visibly,
|
|
882
1032
|
// the focus ring on a Card containing a Card.Poster.
|
|
883
|
-
className:
|
|
1033
|
+
className: mx7(`relative flex w-full justify-center overflow-hidden transition-all duration-700 isolate`, classNames),
|
|
884
1034
|
style: {
|
|
885
1035
|
backgroundColor: dominantColor
|
|
886
1036
|
}
|
|
887
|
-
}, /* @__PURE__ */
|
|
1037
|
+
}, /* @__PURE__ */ React18.createElement("canvas", {
|
|
888
1038
|
ref: canvasRef,
|
|
889
1039
|
style: {
|
|
890
1040
|
display: "none"
|
|
891
1041
|
},
|
|
892
1042
|
"aria-hidden": "true"
|
|
893
|
-
}), /* @__PURE__ */
|
|
1043
|
+
}), /* @__PURE__ */ React18.createElement("div", {
|
|
894
1044
|
className: "absolute inset-0 pointer-events-none",
|
|
895
1045
|
style: {
|
|
896
1046
|
background: dominantColor ? `radial-gradient(circle at center, transparent 30%, ${dominantColor} 100%)` : void 0,
|
|
897
1047
|
transition: "opacity 0.7s ease-in-out",
|
|
898
1048
|
opacity: 0.5
|
|
899
1049
|
}
|
|
900
|
-
}), /* @__PURE__ */
|
|
1050
|
+
}), /* @__PURE__ */ React18.createElement("img", {
|
|
901
1051
|
src,
|
|
902
1052
|
alt,
|
|
903
1053
|
crossOrigin: crossOriginState,
|
|
904
1054
|
onError: handleImageError,
|
|
905
1055
|
onLoad: handleImageLoad,
|
|
906
|
-
className:
|
|
1056
|
+
className: mx7("z-10 transition-opacity duration-500", fit === "cover" ? "w-full h-full object-cover" : "object-contain"),
|
|
907
1057
|
style: {
|
|
908
1058
|
opacity: imageLoaded ? 1 : 0
|
|
909
1059
|
}
|
|
@@ -992,27 +1142,19 @@ var isTransparent = (pixels, sampleSize, threshold = 0.5) => {
|
|
|
992
1142
|
return edgeTransparentPixels / edgePixels > threshold;
|
|
993
1143
|
};
|
|
994
1144
|
|
|
995
|
-
// src/components/Toolbar/Toolbar.tsx
|
|
996
|
-
import { Primitive as Primitive10 } from "@radix-ui/react-primitive";
|
|
997
|
-
import { Slot as Slot10 } from "@radix-ui/react-slot";
|
|
998
|
-
import * as ToolbarPrimitive from "@radix-ui/react-toolbar";
|
|
999
|
-
import React19, { forwardRef as forwardRef15 } from "react";
|
|
1000
|
-
import { useTranslation as useTranslation2 } from "react-i18next";
|
|
1001
|
-
import { translationKey as translationKey2 } from "#translations";
|
|
1002
|
-
|
|
1003
1145
|
// src/components/Menu/ContextMenu.tsx
|
|
1004
1146
|
import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
|
|
1005
1147
|
import { Primitive as Primitive8 } from "@radix-ui/react-primitive";
|
|
1006
1148
|
import { Slot as Slot8 } from "@radix-ui/react-slot";
|
|
1007
|
-
import
|
|
1149
|
+
import React19, { forwardRef as forwardRef15 } from "react";
|
|
1008
1150
|
var ContextMenuRoot = ContextMenuPrimitive.ContextMenu;
|
|
1009
1151
|
var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
|
|
1010
1152
|
var ContextMenuPortal = ContextMenuPrimitive.Portal;
|
|
1011
|
-
var ContextMenuContent = /* @__PURE__ */
|
|
1153
|
+
var ContextMenuContent = /* @__PURE__ */ forwardRef15(({ classNames, children, collisionPadding = 8, ...props }, forwardedRef) => {
|
|
1012
1154
|
const { tx } = useThemeContext();
|
|
1013
1155
|
const elevation = useElevationContext();
|
|
1014
1156
|
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
1015
|
-
return /* @__PURE__ */
|
|
1157
|
+
return /* @__PURE__ */ React19.createElement(ContextMenuPrimitive.Content, {
|
|
1016
1158
|
...props,
|
|
1017
1159
|
"data-arrow-keys": "up down",
|
|
1018
1160
|
collisionPadding: safeCollisionPadding,
|
|
@@ -1022,18 +1164,18 @@ var ContextMenuContent = /* @__PURE__ */ forwardRef12(({ classNames, children, c
|
|
|
1022
1164
|
ref: forwardedRef
|
|
1023
1165
|
}, children);
|
|
1024
1166
|
});
|
|
1025
|
-
var ContextMenuViewport = /* @__PURE__ */
|
|
1167
|
+
var ContextMenuViewport = /* @__PURE__ */ forwardRef15(({ classNames, asChild, children, ...props }, forwardedRef) => {
|
|
1026
1168
|
const { tx } = useThemeContext();
|
|
1027
1169
|
const Comp = asChild ? Slot8 : Primitive8.div;
|
|
1028
|
-
return /* @__PURE__ */
|
|
1170
|
+
return /* @__PURE__ */ React19.createElement(Comp, {
|
|
1029
1171
|
...props,
|
|
1030
1172
|
className: tx("menu.viewport", {}, classNames),
|
|
1031
1173
|
ref: forwardedRef
|
|
1032
1174
|
}, children);
|
|
1033
1175
|
});
|
|
1034
|
-
var ContextMenuArrow = /* @__PURE__ */
|
|
1176
|
+
var ContextMenuArrow = /* @__PURE__ */ forwardRef15(({ classNames, ...props }, forwardedRef) => {
|
|
1035
1177
|
const { tx } = useThemeContext();
|
|
1036
|
-
return /* @__PURE__ */
|
|
1178
|
+
return /* @__PURE__ */ React19.createElement(ContextMenuPrimitive.Arrow, {
|
|
1037
1179
|
...props,
|
|
1038
1180
|
className: tx("menu.arrow", {}, classNames),
|
|
1039
1181
|
ref: forwardedRef
|
|
@@ -1041,33 +1183,33 @@ var ContextMenuArrow = /* @__PURE__ */ forwardRef12(({ classNames, ...props }, f
|
|
|
1041
1183
|
});
|
|
1042
1184
|
var ContextMenuGroup = ContextMenuPrimitive.Group;
|
|
1043
1185
|
var ContextMenuItemIndicator = ContextMenuPrimitive.ItemIndicator;
|
|
1044
|
-
var ContextMenuItem = /* @__PURE__ */
|
|
1186
|
+
var ContextMenuItem = /* @__PURE__ */ forwardRef15(({ classNames, ...props }, forwardedRef) => {
|
|
1045
1187
|
const { tx } = useThemeContext();
|
|
1046
|
-
return /* @__PURE__ */
|
|
1188
|
+
return /* @__PURE__ */ React19.createElement(ContextMenuPrimitive.Item, {
|
|
1047
1189
|
...props,
|
|
1048
1190
|
className: tx("menu.item", {}, classNames),
|
|
1049
1191
|
ref: forwardedRef
|
|
1050
1192
|
});
|
|
1051
1193
|
});
|
|
1052
|
-
var ContextMenuCheckboxItem = /* @__PURE__ */
|
|
1194
|
+
var ContextMenuCheckboxItem = /* @__PURE__ */ forwardRef15(({ classNames, ...props }, forwardedRef) => {
|
|
1053
1195
|
const { tx } = useThemeContext();
|
|
1054
|
-
return /* @__PURE__ */
|
|
1196
|
+
return /* @__PURE__ */ React19.createElement(ContextMenuPrimitive.CheckboxItem, {
|
|
1055
1197
|
...props,
|
|
1056
1198
|
className: tx("menu.item", {}, classNames),
|
|
1057
1199
|
ref: forwardedRef
|
|
1058
1200
|
});
|
|
1059
1201
|
});
|
|
1060
|
-
var ContextMenuSeparator = /* @__PURE__ */
|
|
1202
|
+
var ContextMenuSeparator = /* @__PURE__ */ forwardRef15(({ classNames, ...props }, forwardedRef) => {
|
|
1061
1203
|
const { tx } = useThemeContext();
|
|
1062
|
-
return /* @__PURE__ */
|
|
1204
|
+
return /* @__PURE__ */ React19.createElement(ContextMenuPrimitive.Separator, {
|
|
1063
1205
|
...props,
|
|
1064
1206
|
className: tx("menu.separator", {}, classNames),
|
|
1065
1207
|
ref: forwardedRef
|
|
1066
1208
|
});
|
|
1067
1209
|
});
|
|
1068
|
-
var ContextMenuGroupLabel = /* @__PURE__ */
|
|
1210
|
+
var ContextMenuGroupLabel = /* @__PURE__ */ forwardRef15(({ classNames, ...props }, forwardedRef) => {
|
|
1069
1211
|
const { tx } = useThemeContext();
|
|
1070
|
-
return /* @__PURE__ */
|
|
1212
|
+
return /* @__PURE__ */ React19.createElement(ContextMenuPrimitive.Label, {
|
|
1071
1213
|
...props,
|
|
1072
1214
|
className: tx("menu.groupLabel", {}, classNames),
|
|
1073
1215
|
ref: forwardedRef
|
|
@@ -1098,7 +1240,7 @@ import { createMenuScope } from "@radix-ui/react-menu";
|
|
|
1098
1240
|
import { Primitive as Primitive9 } from "@radix-ui/react-primitive";
|
|
1099
1241
|
import { Slot as Slot9 } from "@radix-ui/react-slot";
|
|
1100
1242
|
import { useControllableState } from "@radix-ui/react-use-controllable-state";
|
|
1101
|
-
import
|
|
1243
|
+
import React20, { forwardRef as forwardRef16, useCallback as useCallback5, useEffect as useEffect2, useMemo as useMemo4, useRef as useRef3 } from "react";
|
|
1102
1244
|
var DROPDOWN_MENU_NAME = "DropdownMenu";
|
|
1103
1245
|
var [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(DROPDOWN_MENU_NAME, [
|
|
1104
1246
|
createMenuScope
|
|
@@ -1107,24 +1249,24 @@ var useMenuScope = createMenuScope();
|
|
|
1107
1249
|
var [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);
|
|
1108
1250
|
var DropdownMenuRoot = ({ __scopeDropdownMenu, children, dir, modal = true, open: openProp, defaultOpen, onOpenChange }) => {
|
|
1109
1251
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1110
|
-
const triggerRef =
|
|
1252
|
+
const triggerRef = useRef3(null);
|
|
1111
1253
|
const [open = false, setOpen] = useControllableState({
|
|
1112
1254
|
prop: openProp,
|
|
1113
1255
|
defaultProp: defaultOpen,
|
|
1114
1256
|
onChange: onOpenChange
|
|
1115
1257
|
});
|
|
1116
|
-
return /* @__PURE__ */
|
|
1258
|
+
return /* @__PURE__ */ React20.createElement(DropdownMenuProvider, {
|
|
1117
1259
|
scope: __scopeDropdownMenu,
|
|
1118
1260
|
triggerId: useId2(),
|
|
1119
1261
|
triggerRef,
|
|
1120
1262
|
contentId: useId2(),
|
|
1121
1263
|
open,
|
|
1122
1264
|
onOpenChange: setOpen,
|
|
1123
|
-
onOpenToggle:
|
|
1265
|
+
onOpenToggle: useCallback5(() => setOpen((prevOpen) => !prevOpen), [
|
|
1124
1266
|
setOpen
|
|
1125
1267
|
]),
|
|
1126
1268
|
modal
|
|
1127
|
-
}, /* @__PURE__ */
|
|
1269
|
+
}, /* @__PURE__ */ React20.createElement(MenuPrimitive.Root, {
|
|
1128
1270
|
...menuScope,
|
|
1129
1271
|
dir,
|
|
1130
1272
|
modal,
|
|
@@ -1134,14 +1276,14 @@ var DropdownMenuRoot = ({ __scopeDropdownMenu, children, dir, modal = true, open
|
|
|
1134
1276
|
};
|
|
1135
1277
|
DropdownMenuRoot.displayName = DROPDOWN_MENU_NAME;
|
|
1136
1278
|
var TRIGGER_NAME = "DropdownMenu.Trigger";
|
|
1137
|
-
var DropdownMenuTrigger = /* @__PURE__ */
|
|
1279
|
+
var DropdownMenuTrigger = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1138
1280
|
const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
|
|
1139
1281
|
const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);
|
|
1140
1282
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1141
|
-
return /* @__PURE__ */
|
|
1283
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Anchor, {
|
|
1142
1284
|
asChild: true,
|
|
1143
1285
|
...menuScope
|
|
1144
|
-
}, /* @__PURE__ */
|
|
1286
|
+
}, /* @__PURE__ */ React20.createElement(Primitive9.button, {
|
|
1145
1287
|
type: "button",
|
|
1146
1288
|
id: context.triggerId,
|
|
1147
1289
|
"aria-haspopup": "menu",
|
|
@@ -1195,7 +1337,7 @@ var DropdownMenuVirtualTrigger = (props) => {
|
|
|
1195
1337
|
context.triggerRef.current = virtualRef.current;
|
|
1196
1338
|
}
|
|
1197
1339
|
});
|
|
1198
|
-
return /* @__PURE__ */
|
|
1340
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Anchor, {
|
|
1199
1341
|
...menuScope,
|
|
1200
1342
|
virtualRef
|
|
1201
1343
|
});
|
|
@@ -1205,29 +1347,29 @@ var PORTAL_NAME = "DropdownMenu.Portal";
|
|
|
1205
1347
|
var DropdownMenuPortal = (props) => {
|
|
1206
1348
|
const { __scopeDropdownMenu, ...portalProps } = props;
|
|
1207
1349
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1208
|
-
return /* @__PURE__ */
|
|
1350
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Portal, {
|
|
1209
1351
|
...menuScope,
|
|
1210
1352
|
...portalProps
|
|
1211
1353
|
});
|
|
1212
1354
|
};
|
|
1213
1355
|
DropdownMenuPortal.displayName = PORTAL_NAME;
|
|
1214
|
-
var DropdownMenuViewport = /* @__PURE__ */
|
|
1356
|
+
var DropdownMenuViewport = /* @__PURE__ */ forwardRef16(({ classNames, asChild, children, ...props }, forwardedRef) => {
|
|
1215
1357
|
const { tx } = useThemeContext();
|
|
1216
1358
|
const Comp = asChild ? Slot9 : Primitive9.div;
|
|
1217
|
-
return /* @__PURE__ */
|
|
1359
|
+
return /* @__PURE__ */ React20.createElement(Comp, {
|
|
1218
1360
|
...props,
|
|
1219
1361
|
className: tx("menu.viewport", {}, classNames),
|
|
1220
1362
|
ref: forwardedRef
|
|
1221
1363
|
}, children);
|
|
1222
1364
|
});
|
|
1223
1365
|
var CONTENT_NAME = "DropdownMenu.Content";
|
|
1224
|
-
var DropdownMenuContent = /* @__PURE__ */
|
|
1366
|
+
var DropdownMenuContent = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1225
1367
|
const { __scopeDropdownMenu, classNames, collisionPadding = 8, collisionBoundary, ...contentProps } = props;
|
|
1226
1368
|
const { tx } = useThemeContext();
|
|
1227
1369
|
const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);
|
|
1228
1370
|
const elevation = useElevationContext();
|
|
1229
1371
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1230
|
-
const hasInteractedOutsideRef =
|
|
1372
|
+
const hasInteractedOutsideRef = useRef3(false);
|
|
1231
1373
|
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
1232
1374
|
const computedCollisionBoundary = useMemo4(() => {
|
|
1233
1375
|
const closestBoundary = context.triggerRef.current?.closest("[data-popover-collision-boundary]");
|
|
@@ -1245,7 +1387,7 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef13((props, forwardedRef) =>
|
|
|
1245
1387
|
collisionBoundary,
|
|
1246
1388
|
context.triggerRef.current
|
|
1247
1389
|
]);
|
|
1248
|
-
return /* @__PURE__ */
|
|
1390
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Content, {
|
|
1249
1391
|
id: context.contentId,
|
|
1250
1392
|
"aria-labelledby": context.triggerId,
|
|
1251
1393
|
...menuScope,
|
|
@@ -1287,10 +1429,10 @@ var DropdownMenuContent = /* @__PURE__ */ forwardRef13((props, forwardedRef) =>
|
|
|
1287
1429
|
});
|
|
1288
1430
|
DropdownMenuContent.displayName = CONTENT_NAME;
|
|
1289
1431
|
var GROUP_NAME = "DropdownMenu.Group";
|
|
1290
|
-
var DropdownMenuGroup = /* @__PURE__ */
|
|
1432
|
+
var DropdownMenuGroup = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1291
1433
|
const { __scopeDropdownMenu, ...groupProps } = props;
|
|
1292
1434
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1293
|
-
return /* @__PURE__ */
|
|
1435
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Group, {
|
|
1294
1436
|
...menuScope,
|
|
1295
1437
|
...groupProps,
|
|
1296
1438
|
ref: forwardedRef
|
|
@@ -1298,11 +1440,11 @@ var DropdownMenuGroup = /* @__PURE__ */ forwardRef13((props, forwardedRef) => {
|
|
|
1298
1440
|
});
|
|
1299
1441
|
DropdownMenuGroup.displayName = GROUP_NAME;
|
|
1300
1442
|
var LABEL_NAME = "DropdownMenu.Label";
|
|
1301
|
-
var DropdownMenuGroupLabel = /* @__PURE__ */
|
|
1443
|
+
var DropdownMenuGroupLabel = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1302
1444
|
const { __scopeDropdownMenu, classNames, ...labelProps } = props;
|
|
1303
1445
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1304
1446
|
const { tx } = useThemeContext();
|
|
1305
|
-
return /* @__PURE__ */
|
|
1447
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Label, {
|
|
1306
1448
|
...menuScope,
|
|
1307
1449
|
...labelProps,
|
|
1308
1450
|
className: tx("menu.groupLabel", {}, classNames),
|
|
@@ -1311,11 +1453,11 @@ var DropdownMenuGroupLabel = /* @__PURE__ */ forwardRef13((props, forwardedRef)
|
|
|
1311
1453
|
});
|
|
1312
1454
|
DropdownMenuGroupLabel.displayName = LABEL_NAME;
|
|
1313
1455
|
var ITEM_NAME = "DropdownMenu.Item";
|
|
1314
|
-
var DropdownMenuItem = /* @__PURE__ */
|
|
1456
|
+
var DropdownMenuItem = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1315
1457
|
const { __scopeDropdownMenu, classNames, ...itemProps } = props;
|
|
1316
1458
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1317
1459
|
const { tx } = useThemeContext();
|
|
1318
|
-
return /* @__PURE__ */
|
|
1460
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Item, {
|
|
1319
1461
|
...menuScope,
|
|
1320
1462
|
...itemProps,
|
|
1321
1463
|
className: tx("menu.item", {}, classNames),
|
|
@@ -1324,11 +1466,11 @@ var DropdownMenuItem = /* @__PURE__ */ forwardRef13((props, forwardedRef) => {
|
|
|
1324
1466
|
});
|
|
1325
1467
|
DropdownMenuItem.displayName = ITEM_NAME;
|
|
1326
1468
|
var CHECKBOX_ITEM_NAME = "DropdownMenu.CheckboxItem";
|
|
1327
|
-
var DropdownMenuCheckboxItem = /* @__PURE__ */
|
|
1469
|
+
var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1328
1470
|
const { __scopeDropdownMenu, classNames, ...checkboxItemProps } = props;
|
|
1329
1471
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1330
1472
|
const { tx } = useThemeContext();
|
|
1331
|
-
return /* @__PURE__ */
|
|
1473
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.CheckboxItem, {
|
|
1332
1474
|
...menuScope,
|
|
1333
1475
|
...checkboxItemProps,
|
|
1334
1476
|
className: tx("menu.item", {}, classNames),
|
|
@@ -1337,10 +1479,10 @@ var DropdownMenuCheckboxItem = /* @__PURE__ */ forwardRef13((props, forwardedRef
|
|
|
1337
1479
|
});
|
|
1338
1480
|
DropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;
|
|
1339
1481
|
var RADIO_GROUP_NAME = "DropdownMenu.RadioGroup";
|
|
1340
|
-
var DropdownMenuRadioGroup = /* @__PURE__ */
|
|
1482
|
+
var DropdownMenuRadioGroup = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1341
1483
|
const { __scopeDropdownMenu, ...radioGroupProps } = props;
|
|
1342
1484
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1343
|
-
return /* @__PURE__ */
|
|
1485
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.RadioGroup, {
|
|
1344
1486
|
...menuScope,
|
|
1345
1487
|
...radioGroupProps,
|
|
1346
1488
|
ref: forwardedRef
|
|
@@ -1348,11 +1490,11 @@ var DropdownMenuRadioGroup = /* @__PURE__ */ forwardRef13((props, forwardedRef)
|
|
|
1348
1490
|
});
|
|
1349
1491
|
DropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;
|
|
1350
1492
|
var RADIO_ITEM_NAME = "DropdownMenu.RadioItem";
|
|
1351
|
-
var DropdownMenuRadioItem = /* @__PURE__ */
|
|
1493
|
+
var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1352
1494
|
const { __scopeDropdownMenu, classNames, ...itemProps } = props;
|
|
1353
1495
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1354
1496
|
const { tx } = useThemeContext();
|
|
1355
|
-
return /* @__PURE__ */
|
|
1497
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Item, {
|
|
1356
1498
|
...menuScope,
|
|
1357
1499
|
...itemProps,
|
|
1358
1500
|
className: tx("menu.item", {}, classNames),
|
|
@@ -1361,10 +1503,10 @@ var DropdownMenuRadioItem = /* @__PURE__ */ forwardRef13((props, forwardedRef) =
|
|
|
1361
1503
|
});
|
|
1362
1504
|
DropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;
|
|
1363
1505
|
var INDICATOR_NAME = "DropdownMenu.ItemIndicator";
|
|
1364
|
-
var DropdownMenuItemIndicator = /* @__PURE__ */
|
|
1506
|
+
var DropdownMenuItemIndicator = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1365
1507
|
const { __scopeDropdownMenu, ...itemIndicatorProps } = props;
|
|
1366
1508
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1367
|
-
return /* @__PURE__ */
|
|
1509
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.ItemIndicator, {
|
|
1368
1510
|
...menuScope,
|
|
1369
1511
|
...itemIndicatorProps,
|
|
1370
1512
|
ref: forwardedRef
|
|
@@ -1372,11 +1514,11 @@ var DropdownMenuItemIndicator = /* @__PURE__ */ forwardRef13((props, forwardedRe
|
|
|
1372
1514
|
});
|
|
1373
1515
|
DropdownMenuItemIndicator.displayName = INDICATOR_NAME;
|
|
1374
1516
|
var SEPARATOR_NAME = "DropdownMenu.Separator";
|
|
1375
|
-
var DropdownMenuSeparator = /* @__PURE__ */
|
|
1517
|
+
var DropdownMenuSeparator = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1376
1518
|
const { __scopeDropdownMenu, classNames, ...separatorProps } = props;
|
|
1377
1519
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1378
1520
|
const { tx } = useThemeContext();
|
|
1379
|
-
return /* @__PURE__ */
|
|
1521
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Separator, {
|
|
1380
1522
|
...menuScope,
|
|
1381
1523
|
...separatorProps,
|
|
1382
1524
|
className: tx("menu.separator", {}, classNames),
|
|
@@ -1385,11 +1527,11 @@ var DropdownMenuSeparator = /* @__PURE__ */ forwardRef13((props, forwardedRef) =
|
|
|
1385
1527
|
});
|
|
1386
1528
|
DropdownMenuSeparator.displayName = SEPARATOR_NAME;
|
|
1387
1529
|
var ARROW_NAME = "DropdownMenu.Arrow";
|
|
1388
|
-
var DropdownMenuArrow = /* @__PURE__ */
|
|
1530
|
+
var DropdownMenuArrow = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1389
1531
|
const { __scopeDropdownMenu, classNames, ...arrowProps } = props;
|
|
1390
1532
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1391
1533
|
const { tx } = useThemeContext();
|
|
1392
|
-
return /* @__PURE__ */
|
|
1534
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Arrow, {
|
|
1393
1535
|
...menuScope,
|
|
1394
1536
|
...arrowProps,
|
|
1395
1537
|
className: tx("menu.arrow", {}, classNames),
|
|
@@ -1405,17 +1547,17 @@ var DropdownMenuSub = (props) => {
|
|
|
1405
1547
|
defaultProp: defaultOpen,
|
|
1406
1548
|
onChange: onOpenChange
|
|
1407
1549
|
});
|
|
1408
|
-
return /* @__PURE__ */
|
|
1550
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.Sub, {
|
|
1409
1551
|
...menuScope,
|
|
1410
1552
|
open,
|
|
1411
1553
|
onOpenChange: setOpen
|
|
1412
1554
|
}, children);
|
|
1413
1555
|
};
|
|
1414
1556
|
var SUB_TRIGGER_NAME = "DropdownMenu.SubTrigger";
|
|
1415
|
-
var DropdownMenuSubTrigger = /* @__PURE__ */
|
|
1557
|
+
var DropdownMenuSubTrigger = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1416
1558
|
const { __scopeDropdownMenu, ...subTriggerProps } = props;
|
|
1417
1559
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1418
|
-
return /* @__PURE__ */
|
|
1560
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.SubTrigger, {
|
|
1419
1561
|
...menuScope,
|
|
1420
1562
|
...subTriggerProps,
|
|
1421
1563
|
ref: forwardedRef
|
|
@@ -1423,10 +1565,10 @@ var DropdownMenuSubTrigger = /* @__PURE__ */ forwardRef13((props, forwardedRef)
|
|
|
1423
1565
|
});
|
|
1424
1566
|
DropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;
|
|
1425
1567
|
var SUB_CONTENT_NAME = "DropdownMenu.SubContent";
|
|
1426
|
-
var DropdownMenuSubContent = /* @__PURE__ */
|
|
1568
|
+
var DropdownMenuSubContent = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1427
1569
|
const { __scopeDropdownMenu, ...subContentProps } = props;
|
|
1428
1570
|
const menuScope = useMenuScope(__scopeDropdownMenu);
|
|
1429
|
-
return /* @__PURE__ */
|
|
1571
|
+
return /* @__PURE__ */ React20.createElement(MenuPrimitive.SubContent, {
|
|
1430
1572
|
...menuScope,
|
|
1431
1573
|
...subContentProps,
|
|
1432
1574
|
ref: forwardedRef,
|
|
@@ -1466,148 +1608,48 @@ var DropdownMenu = {
|
|
|
1466
1608
|
};
|
|
1467
1609
|
var useDropdownMenuMenuScope = useMenuScope;
|
|
1468
1610
|
|
|
1469
|
-
// src/components/
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
const { tx } = useThemeContext();
|
|
1474
|
-
return /* @__PURE__ */ React18.createElement(SeparatorPrimitive.Root, {
|
|
1475
|
-
...props,
|
|
1476
|
-
orientation,
|
|
1477
|
-
className: tx("separator.root", {
|
|
1478
|
-
orientation,
|
|
1479
|
-
subdued
|
|
1480
|
-
}, classNames),
|
|
1481
|
-
ref: forwardedRef
|
|
1482
|
-
});
|
|
1483
|
-
});
|
|
1484
|
-
|
|
1485
|
-
// src/components/Toolbar/Toolbar.tsx
|
|
1486
|
-
var ToolbarRoot = composable(({ children, density, disabled, layoutManaged, orientation, ...props }, forwardedRef) => {
|
|
1487
|
-
const { className, role, ...rest } = composableProps(props);
|
|
1611
|
+
// src/components/Card/Card.tsx
|
|
1612
|
+
var CARD_ROOT_NAME = "Card.Root";
|
|
1613
|
+
var CardRoot = composable(({ children, id, role, border = true, fullWidth, density, ...props }, forwardedRef) => {
|
|
1614
|
+
const { className, ...rest } = composableProps(props);
|
|
1488
1615
|
const { tx } = useThemeContext();
|
|
1489
|
-
return /* @__PURE__ */
|
|
1616
|
+
return /* @__PURE__ */ React21.createElement(Column.Root, {
|
|
1617
|
+
asChild: true,
|
|
1618
|
+
gutter: density === "lg" ? "lg" : density === "sm" || density === "xs" ? "sm" : "md",
|
|
1619
|
+
classNames: tx("card.root", {
|
|
1620
|
+
border,
|
|
1621
|
+
fullWidth
|
|
1622
|
+
}, className),
|
|
1623
|
+
role: role ?? "group"
|
|
1624
|
+
}, /* @__PURE__ */ React21.createElement("div", {
|
|
1490
1625
|
...rest,
|
|
1491
|
-
...
|
|
1492
|
-
|
|
1626
|
+
...id && {
|
|
1627
|
+
"data-object-id": id
|
|
1493
1628
|
},
|
|
1494
|
-
orientation,
|
|
1495
|
-
"data-arrow-keys": orientation === "vertical" ? "up down" : "left right",
|
|
1496
|
-
className: tx("toolbar.root", {
|
|
1497
|
-
density,
|
|
1498
|
-
disabled,
|
|
1499
|
-
layoutManaged
|
|
1500
|
-
}, className),
|
|
1501
1629
|
ref: forwardedRef
|
|
1502
|
-
}, children);
|
|
1630
|
+
}, children));
|
|
1503
1631
|
});
|
|
1504
|
-
|
|
1505
|
-
var
|
|
1506
|
-
|
|
1507
|
-
const Comp = asChild ? Slot10 : Primitive10.div;
|
|
1632
|
+
CardRoot.displayName = CARD_ROOT_NAME;
|
|
1633
|
+
var CARD_HEADER_NAME = "Card.Header";
|
|
1634
|
+
var CardHeader = slottable(({ children, asChild, style, ...props }, forwardedRef) => {
|
|
1508
1635
|
const { tx } = useThemeContext();
|
|
1509
|
-
|
|
1636
|
+
const { className, ...rest } = composableProps(props);
|
|
1637
|
+
const Comp = asChild ? Slot10 : "header";
|
|
1638
|
+
return /* @__PURE__ */ React21.createElement(Comp, {
|
|
1510
1639
|
...rest,
|
|
1511
|
-
|
|
1640
|
+
style: {
|
|
1641
|
+
...iconSize(5),
|
|
1642
|
+
...style
|
|
1643
|
+
},
|
|
1644
|
+
className: tx("card.header", {}, className),
|
|
1512
1645
|
ref: forwardedRef
|
|
1513
1646
|
}, children);
|
|
1514
1647
|
});
|
|
1515
|
-
|
|
1516
|
-
var
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
...props,
|
|
1521
|
-
ref: forwardedRef
|
|
1522
|
-
}));
|
|
1523
|
-
});
|
|
1524
|
-
ToolbarButton.displayName = "Toolbar.Button";
|
|
1525
|
-
var ToolbarIconButton = /* @__PURE__ */ forwardRef15((props, forwardedRef) => {
|
|
1526
|
-
return /* @__PURE__ */ React19.createElement(ToolbarPrimitive.Button, {
|
|
1527
|
-
asChild: true
|
|
1528
|
-
}, /* @__PURE__ */ React19.createElement(IconButton, {
|
|
1529
|
-
...props,
|
|
1530
|
-
ref: forwardedRef
|
|
1531
|
-
}));
|
|
1532
|
-
});
|
|
1533
|
-
ToolbarIconButton.displayName = "Toolbar.IconButton";
|
|
1534
|
-
var ToolbarToggle = /* @__PURE__ */ forwardRef15((props, forwardedRef) => {
|
|
1535
|
-
return /* @__PURE__ */ React19.createElement(ToolbarPrimitive.Button, {
|
|
1536
|
-
asChild: true
|
|
1537
|
-
}, /* @__PURE__ */ React19.createElement(Toggle, {
|
|
1538
|
-
...props,
|
|
1539
|
-
ref: forwardedRef
|
|
1540
|
-
}));
|
|
1541
|
-
});
|
|
1542
|
-
ToolbarToggle.displayName = "Toolbar.Toggle";
|
|
1543
|
-
var ToolbarLink = /* @__PURE__ */ forwardRef15((props, forwardedRef) => {
|
|
1544
|
-
return /* @__PURE__ */ React19.createElement(ToolbarPrimitive.Link, {
|
|
1545
|
-
asChild: true
|
|
1546
|
-
}, /* @__PURE__ */ React19.createElement(Link, {
|
|
1547
|
-
...props,
|
|
1548
|
-
ref: forwardedRef
|
|
1549
|
-
}));
|
|
1550
|
-
});
|
|
1551
|
-
ToolbarLink.displayName = "Toolbar.Link";
|
|
1552
|
-
var ToolbarToggleGroup2 = /* @__PURE__ */ forwardRef15(({ classNames, children, elevation, ...props }, forwardedRef) => {
|
|
1553
|
-
return /* @__PURE__ */ React19.createElement(ToolbarPrimitive.ToolbarToggleGroup, {
|
|
1554
|
-
...props,
|
|
1555
|
-
asChild: true
|
|
1556
|
-
}, /* @__PURE__ */ React19.createElement(ButtonGroup, {
|
|
1557
|
-
classNames,
|
|
1558
|
-
children,
|
|
1559
|
-
elevation,
|
|
1560
|
-
ref: forwardedRef
|
|
1561
|
-
}));
|
|
1562
|
-
});
|
|
1563
|
-
ToolbarToggleGroup2.displayName = "Toolbar.ToggleGroup";
|
|
1564
|
-
var ToolbarToggleGroupItem = /* @__PURE__ */ forwardRef15(({ variant, density, elevation, classNames, children, ...props }, forwardedRef) => {
|
|
1565
|
-
return /* @__PURE__ */ React19.createElement(ToolbarPrimitive.ToolbarToggleItem, {
|
|
1566
|
-
...props,
|
|
1567
|
-
asChild: true
|
|
1568
|
-
}, /* @__PURE__ */ React19.createElement(Button, {
|
|
1569
|
-
variant,
|
|
1570
|
-
density,
|
|
1571
|
-
elevation,
|
|
1572
|
-
classNames,
|
|
1573
|
-
children,
|
|
1574
|
-
ref: forwardedRef
|
|
1575
|
-
}));
|
|
1576
|
-
});
|
|
1577
|
-
ToolbarToggleGroupItem.displayName = "Toolbar.ToggleGroupItem";
|
|
1578
|
-
var ToolbarToggleGroupIconItem = /* @__PURE__ */ forwardRef15(({ variant, density, elevation, classNames, icon, label, iconOnly, iconClassNames, ...props }, forwardedRef) => {
|
|
1579
|
-
return /* @__PURE__ */ React19.createElement(ToolbarPrimitive.ToolbarToggleItem, {
|
|
1580
|
-
...props,
|
|
1581
|
-
asChild: true
|
|
1582
|
-
}, /* @__PURE__ */ React19.createElement(IconButton, {
|
|
1583
|
-
variant,
|
|
1584
|
-
density,
|
|
1585
|
-
elevation,
|
|
1586
|
-
classNames,
|
|
1587
|
-
icon,
|
|
1588
|
-
label,
|
|
1589
|
-
iconOnly,
|
|
1590
|
-
iconClassNames,
|
|
1591
|
-
ref: forwardedRef
|
|
1592
|
-
}));
|
|
1593
|
-
});
|
|
1594
|
-
ToolbarToggleGroupIconItem.displayName = "Toolbar.ToggleGroupIconItem";
|
|
1595
|
-
var ToolbarSeparator = /* @__PURE__ */ forwardRef15(({ variant = "gap", ...props }, forwardedRef) => {
|
|
1596
|
-
return variant === "line" ? /* @__PURE__ */ React19.createElement(ToolbarPrimitive.Separator, {
|
|
1597
|
-
asChild: true
|
|
1598
|
-
}, /* @__PURE__ */ React19.createElement(Separator3, {
|
|
1599
|
-
orientation: "vertical",
|
|
1600
|
-
...props,
|
|
1601
|
-
ref: forwardedRef
|
|
1602
|
-
})) : /* @__PURE__ */ React19.createElement(ToolbarPrimitive.Separator, {
|
|
1603
|
-
className: "grow",
|
|
1604
|
-
ref: forwardedRef
|
|
1605
|
-
});
|
|
1606
|
-
});
|
|
1607
|
-
ToolbarSeparator.displayName = "Toolbar.Separator";
|
|
1608
|
-
var ToolbarDragHandle = /* @__PURE__ */ forwardRef15(({ testId = "drag-handle", label }, forwardedRef) => {
|
|
1609
|
-
const { t } = useTranslation2(translationKey2);
|
|
1610
|
-
return /* @__PURE__ */ React19.createElement(ToolbarIconButton, {
|
|
1648
|
+
CardHeader.displayName = CARD_HEADER_NAME;
|
|
1649
|
+
var CARD_DRAG_HANDLE_NAME = "Card.DragHandle";
|
|
1650
|
+
var CardDragHandle = /* @__PURE__ */ forwardRef17(({ testId = "drag-handle", label }, forwardedRef) => {
|
|
1651
|
+
const { t } = useTranslation3(translationKey3);
|
|
1652
|
+
return /* @__PURE__ */ React21.createElement(CardBlock, null, /* @__PURE__ */ React21.createElement(IconButton, {
|
|
1611
1653
|
"data-testid": testId,
|
|
1612
1654
|
tabIndex: -1,
|
|
1613
1655
|
noTooltip: true,
|
|
@@ -1615,147 +1657,78 @@ var ToolbarDragHandle = /* @__PURE__ */ forwardRef15(({ testId = "drag-handle",
|
|
|
1615
1657
|
icon: "ph--dots-six-vertical--regular",
|
|
1616
1658
|
variant: "ghost",
|
|
1617
1659
|
label: label ?? t("toolbar-drag-handle.label"),
|
|
1618
|
-
classNames: "dx-focus-ring-none cursor-pointer",
|
|
1660
|
+
classNames: "dx-focus-ring-none cursor-pointer text-base-fg",
|
|
1619
1661
|
disabled: !forwardedRef,
|
|
1620
1662
|
ref: forwardedRef
|
|
1621
|
-
});
|
|
1663
|
+
}));
|
|
1622
1664
|
});
|
|
1623
|
-
|
|
1624
|
-
var
|
|
1665
|
+
CardDragHandle.displayName = CARD_DRAG_HANDLE_NAME;
|
|
1666
|
+
var CARD_ACTION_ICON_BUTTON_NAME = "Card.ActionIconButton";
|
|
1667
|
+
var CARD_ACTION_ICONS = {
|
|
1625
1668
|
close: "ph--x--regular",
|
|
1626
1669
|
delete: "ph--trash--regular"
|
|
1627
1670
|
};
|
|
1628
|
-
var
|
|
1671
|
+
var CARD_ACTION_LABEL_KEYS = {
|
|
1629
1672
|
close: "toolbar-close.label",
|
|
1630
1673
|
delete: "toolbar-delete.label"
|
|
1631
1674
|
};
|
|
1632
|
-
var
|
|
1633
|
-
const { t } =
|
|
1634
|
-
return /* @__PURE__ */
|
|
1675
|
+
var CardActionIconButton = /* @__PURE__ */ forwardRef17(({ action, onClick, label }, forwardedRef) => {
|
|
1676
|
+
const { t } = useTranslation3(translationKey3);
|
|
1677
|
+
return /* @__PURE__ */ React21.createElement(CardBlock, {
|
|
1678
|
+
end: true
|
|
1679
|
+
}, /* @__PURE__ */ React21.createElement(IconButton, {
|
|
1635
1680
|
iconOnly: true,
|
|
1636
|
-
icon:
|
|
1681
|
+
icon: CARD_ACTION_ICONS[action],
|
|
1637
1682
|
variant: "ghost",
|
|
1638
|
-
label: label ?? t(
|
|
1683
|
+
label: label ?? t(CARD_ACTION_LABEL_KEYS[action]),
|
|
1639
1684
|
classNames: "cursor-pointer",
|
|
1640
1685
|
onClick,
|
|
1641
1686
|
ref: forwardedRef
|
|
1642
|
-
});
|
|
1687
|
+
}));
|
|
1643
1688
|
});
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1689
|
+
CardActionIconButton.displayName = CARD_ACTION_ICON_BUTTON_NAME;
|
|
1690
|
+
var CARD_MENU_NAME = "Card.Menu";
|
|
1691
|
+
function CardMenu({ context, items }) {
|
|
1692
|
+
const { t } = useTranslation3(translationKey3);
|
|
1693
|
+
return /* @__PURE__ */ React21.createElement(CardBlock, {
|
|
1694
|
+
end: true
|
|
1695
|
+
}, /* @__PURE__ */ React21.createElement(DropdownMenu.Root, null, /* @__PURE__ */ React21.createElement(DropdownMenu.Trigger, {
|
|
1648
1696
|
disabled: !items?.length,
|
|
1649
1697
|
asChild: true
|
|
1650
|
-
}, /* @__PURE__ */
|
|
1698
|
+
}, /* @__PURE__ */ React21.createElement(IconButton, {
|
|
1651
1699
|
iconOnly: true,
|
|
1652
1700
|
variant: "ghost",
|
|
1653
1701
|
icon: "ph--dots-three-vertical--regular",
|
|
1654
1702
|
label: t("toolbar-menu.label")
|
|
1655
|
-
})), (items?.length ?? 0) > 0 && /* @__PURE__ */
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1703
|
+
})), (items?.length ?? 0) > 0 && /* @__PURE__ */ React21.createElement(DropdownMenu.Portal, null, /* @__PURE__ */ React21.createElement(DropdownMenu.Content, null, /* @__PURE__ */ React21.createElement(DropdownMenu.Viewport, null, items?.map(({ label, onClick: onSelect }, index) => (
|
|
1704
|
+
// `context` is the generic payload threaded to each handler; the cast is the
|
|
1705
|
+
// generic boundary (T may be `void`, so `context` is typed `T | undefined`).
|
|
1706
|
+
/* @__PURE__ */ React21.createElement(DropdownMenu.Item, {
|
|
1707
|
+
key: index,
|
|
1708
|
+
onSelect: () => onSelect(context)
|
|
1709
|
+
}, label)
|
|
1710
|
+
))), /* @__PURE__ */ React21.createElement(DropdownMenu.Arrow, null)))));
|
|
1659
1711
|
}
|
|
1660
|
-
|
|
1661
|
-
var
|
|
1662
|
-
|
|
1663
|
-
Text: ToolbarText,
|
|
1664
|
-
Button: ToolbarButton,
|
|
1665
|
-
IconButton: ToolbarIconButton,
|
|
1666
|
-
Link: ToolbarLink,
|
|
1667
|
-
Toggle: ToolbarToggle,
|
|
1668
|
-
ToggleGroup: ToolbarToggleGroup2,
|
|
1669
|
-
ToggleGroupItem: ToolbarToggleGroupItem,
|
|
1670
|
-
ToggleGroupIconItem: ToolbarToggleGroupIconItem,
|
|
1671
|
-
Separator: ToolbarSeparator,
|
|
1672
|
-
DragHandle: ToolbarDragHandle,
|
|
1673
|
-
ActionIconButton: ToolbarActionIconButton,
|
|
1674
|
-
Menu: ToolbarMenu
|
|
1675
|
-
};
|
|
1676
|
-
|
|
1677
|
-
// src/components/Card/Card.tsx
|
|
1678
|
-
var CARD_ROOT_NAME = "Card.Root";
|
|
1679
|
-
var CardRoot = composable(({ children, id, role, border = true, fullWidth, density, ...props }, forwardedRef) => {
|
|
1680
|
-
const { className, ...rest } = composableProps(props);
|
|
1712
|
+
CardMenu.displayName = CARD_MENU_NAME;
|
|
1713
|
+
var CARD_BLOCK_NAME = "Card.Block";
|
|
1714
|
+
var CardBlock = composable(({ children, ...props }, forwardedRef) => {
|
|
1681
1715
|
const { tx } = useThemeContext();
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
gutter: density === "lg" ? "lg" : density === "sm" || density === "xs" ? "sm" : "md",
|
|
1685
|
-
classNames: tx("card.root", {
|
|
1686
|
-
border,
|
|
1687
|
-
fullWidth
|
|
1688
|
-
}, className),
|
|
1689
|
-
role: role ?? "group"
|
|
1690
|
-
}, /* @__PURE__ */ React20.createElement("div", {
|
|
1716
|
+
const { className, ...rest } = composableProps(props);
|
|
1717
|
+
return /* @__PURE__ */ React21.createElement(Column.Block, {
|
|
1691
1718
|
...rest,
|
|
1692
|
-
|
|
1693
|
-
"data-object-id": id
|
|
1694
|
-
},
|
|
1695
|
-
ref: forwardedRef
|
|
1696
|
-
}, children));
|
|
1697
|
-
});
|
|
1698
|
-
CardRoot.displayName = CARD_ROOT_NAME;
|
|
1699
|
-
var CARD_HEADER_NAME = "Card.Header";
|
|
1700
|
-
var CardHeader = composable(({ children, classNames, ...props }, forwardedRef) => {
|
|
1701
|
-
const { tx } = useThemeContext();
|
|
1702
|
-
return /* @__PURE__ */ React20.createElement(Toolbar.Root, {
|
|
1703
|
-
...props,
|
|
1704
|
-
style: iconSize(5),
|
|
1705
|
-
classNames: [
|
|
1706
|
-
tx("card.header", {}),
|
|
1707
|
-
classNames
|
|
1708
|
-
],
|
|
1719
|
+
classNames: tx("card.block", {}, className),
|
|
1709
1720
|
ref: forwardedRef
|
|
1710
1721
|
}, children);
|
|
1711
1722
|
});
|
|
1712
|
-
|
|
1713
|
-
var CARD_DRAG_HANDLE_NAME = "Card.DragHandle";
|
|
1714
|
-
var CardDragHandle = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1715
|
-
return /* @__PURE__ */ React20.createElement(CardIconBlock, null, /* @__PURE__ */ React20.createElement(Toolbar.DragHandle, {
|
|
1716
|
-
...props,
|
|
1717
|
-
ref: forwardedRef
|
|
1718
|
-
}));
|
|
1719
|
-
});
|
|
1720
|
-
CardDragHandle.displayName = CARD_DRAG_HANDLE_NAME;
|
|
1721
|
-
var CARD_ACTION_ICON_BUTTON_NAME = "Card.ActionIconButton";
|
|
1722
|
-
var CardActionIconButton = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1723
|
-
return /* @__PURE__ */ React20.createElement(CardIconBlock, null, /* @__PURE__ */ React20.createElement(Toolbar.ActionIconButton, {
|
|
1724
|
-
...props,
|
|
1725
|
-
ref: forwardedRef
|
|
1726
|
-
}));
|
|
1727
|
-
});
|
|
1728
|
-
CardActionIconButton.displayName = CARD_ACTION_ICON_BUTTON_NAME;
|
|
1729
|
-
var CARD_MENU_NAME = "Card.Menu";
|
|
1730
|
-
function CardMenu({ context, items, ...props }) {
|
|
1731
|
-
return /* @__PURE__ */ React20.createElement(CardIconBlock, null, /* @__PURE__ */ React20.createElement(Toolbar.Menu, {
|
|
1732
|
-
...props,
|
|
1733
|
-
context,
|
|
1734
|
-
items: items ?? []
|
|
1735
|
-
}));
|
|
1736
|
-
}
|
|
1737
|
-
CardMenu.displayName = CARD_MENU_NAME;
|
|
1738
|
-
var CARD_ICON_NAME = "Card.Icon";
|
|
1739
|
-
function CardIcon(props) {
|
|
1740
|
-
return /* @__PURE__ */ React20.createElement(CardIconBlock, null, /* @__PURE__ */ React20.createElement(Icon, props));
|
|
1741
|
-
}
|
|
1742
|
-
CardIcon.displayName = CARD_ICON_NAME;
|
|
1743
|
-
var CARD_ICON_BLOCK_NAME = "Card.IconBlock";
|
|
1744
|
-
var CardIconBlock = /* @__PURE__ */ forwardRef16((props, forwardedRef) => {
|
|
1745
|
-
return /* @__PURE__ */ React20.createElement(IconBlock, {
|
|
1746
|
-
...props,
|
|
1747
|
-
ref: forwardedRef
|
|
1748
|
-
});
|
|
1749
|
-
});
|
|
1750
|
-
CardIconBlock.displayName = CARD_ICON_BLOCK_NAME;
|
|
1723
|
+
CardBlock.displayName = CARD_BLOCK_NAME;
|
|
1751
1724
|
var CARD_TITLE_NAME = "Card.Title";
|
|
1752
1725
|
var CardTitle = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
1753
1726
|
const { tx } = useThemeContext();
|
|
1754
1727
|
const { className, ...rest } = composableProps(props, {
|
|
1755
1728
|
role: "heading"
|
|
1756
1729
|
});
|
|
1757
|
-
const Comp = asChild ?
|
|
1758
|
-
return /* @__PURE__ */
|
|
1730
|
+
const Comp = asChild ? Slot10 : Primitive10.div;
|
|
1731
|
+
return /* @__PURE__ */ React21.createElement(Comp, {
|
|
1759
1732
|
...rest,
|
|
1760
1733
|
className: tx("card.title", {}, className),
|
|
1761
1734
|
ref: forwardedRef
|
|
@@ -1765,9 +1738,9 @@ CardTitle.displayName = CARD_TITLE_NAME;
|
|
|
1765
1738
|
var CARD_BODY_NAME = "Card.Body";
|
|
1766
1739
|
var CardBody = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
1767
1740
|
const { className, ...rest } = composableProps(props);
|
|
1768
|
-
const Comp = asChild ?
|
|
1741
|
+
const Comp = asChild ? Slot10 : Primitive10.div;
|
|
1769
1742
|
const { tx } = useThemeContext();
|
|
1770
|
-
return /* @__PURE__ */
|
|
1743
|
+
return /* @__PURE__ */ React21.createElement(Comp, {
|
|
1771
1744
|
...rest,
|
|
1772
1745
|
className: tx("card.body", {}, className),
|
|
1773
1746
|
ref: forwardedRef
|
|
@@ -1777,53 +1750,52 @@ CardBody.displayName = CARD_BODY_NAME;
|
|
|
1777
1750
|
var CARD_SECTION_NAME = "Card.Section";
|
|
1778
1751
|
var CardSection = slottable(({ children, asChild, title, role, ...props }, forwardedRef) => {
|
|
1779
1752
|
const { className, ...rest } = composableProps(props);
|
|
1780
|
-
const Comp = asChild ?
|
|
1753
|
+
const Comp = asChild ? Slot10 : Primitive10.div;
|
|
1781
1754
|
const { tx } = useThemeContext();
|
|
1782
1755
|
const titleId = useId3();
|
|
1783
|
-
return /* @__PURE__ */
|
|
1756
|
+
return /* @__PURE__ */ React21.createElement(Comp, {
|
|
1784
1757
|
...rest,
|
|
1785
1758
|
role: role ?? (title ? "group" : "none"),
|
|
1786
1759
|
"aria-labelledby": title ? titleId : void 0,
|
|
1787
1760
|
className: tx("card.section", {}, className),
|
|
1788
1761
|
ref: forwardedRef
|
|
1789
|
-
}, title && /* @__PURE__ */
|
|
1762
|
+
}, title && /* @__PURE__ */ React21.createElement("div", {
|
|
1790
1763
|
id: titleId,
|
|
1791
1764
|
className: tx("card.section-title", {})
|
|
1792
1765
|
}, title), children);
|
|
1793
1766
|
});
|
|
1794
1767
|
CardSection.displayName = CARD_SECTION_NAME;
|
|
1795
1768
|
var CARD_ROW_NAME = "Card.Row";
|
|
1796
|
-
var CardRow = slottable(({ children, asChild,
|
|
1769
|
+
var CardRow = slottable(({ children, asChild, fullWidth, style, ...props }, forwardedRef) => {
|
|
1797
1770
|
const { tx } = useThemeContext();
|
|
1798
1771
|
const { className, ...rest } = composableProps(props);
|
|
1799
|
-
const Comp = asChild ?
|
|
1800
|
-
|
|
1801
|
-
classNames: "text-subdued",
|
|
1802
|
-
icon: iconProp,
|
|
1803
|
-
size: 4
|
|
1804
|
-
}) : iconProp ? iconProp : /* @__PURE__ */ React20.createElement("div", null);
|
|
1805
|
-
return /* @__PURE__ */ React20.createElement(Comp, {
|
|
1772
|
+
const Comp = asChild ? Slot10 : Primitive10.div;
|
|
1773
|
+
return /* @__PURE__ */ React21.createElement(Comp, {
|
|
1806
1774
|
...rest,
|
|
1775
|
+
style: {
|
|
1776
|
+
...iconSize(4),
|
|
1777
|
+
...style
|
|
1778
|
+
},
|
|
1807
1779
|
className: tx("card.row", {
|
|
1808
1780
|
fullWidth
|
|
1809
1781
|
}, className),
|
|
1810
1782
|
ref: forwardedRef
|
|
1811
|
-
},
|
|
1783
|
+
}, children);
|
|
1812
1784
|
});
|
|
1813
1785
|
CardRow.displayName = CARD_ROW_NAME;
|
|
1814
1786
|
var CARD_TEXT_NAME = "Card.Text";
|
|
1815
1787
|
var CardText = slottable(({ children, asChild, role, truncate, variant = "default", ...props }, forwardedRef) => {
|
|
1816
1788
|
const { tx } = useThemeContext();
|
|
1817
1789
|
const { className, ...rest } = composableProps(props);
|
|
1818
|
-
const Comp = asChild ?
|
|
1819
|
-
return /* @__PURE__ */
|
|
1790
|
+
const Comp = asChild ? Slot10 : Primitive10.div;
|
|
1791
|
+
return /* @__PURE__ */ React21.createElement(Comp, {
|
|
1820
1792
|
...rest,
|
|
1821
1793
|
role: role ?? "none",
|
|
1822
1794
|
className: tx("card.text", {
|
|
1823
1795
|
variant
|
|
1824
1796
|
}, className),
|
|
1825
1797
|
ref: forwardedRef
|
|
1826
|
-
}, /* @__PURE__ */
|
|
1798
|
+
}, /* @__PURE__ */ React21.createElement("span", {
|
|
1827
1799
|
className: tx("card.text-span", {
|
|
1828
1800
|
variant,
|
|
1829
1801
|
truncate
|
|
@@ -1837,7 +1809,7 @@ function CardHtml({ html = "", variant = "default", ...props }) {
|
|
|
1837
1809
|
const sanitized = useMemo5(() => DOMPurify.sanitize(html), [
|
|
1838
1810
|
html
|
|
1839
1811
|
]);
|
|
1840
|
-
return /* @__PURE__ */
|
|
1812
|
+
return /* @__PURE__ */ React21.createElement("div", {
|
|
1841
1813
|
...props,
|
|
1842
1814
|
className: tx("card.text", {
|
|
1843
1815
|
variant
|
|
@@ -1850,13 +1822,11 @@ function CardHtml({ html = "", variant = "default", ...props }) {
|
|
|
1850
1822
|
}
|
|
1851
1823
|
CardHtml.displayName = CARD_HTML_NAME;
|
|
1852
1824
|
var CARD_POSTER_NAME = "Card.Poster";
|
|
1853
|
-
function CardPoster({ classNames, alt, aspect: aspectProp, image, icon, ...imageProps }) {
|
|
1825
|
+
function CardPoster({ classNames, alt, aspect: aspectProp, image, icon, fit = "cover", ...imageProps }) {
|
|
1854
1826
|
const { tx } = useThemeContext();
|
|
1855
1827
|
const aspect = aspectProp === "auto" ? "aspect-auto" : "aspect-video";
|
|
1856
1828
|
if (image) {
|
|
1857
|
-
return /* @__PURE__ */
|
|
1858
|
-
className: "col-span-full"
|
|
1859
|
-
}, /* @__PURE__ */ React20.createElement(Image, {
|
|
1829
|
+
return /* @__PURE__ */ React21.createElement(Image, {
|
|
1860
1830
|
classNames: [
|
|
1861
1831
|
tx("card.poster", {}),
|
|
1862
1832
|
aspect,
|
|
@@ -1864,18 +1834,19 @@ function CardPoster({ classNames, alt, aspect: aspectProp, image, icon, ...image
|
|
|
1864
1834
|
],
|
|
1865
1835
|
src: image,
|
|
1866
1836
|
alt,
|
|
1837
|
+
fit,
|
|
1867
1838
|
...imageProps
|
|
1868
|
-
})
|
|
1839
|
+
});
|
|
1869
1840
|
}
|
|
1870
1841
|
if (icon) {
|
|
1871
|
-
return /* @__PURE__ */
|
|
1842
|
+
return /* @__PURE__ */ React21.createElement("div", {
|
|
1872
1843
|
role: "image",
|
|
1873
1844
|
className: tx("card.poster-icon", {}, [
|
|
1874
1845
|
aspect,
|
|
1875
1846
|
classNames
|
|
1876
1847
|
]),
|
|
1877
1848
|
"aria-label": alt
|
|
1878
|
-
}, /* @__PURE__ */
|
|
1849
|
+
}, /* @__PURE__ */ React21.createElement(Icon, {
|
|
1879
1850
|
icon,
|
|
1880
1851
|
size: 10
|
|
1881
1852
|
}));
|
|
@@ -1885,52 +1856,55 @@ CardPoster.displayName = CARD_POSTER_NAME;
|
|
|
1885
1856
|
var CARD_ACTION_NAME = "Card.Action";
|
|
1886
1857
|
function CardAction({ icon, actionIcon = "ph--arrow-right--regular", label, onClick }) {
|
|
1887
1858
|
const { tx } = useThemeContext();
|
|
1888
|
-
return /* @__PURE__ */
|
|
1859
|
+
return /* @__PURE__ */ React21.createElement(Button, {
|
|
1889
1860
|
variant: "ghost",
|
|
1890
1861
|
classNames: tx("card.action", {}),
|
|
1891
1862
|
onClick
|
|
1892
|
-
}, icon
|
|
1893
|
-
classNames: "text-subdued",
|
|
1863
|
+
}, icon && /* @__PURE__ */ React21.createElement(CardBlock, null, /* @__PURE__ */ React21.createElement(Icon, {
|
|
1894
1864
|
icon,
|
|
1895
1865
|
size: 4
|
|
1896
|
-
})
|
|
1897
|
-
className: tx("card.action-label", {}
|
|
1898
|
-
}, label), actionIcon && /* @__PURE__ */
|
|
1866
|
+
})), /* @__PURE__ */ React21.createElement("span", {
|
|
1867
|
+
className: tx("card.action-label", {})
|
|
1868
|
+
}, label), actionIcon && /* @__PURE__ */ React21.createElement(CardBlock, {
|
|
1869
|
+
end: true
|
|
1870
|
+
}, /* @__PURE__ */ React21.createElement(Icon, {
|
|
1899
1871
|
icon: actionIcon,
|
|
1900
1872
|
size: 4
|
|
1901
|
-
}));
|
|
1873
|
+
})));
|
|
1902
1874
|
}
|
|
1903
1875
|
CardAction.displayName = CARD_ACTION_NAME;
|
|
1904
1876
|
var CARD_LINK_NAME = "Card.Link";
|
|
1905
1877
|
function CardLink({ label, href }) {
|
|
1906
1878
|
const { tx } = useThemeContext();
|
|
1907
|
-
return /* @__PURE__ */
|
|
1879
|
+
return /* @__PURE__ */ React21.createElement("a", {
|
|
1908
1880
|
className: tx("card.link", {}),
|
|
1909
1881
|
"data-variant": "ghost",
|
|
1910
1882
|
href,
|
|
1911
1883
|
target: "_blank",
|
|
1912
1884
|
rel: "noreferrer"
|
|
1913
|
-
}, /* @__PURE__ */
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
}), /* @__PURE__ */
|
|
1885
|
+
}, /* @__PURE__ */ React21.createElement(CardBlock, null, /* @__PURE__ */ React21.createElement(Icon, {
|
|
1886
|
+
icon: "ph--link--regular",
|
|
1887
|
+
size: 4
|
|
1888
|
+
})), /* @__PURE__ */ React21.createElement("span", {
|
|
1917
1889
|
className: tx("card.link-label", {})
|
|
1918
|
-
}, label), /* @__PURE__ */
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
}
|
|
1890
|
+
}, label), /* @__PURE__ */ React21.createElement(CardBlock, {
|
|
1891
|
+
end: true,
|
|
1892
|
+
classNames: "invisible group-hover:visible"
|
|
1893
|
+
}, /* @__PURE__ */ React21.createElement(Icon, {
|
|
1894
|
+
icon: "ph--arrow-square-out--regular",
|
|
1895
|
+
size: 4
|
|
1896
|
+
})));
|
|
1922
1897
|
}
|
|
1923
1898
|
CardLink.displayName = CARD_LINK_NAME;
|
|
1924
1899
|
var Card = {
|
|
1925
1900
|
Root: CardRoot,
|
|
1926
1901
|
// Header
|
|
1927
1902
|
Header: CardHeader,
|
|
1928
|
-
// Header parts
|
|
1929
|
-
|
|
1903
|
+
// Header / row parts
|
|
1904
|
+
Block: CardBlock,
|
|
1930
1905
|
DragHandle: CardDragHandle,
|
|
1931
1906
|
ActionIconButton: CardActionIconButton,
|
|
1932
1907
|
Menu: CardMenu,
|
|
1933
|
-
Icon: CardIcon,
|
|
1934
1908
|
Title: CardTitle,
|
|
1935
1909
|
// Body
|
|
1936
1910
|
Body: CardBody,
|
|
@@ -1947,12 +1921,12 @@ var Card = {
|
|
|
1947
1921
|
// src/components/Carousel/Carousel.tsx
|
|
1948
1922
|
import { useArrowNavigationGroup } from "@fluentui/react-tabster";
|
|
1949
1923
|
import { createContext as createContext3 } from "@radix-ui/react-context";
|
|
1950
|
-
import
|
|
1951
|
-
import { mx as
|
|
1924
|
+
import React23, { useCallback as useCallback6, useEffect as useEffect3, useState as useState5 } from "react";
|
|
1925
|
+
import { mx as mx9 } from "@dxos/ui-theme";
|
|
1952
1926
|
|
|
1953
1927
|
// src/components/MediaPlayer/MediaPlayer.tsx
|
|
1954
|
-
import
|
|
1955
|
-
import { mx as
|
|
1928
|
+
import React22, { useState as useState4 } from "react";
|
|
1929
|
+
import { mx as mx8 } from "@dxos/ui-theme";
|
|
1956
1930
|
var FIT_CLASS = {
|
|
1957
1931
|
cover: "object-cover",
|
|
1958
1932
|
contain: "object-contain",
|
|
@@ -1995,8 +1969,8 @@ var MediaPlayer = ({ classNames, src, kind, controls = true, autoPlay = false, l
|
|
|
1995
1969
|
if (isEmbedUrl(src)) {
|
|
1996
1970
|
const resolved = kind ?? detectMediaKind(src) ?? "video";
|
|
1997
1971
|
if (resolved === "audio") {
|
|
1998
|
-
return /* @__PURE__ */
|
|
1999
|
-
className:
|
|
1972
|
+
return /* @__PURE__ */ React22.createElement("audio", {
|
|
1973
|
+
className: mx8("w-full", classNames),
|
|
2000
1974
|
src,
|
|
2001
1975
|
controls,
|
|
2002
1976
|
autoPlay,
|
|
@@ -2006,8 +1980,8 @@ var MediaPlayer = ({ classNames, src, kind, controls = true, autoPlay = false, l
|
|
|
2006
1980
|
"aria-label": alt
|
|
2007
1981
|
});
|
|
2008
1982
|
}
|
|
2009
|
-
return /* @__PURE__ */
|
|
2010
|
-
className:
|
|
1983
|
+
return /* @__PURE__ */ React22.createElement("video", {
|
|
1984
|
+
className: mx8("max-w-full max-h-full aspect-video", fitClass, classNames),
|
|
2011
1985
|
src,
|
|
2012
1986
|
controls,
|
|
2013
1987
|
autoPlay,
|
|
@@ -2018,15 +1992,15 @@ var MediaPlayer = ({ classNames, src, kind, controls = true, autoPlay = false, l
|
|
|
2018
1992
|
});
|
|
2019
1993
|
}
|
|
2020
1994
|
if (isCloudflareStreamEmbed(src)) {
|
|
2021
|
-
return /* @__PURE__ */
|
|
1995
|
+
return /* @__PURE__ */ React22.createElement(IframePlayer, {
|
|
2022
1996
|
key: src,
|
|
2023
1997
|
classNames,
|
|
2024
1998
|
src,
|
|
2025
1999
|
alt
|
|
2026
2000
|
});
|
|
2027
2001
|
}
|
|
2028
|
-
return /* @__PURE__ */
|
|
2029
|
-
className:
|
|
2002
|
+
return /* @__PURE__ */ React22.createElement("img", {
|
|
2003
|
+
className: mx8(fitClass, classNames),
|
|
2030
2004
|
src,
|
|
2031
2005
|
alt: alt ?? "",
|
|
2032
2006
|
loading: "lazy",
|
|
@@ -2037,13 +2011,13 @@ var MediaPlayer = ({ classNames, src, kind, controls = true, autoPlay = false, l
|
|
|
2037
2011
|
};
|
|
2038
2012
|
var IframePlayer = ({ src, alt, classNames }) => {
|
|
2039
2013
|
const [loaded, setLoaded] = useState4(false);
|
|
2040
|
-
return /* @__PURE__ */
|
|
2041
|
-
className:
|
|
2042
|
-
}, /* @__PURE__ */
|
|
2014
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
2015
|
+
className: mx8("relative bg-baseSurface", classNames)
|
|
2016
|
+
}, /* @__PURE__ */ React22.createElement("iframe", {
|
|
2043
2017
|
src,
|
|
2044
2018
|
title: alt ?? "Embedded media",
|
|
2045
2019
|
loading: "lazy",
|
|
2046
|
-
className:
|
|
2020
|
+
className: mx8("border-none w-full h-full transition-opacity duration-150", loaded ? "opacity-100" : "opacity-0"),
|
|
2047
2021
|
style: {
|
|
2048
2022
|
colorScheme: "dark"
|
|
2049
2023
|
},
|
|
@@ -2081,17 +2055,17 @@ var CarouselRoot = ({ children, count, autorun = false, intervalMs = 5e3, defaul
|
|
|
2081
2055
|
count,
|
|
2082
2056
|
intervalMs
|
|
2083
2057
|
]);
|
|
2084
|
-
const setIndex =
|
|
2058
|
+
const setIndex = useCallback6((next2) => {
|
|
2085
2059
|
setAutoAdvance(false);
|
|
2086
2060
|
setIndexState(next2);
|
|
2087
2061
|
}, []);
|
|
2088
|
-
const next =
|
|
2062
|
+
const next = useCallback6(() => {
|
|
2089
2063
|
setAutoAdvance(false);
|
|
2090
2064
|
setIndexState((i) => (i + 1) % count);
|
|
2091
2065
|
}, [
|
|
2092
2066
|
count
|
|
2093
2067
|
]);
|
|
2094
|
-
const prev =
|
|
2068
|
+
const prev = useCallback6(() => {
|
|
2095
2069
|
setAutoAdvance(false);
|
|
2096
2070
|
setIndexState((i) => (i - 1 + count) % count);
|
|
2097
2071
|
}, [
|
|
@@ -2100,7 +2074,7 @@ var CarouselRoot = ({ children, count, autorun = false, intervalMs = 5e3, defaul
|
|
|
2100
2074
|
if (count === 0) {
|
|
2101
2075
|
return null;
|
|
2102
2076
|
}
|
|
2103
|
-
return /* @__PURE__ */
|
|
2077
|
+
return /* @__PURE__ */ React23.createElement(CarouselProvider, {
|
|
2104
2078
|
index,
|
|
2105
2079
|
count,
|
|
2106
2080
|
setIndex,
|
|
@@ -2115,7 +2089,7 @@ var CarouselContent = composable(({ children, ...props }, forwardedRef) => (
|
|
|
2115
2089
|
// its content height. With no parent height constraint, the `1fr` row simply tracks
|
|
2116
2090
|
// row-1 content — preserving the existing aspect-video behaviour for unbounded use.
|
|
2117
2091
|
// TODO(burdon): Move to Carousel.theme.ts
|
|
2118
|
-
/* @__PURE__ */
|
|
2092
|
+
/* @__PURE__ */ React23.createElement("div", {
|
|
2119
2093
|
...composableProps(props, {
|
|
2120
2094
|
classNames: "w-full grid grid-cols-[min-content_1fr_min-content] grid-rows-[minmax(0,1fr)_auto] gap-4 items-center"
|
|
2121
2095
|
}),
|
|
@@ -2126,7 +2100,7 @@ CarouselContent.displayName = "Carousel.Content";
|
|
|
2126
2100
|
var CarouselViewport = ({ children, classNames }) => {
|
|
2127
2101
|
const { t } = useTranslation(translationKey);
|
|
2128
2102
|
const { count, next, prev } = useCarousel();
|
|
2129
|
-
const handleKeyDown =
|
|
2103
|
+
const handleKeyDown = useCallback6((event) => {
|
|
2130
2104
|
if (count <= 1) {
|
|
2131
2105
|
return;
|
|
2132
2106
|
}
|
|
@@ -2142,9 +2116,9 @@ var CarouselViewport = ({ children, classNames }) => {
|
|
|
2142
2116
|
next,
|
|
2143
2117
|
prev
|
|
2144
2118
|
]);
|
|
2145
|
-
return /* @__PURE__ */
|
|
2119
|
+
return /* @__PURE__ */ React23.createElement("div", {
|
|
2146
2120
|
// TODO(burdon): Move to ui-theme.
|
|
2147
|
-
className:
|
|
2121
|
+
className: mx9("relative w-full aspect-video overflow-hidden", "focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500", classNames),
|
|
2148
2122
|
tabIndex: 0,
|
|
2149
2123
|
role: "region",
|
|
2150
2124
|
"aria-roledescription": "carousel",
|
|
@@ -2158,9 +2132,9 @@ var CarouselSlide = ({ index, classNames, src, kind, alt, controls, autoPlay, lo
|
|
|
2158
2132
|
if (active !== index) {
|
|
2159
2133
|
return null;
|
|
2160
2134
|
}
|
|
2161
|
-
return /* @__PURE__ */
|
|
2162
|
-
className:
|
|
2163
|
-
}, /* @__PURE__ */
|
|
2135
|
+
return /* @__PURE__ */ React23.createElement("div", {
|
|
2136
|
+
className: mx9("absolute inset-0 w-full h-full bg-baseSurface", classNames)
|
|
2137
|
+
}, /* @__PURE__ */ React23.createElement(MediaPlayer, {
|
|
2164
2138
|
src,
|
|
2165
2139
|
kind,
|
|
2166
2140
|
alt,
|
|
@@ -2177,10 +2151,10 @@ var CarouselPrevious = ({ classNames }) => {
|
|
|
2177
2151
|
const { t } = useTranslation(translationKey);
|
|
2178
2152
|
const { count, prev } = useCarousel();
|
|
2179
2153
|
if (count <= 1) {
|
|
2180
|
-
return /* @__PURE__ */
|
|
2154
|
+
return /* @__PURE__ */ React23.createElement("div", null);
|
|
2181
2155
|
}
|
|
2182
|
-
return /* @__PURE__ */
|
|
2183
|
-
classNames:
|
|
2156
|
+
return /* @__PURE__ */ React23.createElement(IconButton, {
|
|
2157
|
+
classNames: mx9("self-center", classNames),
|
|
2184
2158
|
square: true,
|
|
2185
2159
|
variant: "ghost",
|
|
2186
2160
|
icon: "ph--caret-left--regular",
|
|
@@ -2194,10 +2168,10 @@ var CarouselNext = ({ classNames }) => {
|
|
|
2194
2168
|
const { t } = useTranslation(translationKey);
|
|
2195
2169
|
const { count, next } = useCarousel();
|
|
2196
2170
|
if (count <= 1) {
|
|
2197
|
-
return /* @__PURE__ */
|
|
2171
|
+
return /* @__PURE__ */ React23.createElement("div", null);
|
|
2198
2172
|
}
|
|
2199
|
-
return /* @__PURE__ */
|
|
2200
|
-
classNames:
|
|
2173
|
+
return /* @__PURE__ */ React23.createElement(IconButton, {
|
|
2174
|
+
classNames: mx9("self-center", classNames),
|
|
2201
2175
|
square: true,
|
|
2202
2176
|
variant: "ghost",
|
|
2203
2177
|
icon: "ph--caret-right--regular",
|
|
@@ -2217,16 +2191,16 @@ var CarouselIndicators = ({ classNames }) => {
|
|
|
2217
2191
|
if (count <= 1) {
|
|
2218
2192
|
return null;
|
|
2219
2193
|
}
|
|
2220
|
-
return /* @__PURE__ */
|
|
2194
|
+
return /* @__PURE__ */ React23.createElement("div", {
|
|
2221
2195
|
className: "col-start-2 overflow-hidden"
|
|
2222
|
-
}, /* @__PURE__ */
|
|
2196
|
+
}, /* @__PURE__ */ React23.createElement("div", {
|
|
2223
2197
|
...arrowNavigationAttrs,
|
|
2224
|
-
className:
|
|
2198
|
+
className: mx9("flex items-center justify-center", classNames),
|
|
2225
2199
|
role: "tablist",
|
|
2226
2200
|
"aria-label": t("carousel-indicators.label")
|
|
2227
2201
|
}, Array.from({
|
|
2228
2202
|
length: count
|
|
2229
|
-
}).map((_, i) => /* @__PURE__ */
|
|
2203
|
+
}).map((_, i) => /* @__PURE__ */ React23.createElement(IconButton, {
|
|
2230
2204
|
key: i,
|
|
2231
2205
|
role: "tab",
|
|
2232
2206
|
"aria-selected": i === index,
|
|
@@ -2251,10 +2225,10 @@ var CarouselCaption = ({ children, classNames }) => {
|
|
|
2251
2225
|
}
|
|
2252
2226
|
return (
|
|
2253
2227
|
// TODO(burdon): Move to ui-theme.
|
|
2254
|
-
/* @__PURE__ */
|
|
2228
|
+
/* @__PURE__ */ React23.createElement("div", {
|
|
2255
2229
|
className: "col-start-2"
|
|
2256
|
-
}, /* @__PURE__ */
|
|
2257
|
-
className:
|
|
2230
|
+
}, /* @__PURE__ */ React23.createElement("p", {
|
|
2231
|
+
className: mx9("text-center text-description", classNames)
|
|
2258
2232
|
}, content))
|
|
2259
2233
|
);
|
|
2260
2234
|
};
|
|
@@ -2271,7 +2245,7 @@ var Carousel = {
|
|
|
2271
2245
|
};
|
|
2272
2246
|
|
|
2273
2247
|
// src/components/Clipboard/ClipboardProvider.tsx
|
|
2274
|
-
import
|
|
2248
|
+
import React24, { createContext as createContext4, useCallback as useCallback7, useContext as useContext3, useState as useState6 } from "react";
|
|
2275
2249
|
var ClipboardContext = /* @__PURE__ */ createContext4({
|
|
2276
2250
|
textValue: "",
|
|
2277
2251
|
setTextValue: async (_) => {
|
|
@@ -2280,11 +2254,11 @@ var ClipboardContext = /* @__PURE__ */ createContext4({
|
|
|
2280
2254
|
var useClipboard = () => useContext3(ClipboardContext);
|
|
2281
2255
|
var ClipboardProvider = ({ children }) => {
|
|
2282
2256
|
const [textValue, setInternalTextValue] = useState6("");
|
|
2283
|
-
const setTextValue =
|
|
2257
|
+
const setTextValue = useCallback7(async (nextValue) => {
|
|
2284
2258
|
await navigator.clipboard.writeText(nextValue);
|
|
2285
2259
|
return setInternalTextValue(nextValue);
|
|
2286
2260
|
}, []);
|
|
2287
|
-
return /* @__PURE__ */
|
|
2261
|
+
return /* @__PURE__ */ React24.createElement(ClipboardContext.Provider, {
|
|
2288
2262
|
value: {
|
|
2289
2263
|
textValue,
|
|
2290
2264
|
setTextValue
|
|
@@ -2293,14 +2267,14 @@ var ClipboardProvider = ({ children }) => {
|
|
|
2293
2267
|
};
|
|
2294
2268
|
|
|
2295
2269
|
// src/components/Clipboard/CopyButton.tsx
|
|
2296
|
-
import
|
|
2297
|
-
import { mx as
|
|
2270
|
+
import React25 from "react";
|
|
2271
|
+
import { mx as mx10, osTranslations } from "@dxos/ui-theme";
|
|
2298
2272
|
var inactiveLabelStyles = "invisible h-px -mb-px overflow-hidden";
|
|
2299
2273
|
var CopyButton = ({ classNames, value, size = 5, ...props }) => {
|
|
2300
2274
|
const { t } = useTranslation(osTranslations);
|
|
2301
2275
|
const { textValue, setTextValue } = useClipboard();
|
|
2302
2276
|
const isCopied = textValue === value;
|
|
2303
|
-
return /* @__PURE__ */
|
|
2277
|
+
return /* @__PURE__ */ React25.createElement(Button, {
|
|
2304
2278
|
...props,
|
|
2305
2279
|
classNames: [
|
|
2306
2280
|
"inline-flex flex-col justify-center",
|
|
@@ -2308,18 +2282,18 @@ var CopyButton = ({ classNames, value, size = 5, ...props }) => {
|
|
|
2308
2282
|
],
|
|
2309
2283
|
onClick: () => setTextValue(value),
|
|
2310
2284
|
"data-testid": "copy-invitation"
|
|
2311
|
-
}, /* @__PURE__ */
|
|
2312
|
-
className:
|
|
2313
|
-
}, /* @__PURE__ */
|
|
2285
|
+
}, /* @__PURE__ */ React25.createElement("div", {
|
|
2286
|
+
className: mx10("flex gap-1 items-center", isCopied && inactiveLabelStyles)
|
|
2287
|
+
}, /* @__PURE__ */ React25.createElement("span", {
|
|
2314
2288
|
className: "px-1"
|
|
2315
|
-
}, t("copy.label")), /* @__PURE__ */
|
|
2289
|
+
}, t("copy.label")), /* @__PURE__ */ React25.createElement(Icon, {
|
|
2316
2290
|
icon: "ph--copy--regular",
|
|
2317
2291
|
size
|
|
2318
|
-
})), /* @__PURE__ */
|
|
2319
|
-
className:
|
|
2320
|
-
}, /* @__PURE__ */
|
|
2292
|
+
})), /* @__PURE__ */ React25.createElement("div", {
|
|
2293
|
+
className: mx10("flex gap-1 items-center", !isCopied && inactiveLabelStyles)
|
|
2294
|
+
}, /* @__PURE__ */ React25.createElement("span", {
|
|
2321
2295
|
className: "px-1"
|
|
2322
|
-
}, t("copy-success.label")), /* @__PURE__ */
|
|
2296
|
+
}, t("copy-success.label")), /* @__PURE__ */ React25.createElement(Icon, {
|
|
2323
2297
|
icon: "ph--check--regular",
|
|
2324
2298
|
size
|
|
2325
2299
|
})));
|
|
@@ -2330,7 +2304,7 @@ var CopyButtonIconOnly = ({ __scopeTooltip, value, classNames, size, variant, ..
|
|
|
2330
2304
|
const isCopied = textValue === value;
|
|
2331
2305
|
const label = isCopied ? t("copy-success.label") : props.label ?? t("copy.label");
|
|
2332
2306
|
const { onOpen } = useTooltipContext("CopyButton", __scopeTooltip);
|
|
2333
|
-
return /* @__PURE__ */
|
|
2307
|
+
return /* @__PURE__ */ React25.createElement(IconButton, {
|
|
2334
2308
|
iconOnly: true,
|
|
2335
2309
|
label,
|
|
2336
2310
|
icon: "ph--copy--regular",
|
|
@@ -2355,11 +2329,11 @@ var Clipboard = {
|
|
|
2355
2329
|
// src/components/DatePicker/DatePicker.tsx
|
|
2356
2330
|
import { createContext as createContext5 } from "@radix-ui/react-context";
|
|
2357
2331
|
import { format as formatDate } from "date-fns";
|
|
2358
|
-
import
|
|
2332
|
+
import React27, { forwardRef as forwardRef19, useCallback as useCallback9, useState as useState8 } from "react";
|
|
2359
2333
|
|
|
2360
2334
|
// src/components/Popover/Popover.tsx
|
|
2361
2335
|
import { composeEventHandlers as composeEventHandlers2 } from "@radix-ui/primitive";
|
|
2362
|
-
import { useComposedRefs } from "@radix-ui/react-compose-refs";
|
|
2336
|
+
import { useComposedRefs as useComposedRefs2 } from "@radix-ui/react-compose-refs";
|
|
2363
2337
|
import { createContextScope as createContextScope2 } from "@radix-ui/react-context";
|
|
2364
2338
|
import { DismissableLayer } from "@radix-ui/react-dismissable-layer";
|
|
2365
2339
|
import { useFocusGuards } from "@radix-ui/react-focus-guards";
|
|
@@ -2369,11 +2343,11 @@ import * as PopperPrimitive from "@radix-ui/react-popper";
|
|
|
2369
2343
|
import { createPopperScope } from "@radix-ui/react-popper";
|
|
2370
2344
|
import { Portal as PortalPrimitive } from "@radix-ui/react-portal";
|
|
2371
2345
|
import { Presence } from "@radix-ui/react-presence";
|
|
2372
|
-
import { Primitive as
|
|
2373
|
-
import { Slot as
|
|
2346
|
+
import { Primitive as Primitive11 } from "@radix-ui/react-primitive";
|
|
2347
|
+
import { Slot as Slot11 } from "@radix-ui/react-slot";
|
|
2374
2348
|
import { useControllableState as useControllableState2 } from "@radix-ui/react-use-controllable-state";
|
|
2375
2349
|
import { hideOthers } from "aria-hidden";
|
|
2376
|
-
import
|
|
2350
|
+
import React26, { forwardRef as forwardRef18, useCallback as useCallback8, useEffect as useEffect4, useMemo as useMemo6, useRef as useRef4, useState as useState7 } from "react";
|
|
2377
2351
|
import { RemoveScroll } from "react-remove-scroll";
|
|
2378
2352
|
var POPOVER_NAME = "Popover";
|
|
2379
2353
|
var [createPopoverContext, createPopoverScope] = createContextScope2(POPOVER_NAME, [
|
|
@@ -2384,31 +2358,31 @@ var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
|
|
|
2384
2358
|
var PopoverRoot = (props) => {
|
|
2385
2359
|
const { __scopePopover, children, open: openProp, defaultOpen, onOpenChange, modal = false } = props;
|
|
2386
2360
|
const popperScope = usePopperScope(__scopePopover);
|
|
2387
|
-
const triggerRef =
|
|
2361
|
+
const triggerRef = useRef4(null);
|
|
2388
2362
|
const [hasCustomAnchor, setHasCustomAnchor] = useState7(false);
|
|
2389
2363
|
const [open = false, setOpen] = useControllableState2({
|
|
2390
2364
|
prop: openProp,
|
|
2391
2365
|
defaultProp: defaultOpen,
|
|
2392
2366
|
onChange: onOpenChange
|
|
2393
2367
|
});
|
|
2394
|
-
return /* @__PURE__ */
|
|
2368
|
+
return /* @__PURE__ */ React26.createElement(PopperPrimitive.Root, popperScope, /* @__PURE__ */ React26.createElement(PopoverProvider, {
|
|
2395
2369
|
scope: __scopePopover,
|
|
2396
2370
|
contentId: useId4(),
|
|
2397
2371
|
triggerRef,
|
|
2398
2372
|
open,
|
|
2399
2373
|
onOpenChange: setOpen,
|
|
2400
|
-
onOpenToggle:
|
|
2374
|
+
onOpenToggle: useCallback8(() => setOpen((prevOpen) => !prevOpen), [
|
|
2401
2375
|
setOpen
|
|
2402
2376
|
]),
|
|
2403
2377
|
hasCustomAnchor,
|
|
2404
|
-
onCustomAnchorAdd:
|
|
2405
|
-
onCustomAnchorRemove:
|
|
2378
|
+
onCustomAnchorAdd: useCallback8(() => setHasCustomAnchor(true), []),
|
|
2379
|
+
onCustomAnchorRemove: useCallback8(() => setHasCustomAnchor(false), []),
|
|
2406
2380
|
modal
|
|
2407
2381
|
}, children));
|
|
2408
2382
|
};
|
|
2409
2383
|
PopoverRoot.displayName = POPOVER_NAME;
|
|
2410
2384
|
var ANCHOR_NAME = "Popover.Anchor";
|
|
2411
|
-
var PopoverAnchor = /* @__PURE__ */
|
|
2385
|
+
var PopoverAnchor = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2412
2386
|
const { __scopePopover, ...anchorProps } = props;
|
|
2413
2387
|
const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
|
|
2414
2388
|
const popperScope = usePopperScope(__scopePopover);
|
|
@@ -2420,7 +2394,7 @@ var PopoverAnchor = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2420
2394
|
onCustomAnchorAdd,
|
|
2421
2395
|
onCustomAnchorRemove
|
|
2422
2396
|
]);
|
|
2423
|
-
return /* @__PURE__ */
|
|
2397
|
+
return /* @__PURE__ */ React26.createElement(PopperPrimitive.Anchor, {
|
|
2424
2398
|
...popperScope,
|
|
2425
2399
|
...anchorProps,
|
|
2426
2400
|
ref: forwardedRef
|
|
@@ -2428,13 +2402,13 @@ var PopoverAnchor = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2428
2402
|
});
|
|
2429
2403
|
PopoverAnchor.displayName = ANCHOR_NAME;
|
|
2430
2404
|
var TRIGGER_NAME2 = "Popover.Trigger";
|
|
2431
|
-
var PopoverTrigger = /* @__PURE__ */
|
|
2405
|
+
var PopoverTrigger = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2432
2406
|
const { __scopePopover, asChild, ...triggerProps } = props;
|
|
2433
2407
|
const context = usePopoverContext(TRIGGER_NAME2, __scopePopover);
|
|
2434
2408
|
const popperScope = usePopperScope(__scopePopover);
|
|
2435
|
-
const composedTriggerRef =
|
|
2436
|
-
const Comp = asChild ?
|
|
2437
|
-
const trigger = /* @__PURE__ */
|
|
2409
|
+
const composedTriggerRef = useComposedRefs2(forwardedRef, context.triggerRef);
|
|
2410
|
+
const Comp = asChild ? Slot11 : Primitive11.button;
|
|
2411
|
+
const trigger = /* @__PURE__ */ React26.createElement(Comp, {
|
|
2438
2412
|
type: "button",
|
|
2439
2413
|
"aria-haspopup": "dialog",
|
|
2440
2414
|
"aria-expanded": context.open,
|
|
@@ -2444,7 +2418,7 @@ var PopoverTrigger = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2444
2418
|
ref: composedTriggerRef,
|
|
2445
2419
|
onClick: composeEventHandlers2(props.onClick, context.onOpenToggle)
|
|
2446
2420
|
});
|
|
2447
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */
|
|
2421
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ React26.createElement(PopperPrimitive.Anchor, {
|
|
2448
2422
|
asChild: true,
|
|
2449
2423
|
...popperScope
|
|
2450
2424
|
}, trigger);
|
|
@@ -2460,7 +2434,7 @@ var PopoverVirtualTrigger = (props) => {
|
|
|
2460
2434
|
context.triggerRef.current = virtualRef.current;
|
|
2461
2435
|
}
|
|
2462
2436
|
});
|
|
2463
|
-
return /* @__PURE__ */
|
|
2437
|
+
return /* @__PURE__ */ React26.createElement(PopperPrimitive.Anchor, {
|
|
2464
2438
|
...popperScope,
|
|
2465
2439
|
virtualRef
|
|
2466
2440
|
});
|
|
@@ -2473,48 +2447,48 @@ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME2, {
|
|
|
2473
2447
|
var PopoverPortal = (props) => {
|
|
2474
2448
|
const { __scopePopover, forceMount, children, container } = props;
|
|
2475
2449
|
const context = usePopoverContext(PORTAL_NAME2, __scopePopover);
|
|
2476
|
-
return /* @__PURE__ */
|
|
2450
|
+
return /* @__PURE__ */ React26.createElement(PortalProvider, {
|
|
2477
2451
|
scope: __scopePopover,
|
|
2478
2452
|
forceMount
|
|
2479
|
-
}, /* @__PURE__ */
|
|
2453
|
+
}, /* @__PURE__ */ React26.createElement(Presence, {
|
|
2480
2454
|
present: forceMount || context.open
|
|
2481
|
-
}, /* @__PURE__ */
|
|
2455
|
+
}, /* @__PURE__ */ React26.createElement(PortalPrimitive, {
|
|
2482
2456
|
asChild: true,
|
|
2483
2457
|
container
|
|
2484
2458
|
}, children)));
|
|
2485
2459
|
};
|
|
2486
2460
|
PopoverPortal.displayName = PORTAL_NAME2;
|
|
2487
2461
|
var CONTENT_NAME2 = "Popover.Content";
|
|
2488
|
-
var PopoverContent = /* @__PURE__ */
|
|
2462
|
+
var PopoverContent = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2489
2463
|
const portalContext = usePortalContext(CONTENT_NAME2, props.__scopePopover);
|
|
2490
2464
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
2491
2465
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2492
|
-
return /* @__PURE__ */
|
|
2466
|
+
return /* @__PURE__ */ React26.createElement(Presence, {
|
|
2493
2467
|
present: forceMount || context.open
|
|
2494
|
-
}, context.modal ? /* @__PURE__ */
|
|
2468
|
+
}, context.modal ? /* @__PURE__ */ React26.createElement(PopoverContentModal, {
|
|
2495
2469
|
...contentProps,
|
|
2496
2470
|
ref: forwardedRef
|
|
2497
|
-
}) : /* @__PURE__ */
|
|
2471
|
+
}) : /* @__PURE__ */ React26.createElement(PopoverContentNonModal, {
|
|
2498
2472
|
...contentProps,
|
|
2499
2473
|
ref: forwardedRef
|
|
2500
2474
|
}));
|
|
2501
2475
|
});
|
|
2502
2476
|
PopoverContent.displayName = CONTENT_NAME2;
|
|
2503
|
-
var PopoverContentModal = /* @__PURE__ */
|
|
2477
|
+
var PopoverContentModal = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2504
2478
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2505
|
-
const contentRef =
|
|
2506
|
-
const composedRefs =
|
|
2507
|
-
const isRightClickOutsideRef =
|
|
2479
|
+
const contentRef = useRef4(null);
|
|
2480
|
+
const composedRefs = useComposedRefs2(forwardedRef, contentRef);
|
|
2481
|
+
const isRightClickOutsideRef = useRef4(false);
|
|
2508
2482
|
useEffect4(() => {
|
|
2509
2483
|
const content = contentRef.current;
|
|
2510
2484
|
if (content) {
|
|
2511
2485
|
return hideOthers(content);
|
|
2512
2486
|
}
|
|
2513
2487
|
}, []);
|
|
2514
|
-
return /* @__PURE__ */
|
|
2515
|
-
as:
|
|
2488
|
+
return /* @__PURE__ */ React26.createElement(RemoveScroll, {
|
|
2489
|
+
as: Slot11,
|
|
2516
2490
|
allowPinchZoom: true
|
|
2517
|
-
}, /* @__PURE__ */
|
|
2491
|
+
}, /* @__PURE__ */ React26.createElement(PopoverContentImpl, {
|
|
2518
2492
|
...props,
|
|
2519
2493
|
ref: composedRefs,
|
|
2520
2494
|
// Make sure we're not trapping once it's been closed (closed !== unmounted when animating out).
|
|
@@ -2541,11 +2515,11 @@ var PopoverContentModal = /* @__PURE__ */ forwardRef17((props, forwardedRef) =>
|
|
|
2541
2515
|
})
|
|
2542
2516
|
}));
|
|
2543
2517
|
});
|
|
2544
|
-
var PopoverContentNonModal = /* @__PURE__ */
|
|
2518
|
+
var PopoverContentNonModal = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2545
2519
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
2546
|
-
const hasInteractedOutsideRef =
|
|
2547
|
-
const hasPointerDownOutsideRef =
|
|
2548
|
-
return /* @__PURE__ */
|
|
2520
|
+
const hasInteractedOutsideRef = useRef4(false);
|
|
2521
|
+
const hasPointerDownOutsideRef = useRef4(false);
|
|
2522
|
+
return /* @__PURE__ */ React26.createElement(PopoverContentImpl, {
|
|
2549
2523
|
...props,
|
|
2550
2524
|
ref: forwardedRef,
|
|
2551
2525
|
trapFocus: false,
|
|
@@ -2580,7 +2554,7 @@ var PopoverContentNonModal = /* @__PURE__ */ forwardRef17((props, forwardedRef)
|
|
|
2580
2554
|
}
|
|
2581
2555
|
});
|
|
2582
2556
|
});
|
|
2583
|
-
var PopoverContentImpl = /* @__PURE__ */
|
|
2557
|
+
var PopoverContentImpl = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2584
2558
|
const { __scopePopover, trapFocus, onOpenAutoFocus, onCloseAutoFocus, disableOutsidePointerEvents, onEscapeKeyDown, onPointerDownOutside, onFocusOutside, onInteractOutside, collisionPadding = 8, collisionBoundary, classNames, ...contentProps } = props;
|
|
2585
2559
|
const context = usePopoverContext(CONTENT_NAME2, __scopePopover);
|
|
2586
2560
|
const popperScope = usePopperScope(__scopePopover);
|
|
@@ -2604,13 +2578,13 @@ var PopoverContentImpl = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2604
2578
|
collisionBoundary,
|
|
2605
2579
|
context.triggerRef.current
|
|
2606
2580
|
]);
|
|
2607
|
-
return /* @__PURE__ */
|
|
2581
|
+
return /* @__PURE__ */ React26.createElement(FocusScope, {
|
|
2608
2582
|
asChild: true,
|
|
2609
2583
|
loop: true,
|
|
2610
2584
|
trapped: trapFocus,
|
|
2611
2585
|
onMountAutoFocus: onOpenAutoFocus,
|
|
2612
2586
|
onUnmountAutoFocus: onCloseAutoFocus
|
|
2613
|
-
}, /* @__PURE__ */
|
|
2587
|
+
}, /* @__PURE__ */ React26.createElement(DismissableLayer, {
|
|
2614
2588
|
asChild: true,
|
|
2615
2589
|
disableOutsidePointerEvents,
|
|
2616
2590
|
onInteractOutside,
|
|
@@ -2618,7 +2592,7 @@ var PopoverContentImpl = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2618
2592
|
onPointerDownOutside,
|
|
2619
2593
|
onFocusOutside,
|
|
2620
2594
|
onDismiss: () => context.onOpenChange(false)
|
|
2621
|
-
}, /* @__PURE__ */
|
|
2595
|
+
}, /* @__PURE__ */ React26.createElement(PopperPrimitive.Content, {
|
|
2622
2596
|
"data-state": getState(context.open),
|
|
2623
2597
|
role: "dialog",
|
|
2624
2598
|
id: context.contentId,
|
|
@@ -2644,10 +2618,10 @@ var PopoverContentImpl = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2644
2618
|
})));
|
|
2645
2619
|
});
|
|
2646
2620
|
var CLOSE_NAME = "Popover.Close";
|
|
2647
|
-
var PopoverClose = /* @__PURE__ */
|
|
2621
|
+
var PopoverClose = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2648
2622
|
const { __scopePopover, ...closeProps } = props;
|
|
2649
2623
|
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
|
2650
|
-
return /* @__PURE__ */
|
|
2624
|
+
return /* @__PURE__ */ React26.createElement(Primitive11.button, {
|
|
2651
2625
|
type: "button",
|
|
2652
2626
|
...closeProps,
|
|
2653
2627
|
ref: forwardedRef,
|
|
@@ -2656,11 +2630,11 @@ var PopoverClose = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2656
2630
|
});
|
|
2657
2631
|
PopoverClose.displayName = CLOSE_NAME;
|
|
2658
2632
|
var ARROW_NAME2 = "Popover.Arrow";
|
|
2659
|
-
var PopoverArrow = /* @__PURE__ */
|
|
2633
|
+
var PopoverArrow = /* @__PURE__ */ forwardRef18((props, forwardedRef) => {
|
|
2660
2634
|
const { __scopePopover, classNames, ...arrowProps } = props;
|
|
2661
2635
|
const popperScope = usePopperScope(__scopePopover);
|
|
2662
2636
|
const { tx } = useThemeContext();
|
|
2663
|
-
return /* @__PURE__ */
|
|
2637
|
+
return /* @__PURE__ */ React26.createElement(PopperPrimitive.Arrow, {
|
|
2664
2638
|
...popperScope,
|
|
2665
2639
|
...arrowProps,
|
|
2666
2640
|
className: tx("popover.arrow", {}, classNames),
|
|
@@ -2668,10 +2642,10 @@ var PopoverArrow = /* @__PURE__ */ forwardRef17((props, forwardedRef) => {
|
|
|
2668
2642
|
});
|
|
2669
2643
|
});
|
|
2670
2644
|
PopoverArrow.displayName = ARROW_NAME2;
|
|
2671
|
-
var PopoverViewport = /* @__PURE__ */
|
|
2645
|
+
var PopoverViewport = /* @__PURE__ */ forwardRef18(({ classNames, asChild, constrainInline = true, constrainBlock = true, children, ...props }, forwardedRef) => {
|
|
2672
2646
|
const { tx } = useThemeContext();
|
|
2673
|
-
const Comp = asChild ?
|
|
2674
|
-
return /* @__PURE__ */
|
|
2647
|
+
const Comp = asChild ? Slot11 : Primitive11.div;
|
|
2648
|
+
return /* @__PURE__ */ React26.createElement(Comp, {
|
|
2675
2649
|
...props,
|
|
2676
2650
|
className: tx("popover.viewport", {
|
|
2677
2651
|
constrainInline,
|
|
@@ -2700,7 +2674,7 @@ var DatePickerRoot = ({ mode = "single", value, defaultValue, onValueChange, wit
|
|
|
2700
2674
|
const [internalOpen, setInternalOpen] = useState8(defaultOpen ?? false);
|
|
2701
2675
|
const controlled = value !== void 0 || onValueChange !== void 0;
|
|
2702
2676
|
const resolvedValue = controlled ? value : internalValue;
|
|
2703
|
-
const setValue =
|
|
2677
|
+
const setValue = useCallback9((next) => {
|
|
2704
2678
|
if (!controlled) {
|
|
2705
2679
|
setInternalValue(next);
|
|
2706
2680
|
}
|
|
@@ -2710,7 +2684,7 @@ var DatePickerRoot = ({ mode = "single", value, defaultValue, onValueChange, wit
|
|
|
2710
2684
|
onValueChange
|
|
2711
2685
|
]);
|
|
2712
2686
|
const resolvedOpen = open ?? internalOpen;
|
|
2713
|
-
const handleOpenChange =
|
|
2687
|
+
const handleOpenChange = useCallback9((next) => {
|
|
2714
2688
|
if (open === void 0) {
|
|
2715
2689
|
setInternalOpen(next);
|
|
2716
2690
|
}
|
|
@@ -2719,14 +2693,14 @@ var DatePickerRoot = ({ mode = "single", value, defaultValue, onValueChange, wit
|
|
|
2719
2693
|
open,
|
|
2720
2694
|
onOpenChange
|
|
2721
2695
|
]);
|
|
2722
|
-
return /* @__PURE__ */
|
|
2696
|
+
return /* @__PURE__ */ React27.createElement(DatePickerProvider, {
|
|
2723
2697
|
mode,
|
|
2724
2698
|
value: resolvedValue,
|
|
2725
2699
|
setValue,
|
|
2726
2700
|
withTime,
|
|
2727
2701
|
open: resolvedOpen,
|
|
2728
2702
|
onOpenChange: handleOpenChange
|
|
2729
|
-
}, /* @__PURE__ */
|
|
2703
|
+
}, /* @__PURE__ */ React27.createElement(Popover.Root, {
|
|
2730
2704
|
open: resolvedOpen,
|
|
2731
2705
|
onOpenChange: handleOpenChange
|
|
2732
2706
|
}, children));
|
|
@@ -2747,36 +2721,36 @@ var formatValue = (mode, value, fmt) => {
|
|
|
2747
2721
|
}
|
|
2748
2722
|
}
|
|
2749
2723
|
};
|
|
2750
|
-
var DatePickerTrigger = /* @__PURE__ */
|
|
2724
|
+
var DatePickerTrigger = /* @__PURE__ */ forwardRef19(({ classNames, format: fmt = "PPP", placeholder, icon = true, children, ...props }, forwardedRef) => {
|
|
2751
2725
|
const { tx } = useThemeContext();
|
|
2752
2726
|
const { t } = useTranslation(translationKey);
|
|
2753
2727
|
const { mode, value } = useDatePickerContext("DatePickerTrigger");
|
|
2754
2728
|
const placeholderText = placeholder ?? t(`date-picker.placeholder.${mode}.label`);
|
|
2755
2729
|
const label = formatValue(mode, value, fmt) ?? placeholderText;
|
|
2756
2730
|
const hasValue = label !== placeholderText;
|
|
2757
|
-
return /* @__PURE__ */
|
|
2731
|
+
return /* @__PURE__ */ React27.createElement(Popover.Trigger, {
|
|
2758
2732
|
asChild: true
|
|
2759
|
-
}, /* @__PURE__ */
|
|
2733
|
+
}, /* @__PURE__ */ React27.createElement("button", {
|
|
2760
2734
|
ref: forwardedRef,
|
|
2761
2735
|
type: "button",
|
|
2762
2736
|
...props,
|
|
2763
2737
|
className: tx("datePicker.trigger", {
|
|
2764
2738
|
hasValue
|
|
2765
2739
|
}, classNames) ?? void 0
|
|
2766
|
-
}, children ?? /* @__PURE__ */
|
|
2740
|
+
}, children ?? /* @__PURE__ */ React27.createElement(React27.Fragment, null, icon && /* @__PURE__ */ React27.createElement(Icon, {
|
|
2767
2741
|
size: 4,
|
|
2768
2742
|
icon: "ph--calendar--regular"
|
|
2769
2743
|
}), label)));
|
|
2770
2744
|
});
|
|
2771
2745
|
DatePickerTrigger.displayName = "DatePickerTrigger";
|
|
2772
|
-
var DatePickerContent = /* @__PURE__ */
|
|
2746
|
+
var DatePickerContent = /* @__PURE__ */ forwardRef19(({ classNames, children, ...props }, forwardedRef) => {
|
|
2773
2747
|
const { tx } = useThemeContext();
|
|
2774
|
-
return /* @__PURE__ */
|
|
2748
|
+
return /* @__PURE__ */ React27.createElement(Popover.Portal, null, /* @__PURE__ */ React27.createElement(Popover.Content, {
|
|
2775
2749
|
ref: forwardedRef,
|
|
2776
2750
|
align: "start",
|
|
2777
2751
|
sideOffset: 4,
|
|
2778
2752
|
...props
|
|
2779
|
-
}, /* @__PURE__ */
|
|
2753
|
+
}, /* @__PURE__ */ React27.createElement("div", {
|
|
2780
2754
|
className: tx("datePicker.content", {}, classNames)
|
|
2781
2755
|
}, children)));
|
|
2782
2756
|
});
|
|
@@ -2796,7 +2770,7 @@ var DatePickerCalendar = ({ classNames } = {}) => {
|
|
|
2796
2770
|
const { mode, value, setValue, withTime, onOpenChange } = useDatePickerContext("DatePickerCalendar");
|
|
2797
2771
|
if (mode === "single") {
|
|
2798
2772
|
const date = value;
|
|
2799
|
-
return /* @__PURE__ */
|
|
2773
|
+
return /* @__PURE__ */ React27.createElement(Calendar.Root, {
|
|
2800
2774
|
mode: "single",
|
|
2801
2775
|
classNames,
|
|
2802
2776
|
selected: date,
|
|
@@ -2810,7 +2784,7 @@ var DatePickerCalendar = ({ classNames } = {}) => {
|
|
|
2810
2784
|
});
|
|
2811
2785
|
}
|
|
2812
2786
|
const range = value;
|
|
2813
|
-
return /* @__PURE__ */
|
|
2787
|
+
return /* @__PURE__ */ React27.createElement(Calendar.Root, {
|
|
2814
2788
|
mode: "range",
|
|
2815
2789
|
classNames,
|
|
2816
2790
|
selected: range,
|
|
@@ -2841,14 +2815,14 @@ var DatePicker = {
|
|
|
2841
2815
|
// src/components/Dialog/Dialog.tsx
|
|
2842
2816
|
import { createContext as createContext6 } from "@radix-ui/react-context";
|
|
2843
2817
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
2844
|
-
import { Primitive as
|
|
2845
|
-
import { Slot as
|
|
2846
|
-
import
|
|
2847
|
-
import { useTranslation as
|
|
2818
|
+
import { Primitive as Primitive12 } from "@radix-ui/react-primitive";
|
|
2819
|
+
import { Slot as Slot12 } from "@radix-ui/react-slot";
|
|
2820
|
+
import React28, { forwardRef as forwardRef20 } from "react";
|
|
2821
|
+
import { useTranslation as useTranslation4 } from "react-i18next";
|
|
2848
2822
|
import { osTranslations as osTranslations2 } from "@dxos/ui-theme";
|
|
2849
|
-
var DialogRoot = (props) => /* @__PURE__ */
|
|
2823
|
+
var DialogRoot = (props) => /* @__PURE__ */ React28.createElement(ElevationProvider, {
|
|
2850
2824
|
elevation: "dialog"
|
|
2851
|
-
}, /* @__PURE__ */
|
|
2825
|
+
}, /* @__PURE__ */ React28.createElement(DialogPrimitive.Root, {
|
|
2852
2826
|
// NOTE: Radix warning unless set to undefined.
|
|
2853
2827
|
// https://www.radix-ui.com/primitives/docs/components/dialog#description
|
|
2854
2828
|
"aria-describedby": void 0,
|
|
@@ -2859,23 +2833,23 @@ var DialogTrigger = DialogPrimitive.Trigger;
|
|
|
2859
2833
|
var DialogPortal = DialogPrimitive.Portal;
|
|
2860
2834
|
var DIALOG_OVERLAY_NAME = "Dialog.Overlay";
|
|
2861
2835
|
var [OverlayLayoutProvider, useOverlayLayoutContext] = createContext6(DIALOG_OVERLAY_NAME, {});
|
|
2862
|
-
var DialogOverlay = /* @__PURE__ */
|
|
2836
|
+
var DialogOverlay = /* @__PURE__ */ forwardRef20(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
|
|
2863
2837
|
const { tx } = useThemeContext();
|
|
2864
|
-
return /* @__PURE__ */
|
|
2838
|
+
return /* @__PURE__ */ React28.createElement(DialogPrimitive.Overlay, {
|
|
2865
2839
|
...props,
|
|
2866
2840
|
"data-block-align": blockAlign,
|
|
2867
2841
|
className: tx("dialog.overlay", {}, classNames),
|
|
2868
2842
|
ref: forwardedRef
|
|
2869
|
-
}, /* @__PURE__ */
|
|
2843
|
+
}, /* @__PURE__ */ React28.createElement(OverlayLayoutProvider, {
|
|
2870
2844
|
inOverlayLayout: true
|
|
2871
2845
|
}, children));
|
|
2872
2846
|
});
|
|
2873
2847
|
DialogOverlay.displayName = DIALOG_OVERLAY_NAME;
|
|
2874
2848
|
var DIALOG_CONTENT_NAME = "Dialog.Content";
|
|
2875
|
-
var DialogContent = /* @__PURE__ */
|
|
2849
|
+
var DialogContent = /* @__PURE__ */ forwardRef20(({ classNames, children, size = "md", inOverlayLayout: propsInOverlayLayout, ...props }, forwardedRef) => {
|
|
2876
2850
|
const { tx } = useThemeContext();
|
|
2877
2851
|
const { inOverlayLayout } = useOverlayLayoutContext(DIALOG_CONTENT_NAME);
|
|
2878
|
-
return /* @__PURE__ */
|
|
2852
|
+
return /* @__PURE__ */ React28.createElement(DialogPrimitive.Content, {
|
|
2879
2853
|
...props,
|
|
2880
2854
|
// NOTE: Radix warning unless set to undefined.
|
|
2881
2855
|
// https://www.radix-ui.com/primitives/docs/components/dialog#description
|
|
@@ -2885,7 +2859,7 @@ var DialogContent = /* @__PURE__ */ forwardRef19(({ classNames, children, size =
|
|
|
2885
2859
|
inOverlayLayout: propsInOverlayLayout || inOverlayLayout
|
|
2886
2860
|
}, classNames),
|
|
2887
2861
|
ref: forwardedRef
|
|
2888
|
-
}, /* @__PURE__ */
|
|
2862
|
+
}, /* @__PURE__ */ React28.createElement(Column.Root, {
|
|
2889
2863
|
classNames: "dx-expander",
|
|
2890
2864
|
gutter: "sm"
|
|
2891
2865
|
}, children));
|
|
@@ -2893,9 +2867,9 @@ var DialogContent = /* @__PURE__ */ forwardRef19(({ classNames, children, size =
|
|
|
2893
2867
|
DialogContent.displayName = DIALOG_CONTENT_NAME;
|
|
2894
2868
|
var DialogHeader = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
2895
2869
|
const { className, ...rest } = composableProps(props);
|
|
2896
|
-
const Comp = asChild ?
|
|
2870
|
+
const Comp = asChild ? Slot12 : Primitive12.div;
|
|
2897
2871
|
const { tx } = useThemeContext();
|
|
2898
|
-
return /* @__PURE__ */
|
|
2872
|
+
return /* @__PURE__ */ React28.createElement(Comp, {
|
|
2899
2873
|
...rest,
|
|
2900
2874
|
className: tx("dialog.header", {}, className),
|
|
2901
2875
|
ref: forwardedRef
|
|
@@ -2911,9 +2885,9 @@ var DIALOG_ACTION_LABEL_KEYS = {
|
|
|
2911
2885
|
close: "close-dialog.label",
|
|
2912
2886
|
delete: "toolbar-delete.label"
|
|
2913
2887
|
};
|
|
2914
|
-
var DialogActionIconButton = /* @__PURE__ */
|
|
2915
|
-
const { t } =
|
|
2916
|
-
return /* @__PURE__ */
|
|
2888
|
+
var DialogActionIconButton = /* @__PURE__ */ forwardRef20(({ action, label, ...props }, forwardedRef) => {
|
|
2889
|
+
const { t } = useTranslation4(osTranslations2);
|
|
2890
|
+
return /* @__PURE__ */ React28.createElement(IconButton, {
|
|
2917
2891
|
...props,
|
|
2918
2892
|
label: label ?? t(DIALOG_ACTION_LABEL_KEYS[action]),
|
|
2919
2893
|
icon: DIALOG_ACTION_ICONS[action],
|
|
@@ -2926,18 +2900,18 @@ var DialogActionIconButton = /* @__PURE__ */ forwardRef19(({ action, label, ...p
|
|
|
2926
2900
|
DialogActionIconButton.displayName = "Dialog.ActionIconButton";
|
|
2927
2901
|
var DialogBody = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
2928
2902
|
const { className, ...rest } = composableProps(props);
|
|
2929
|
-
const Comp = asChild ?
|
|
2903
|
+
const Comp = asChild ? Slot12 : Primitive12.div;
|
|
2930
2904
|
const { tx } = useThemeContext();
|
|
2931
|
-
return /* @__PURE__ */
|
|
2905
|
+
return /* @__PURE__ */ React28.createElement(Comp, {
|
|
2932
2906
|
...rest,
|
|
2933
2907
|
className: tx("dialog.body", {}, className),
|
|
2934
2908
|
ref: forwardedRef
|
|
2935
2909
|
}, children);
|
|
2936
2910
|
});
|
|
2937
2911
|
DialogBody.displayName = "Dialog.Body";
|
|
2938
|
-
var DialogTitle = /* @__PURE__ */
|
|
2912
|
+
var DialogTitle = /* @__PURE__ */ forwardRef20(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
2939
2913
|
const { tx } = useThemeContext();
|
|
2940
|
-
return /* @__PURE__ */
|
|
2914
|
+
return /* @__PURE__ */ React28.createElement(DialogPrimitive.Title, {
|
|
2941
2915
|
...props,
|
|
2942
2916
|
className: tx("dialog.title", {
|
|
2943
2917
|
srOnly
|
|
@@ -2946,9 +2920,9 @@ var DialogTitle = /* @__PURE__ */ forwardRef19(({ classNames, srOnly, ...props }
|
|
|
2946
2920
|
});
|
|
2947
2921
|
});
|
|
2948
2922
|
DialogTitle.displayName = "Dialog.Title";
|
|
2949
|
-
var DialogDescription = /* @__PURE__ */
|
|
2923
|
+
var DialogDescription = /* @__PURE__ */ forwardRef20(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
2950
2924
|
const { tx } = useThemeContext();
|
|
2951
|
-
return /* @__PURE__ */
|
|
2925
|
+
return /* @__PURE__ */ React28.createElement(DialogPrimitive.Description, {
|
|
2952
2926
|
...props,
|
|
2953
2927
|
className: tx("dialog.description", {
|
|
2954
2928
|
srOnly
|
|
@@ -2959,9 +2933,9 @@ var DialogDescription = /* @__PURE__ */ forwardRef19(({ classNames, srOnly, ...p
|
|
|
2959
2933
|
DialogDescription.displayName = "Dialog.Description";
|
|
2960
2934
|
var DialogActionBar = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
2961
2935
|
const { className: classNames, ...rest } = composableProps(props);
|
|
2962
|
-
const Comp = asChild ?
|
|
2936
|
+
const Comp = asChild ? Slot12 : Primitive12.div;
|
|
2963
2937
|
const { tx } = useThemeContext();
|
|
2964
|
-
return /* @__PURE__ */
|
|
2938
|
+
return /* @__PURE__ */ React28.createElement(Comp, {
|
|
2965
2939
|
...rest,
|
|
2966
2940
|
className: tx("dialog.actionbar", {}, classNames),
|
|
2967
2941
|
ref: forwardedRef
|
|
@@ -2987,10 +2961,10 @@ var Dialog = {
|
|
|
2987
2961
|
// src/components/Dialog/AlertDialog.tsx
|
|
2988
2962
|
import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
|
|
2989
2963
|
import { createContext as createContext7 } from "@radix-ui/react-context";
|
|
2990
|
-
import
|
|
2991
|
-
var AlertDialogRoot = (props) => /* @__PURE__ */
|
|
2964
|
+
import React29, { forwardRef as forwardRef21 } from "react";
|
|
2965
|
+
var AlertDialogRoot = (props) => /* @__PURE__ */ React29.createElement(ElevationProvider, {
|
|
2992
2966
|
elevation: "dialog"
|
|
2993
|
-
}, /* @__PURE__ */
|
|
2967
|
+
}, /* @__PURE__ */ React29.createElement(AlertDialogPrimitive.Root, props));
|
|
2994
2968
|
var AlertDialogTrigger = AlertDialogPrimitive.Trigger;
|
|
2995
2969
|
var AlertDialogPortal = AlertDialogPrimitive.Portal;
|
|
2996
2970
|
var AlertDialogCancel = AlertDialogPrimitive.Cancel;
|
|
@@ -3000,37 +2974,37 @@ var ALERT_DIALOG_CONTENT_NAME = "AlertDialog.Content";
|
|
|
3000
2974
|
var [OverlayLayoutProvider2, useOverlayLayoutContext2] = createContext7(ALERT_DIALOG_OVERLAY_NAME, {
|
|
3001
2975
|
inOverlayLayout: false
|
|
3002
2976
|
});
|
|
3003
|
-
var AlertDialogOverlay = /* @__PURE__ */
|
|
2977
|
+
var AlertDialogOverlay = /* @__PURE__ */ forwardRef21(({ classNames, children, blockAlign, ...props }, forwardedRef) => {
|
|
3004
2978
|
const { tx } = useThemeContext();
|
|
3005
|
-
return /* @__PURE__ */
|
|
2979
|
+
return /* @__PURE__ */ React29.createElement(AlertDialogPrimitive.Overlay, {
|
|
3006
2980
|
...props,
|
|
3007
2981
|
"data-block-align": blockAlign,
|
|
3008
2982
|
className: tx("dialog.overlay", {}, classNames),
|
|
3009
2983
|
ref: forwardedRef
|
|
3010
|
-
}, /* @__PURE__ */
|
|
2984
|
+
}, /* @__PURE__ */ React29.createElement(OverlayLayoutProvider2, {
|
|
3011
2985
|
inOverlayLayout: true
|
|
3012
2986
|
}, children));
|
|
3013
2987
|
});
|
|
3014
2988
|
AlertDialogOverlay.displayName = ALERT_DIALOG_OVERLAY_NAME;
|
|
3015
|
-
var AlertDialogContent = /* @__PURE__ */
|
|
2989
|
+
var AlertDialogContent = /* @__PURE__ */ forwardRef21(({ classNames, children, size = "md", ...props }, forwardedRef) => {
|
|
3016
2990
|
const { tx } = useThemeContext();
|
|
3017
2991
|
const { inOverlayLayout } = useOverlayLayoutContext2(ALERT_DIALOG_CONTENT_NAME);
|
|
3018
|
-
return /* @__PURE__ */
|
|
2992
|
+
return /* @__PURE__ */ React29.createElement(AlertDialogPrimitive.Content, {
|
|
3019
2993
|
...props,
|
|
3020
2994
|
className: tx("dialog.content", {
|
|
3021
2995
|
inOverlayLayout,
|
|
3022
2996
|
size
|
|
3023
2997
|
}, classNames),
|
|
3024
2998
|
ref: forwardedRef
|
|
3025
|
-
}, /* @__PURE__ */
|
|
2999
|
+
}, /* @__PURE__ */ React29.createElement(Column.Root, {
|
|
3026
3000
|
classNames: "dx-expander",
|
|
3027
3001
|
gutter: "sm"
|
|
3028
3002
|
}, children));
|
|
3029
3003
|
});
|
|
3030
3004
|
AlertDialogContent.displayName = ALERT_DIALOG_CONTENT_NAME;
|
|
3031
|
-
var AlertDialogTitle = /* @__PURE__ */
|
|
3005
|
+
var AlertDialogTitle = /* @__PURE__ */ forwardRef21(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
3032
3006
|
const { tx } = useThemeContext();
|
|
3033
|
-
return /* @__PURE__ */
|
|
3007
|
+
return /* @__PURE__ */ React29.createElement(AlertDialogPrimitive.Title, {
|
|
3034
3008
|
...props,
|
|
3035
3009
|
className: tx("dialog.title", {
|
|
3036
3010
|
srOnly
|
|
@@ -3038,9 +3012,9 @@ var AlertDialogTitle = /* @__PURE__ */ forwardRef20(({ classNames, srOnly, ...pr
|
|
|
3038
3012
|
ref: forwardedRef
|
|
3039
3013
|
});
|
|
3040
3014
|
});
|
|
3041
|
-
var AlertDialogDescription = /* @__PURE__ */
|
|
3015
|
+
var AlertDialogDescription = /* @__PURE__ */ forwardRef21(({ classNames, srOnly, ...props }, forwardedRef) => {
|
|
3042
3016
|
const { tx } = useThemeContext();
|
|
3043
|
-
return /* @__PURE__ */
|
|
3017
|
+
return /* @__PURE__ */ React29.createElement(AlertDialogPrimitive.Description, {
|
|
3044
3018
|
...props,
|
|
3045
3019
|
className: tx("dialog.description", {
|
|
3046
3020
|
srOnly
|
|
@@ -3070,40 +3044,40 @@ var AlertDialog = {
|
|
|
3070
3044
|
import { ErrorBoundary } from "@dxos/react-error-boundary";
|
|
3071
3045
|
|
|
3072
3046
|
// src/components/ErrorFallback/ErrorFallback.tsx
|
|
3073
|
-
import
|
|
3047
|
+
import React30 from "react";
|
|
3074
3048
|
import { safeStringify } from "@dxos/util";
|
|
3075
|
-
import { translationKey as
|
|
3049
|
+
import { translationKey as translationKey4 } from "#translations";
|
|
3076
3050
|
var ErrorFallback = ({ children, error, title, data }) => {
|
|
3077
|
-
const { t } = useTranslation(
|
|
3051
|
+
const { t } = useTranslation(translationKey4);
|
|
3078
3052
|
const isDev = process.env.NODE_ENV === "development";
|
|
3079
3053
|
const message = error instanceof Error ? error.message : String(error);
|
|
3080
|
-
return /* @__PURE__ */
|
|
3054
|
+
return /* @__PURE__ */ React30.createElement("div", {
|
|
3081
3055
|
role: "alert",
|
|
3082
3056
|
"data-testid": "error-boundary-fallback",
|
|
3083
3057
|
className: "flex flex-col p-4 gap-4 overflow-auto"
|
|
3084
|
-
}, /* @__PURE__ */
|
|
3058
|
+
}, /* @__PURE__ */ React30.createElement("h1", {
|
|
3085
3059
|
className: "text-lg text-info-text"
|
|
3086
|
-
}, title ?? "Runtime Error"), /* @__PURE__ */
|
|
3060
|
+
}, title ?? "Runtime Error"), /* @__PURE__ */ React30.createElement("p", null, message), isDev && error instanceof Error && /* @__PURE__ */ React30.createElement(Section, {
|
|
3087
3061
|
title: "Stack",
|
|
3088
3062
|
onClick: () => {
|
|
3089
3063
|
const text = error instanceof Error ? error.stack ?? error.message : String(error);
|
|
3090
3064
|
void navigator.clipboard.writeText(text);
|
|
3091
3065
|
}
|
|
3092
|
-
}, /* @__PURE__ */
|
|
3066
|
+
}, /* @__PURE__ */ React30.createElement(ErrorStack, {
|
|
3093
3067
|
error
|
|
3094
|
-
})), data && /* @__PURE__ */
|
|
3068
|
+
})), data && /* @__PURE__ */ React30.createElement(Section, {
|
|
3095
3069
|
title: "Data",
|
|
3096
3070
|
onClick: () => {
|
|
3097
3071
|
void navigator.clipboard.writeText(JSON.stringify(data, void 0, 2));
|
|
3098
3072
|
}
|
|
3099
|
-
}, /* @__PURE__ */
|
|
3073
|
+
}, /* @__PURE__ */ React30.createElement("pre", {
|
|
3100
3074
|
className: "overflow-x-auto text-xs"
|
|
3101
3075
|
}, safeStringify(data, void 0, 2))), children);
|
|
3102
3076
|
};
|
|
3103
3077
|
var Section = ({ children, title, onClick }) => {
|
|
3104
|
-
return /* @__PURE__ */
|
|
3078
|
+
return /* @__PURE__ */ React30.createElement("div", {
|
|
3105
3079
|
className: "flex flex-col gap-1"
|
|
3106
|
-
}, onClick && /* @__PURE__ */
|
|
3080
|
+
}, onClick && /* @__PURE__ */ React30.createElement("div", null, /* @__PURE__ */ React30.createElement(IconButton, {
|
|
3107
3081
|
classNames: "text-xs uppercase",
|
|
3108
3082
|
label: title ?? "Copy",
|
|
3109
3083
|
icon: "ph--clipboard-text--regular",
|
|
@@ -3142,17 +3116,17 @@ var generator = ({ error, delay }) => {
|
|
|
3142
3116
|
|
|
3143
3117
|
// src/components/Focus/Focus.tsx
|
|
3144
3118
|
import { useArrowNavigationGroup as useArrowNavigationGroup2, useFocusableGroup, useMergedTabsterAttributes_unstable } from "@fluentui/react-tabster";
|
|
3145
|
-
import { useComposedRefs as
|
|
3146
|
-
import { Primitive as
|
|
3147
|
-
import { Slot as
|
|
3148
|
-
import
|
|
3119
|
+
import { useComposedRefs as useComposedRefs3 } from "@radix-ui/react-compose-refs";
|
|
3120
|
+
import { Primitive as Primitive13 } from "@radix-ui/react-primitive";
|
|
3121
|
+
import { Slot as Slot13 } from "@radix-ui/react-slot";
|
|
3122
|
+
import React31, { createContext as createContext8, useCallback as useCallback10, useContext as useContext4, useRef as useRef5, useState as useState10 } from "react";
|
|
3149
3123
|
var FOCUS_STATE_ATTR = "focus-state";
|
|
3150
3124
|
var FocusContext = /* @__PURE__ */ createContext8({});
|
|
3151
3125
|
var useFocus = () => useContext4(FocusContext);
|
|
3152
3126
|
var Group3 = slottable(({ children, asChild, orientation = "vertical", border = false, ...props }, forwardedRef) => {
|
|
3153
|
-
const Comp = asChild ?
|
|
3127
|
+
const Comp = asChild ? Slot13 : Primitive13.div;
|
|
3154
3128
|
const { tx } = useThemeContext();
|
|
3155
|
-
const rootRef =
|
|
3129
|
+
const rootRef = useRef5(null);
|
|
3156
3130
|
const focusableGroupAttrs = useFocusableGroup({
|
|
3157
3131
|
tabBehavior: "limited-trap-focus"
|
|
3158
3132
|
});
|
|
@@ -3163,20 +3137,20 @@ var Group3 = slottable(({ children, asChild, orientation = "vertical", border =
|
|
|
3163
3137
|
const tabsterAttrs = useMergedTabsterAttributes_unstable(focusableGroupAttrs, arrowNavigationAttrs);
|
|
3164
3138
|
const [state, setState] = useState10();
|
|
3165
3139
|
const [groupHasFocus, setGroupHasFocus] = useState10(false);
|
|
3166
|
-
const handleFocusIn =
|
|
3167
|
-
const handleFocusOut =
|
|
3140
|
+
const handleFocusIn = useCallback10(() => setGroupHasFocus(true), []);
|
|
3141
|
+
const handleFocusOut = useCallback10((event) => {
|
|
3168
3142
|
const related = event.relatedTarget;
|
|
3169
3143
|
if (!related || !rootRef.current?.contains(related)) {
|
|
3170
3144
|
setGroupHasFocus(false);
|
|
3171
3145
|
}
|
|
3172
3146
|
}, []);
|
|
3173
3147
|
const { className, ...rest } = composableProps(props);
|
|
3174
|
-
return /* @__PURE__ */
|
|
3148
|
+
return /* @__PURE__ */ React31.createElement(FocusContext.Provider, {
|
|
3175
3149
|
value: {
|
|
3176
3150
|
setFocus: setState,
|
|
3177
3151
|
groupHasFocus
|
|
3178
3152
|
}
|
|
3179
|
-
}, /* @__PURE__ */
|
|
3153
|
+
}, /* @__PURE__ */ React31.createElement(Comp, {
|
|
3180
3154
|
...rest,
|
|
3181
3155
|
tabIndex: 0,
|
|
3182
3156
|
className: tx("focus.group", {
|
|
@@ -3188,11 +3162,11 @@ var Group3 = slottable(({ children, asChild, orientation = "vertical", border =
|
|
|
3188
3162
|
},
|
|
3189
3163
|
onBlur: handleFocusOut,
|
|
3190
3164
|
onFocus: handleFocusIn,
|
|
3191
|
-
ref:
|
|
3165
|
+
ref: useComposedRefs3(rootRef, forwardedRef)
|
|
3192
3166
|
}, children));
|
|
3193
3167
|
});
|
|
3194
3168
|
var Item4 = slottable(({ children, asChild, current, border = false, onCurrentChange, onClick, onFocus, onBlur, ...props }, forwardedRef) => {
|
|
3195
|
-
const Comp = asChild ?
|
|
3169
|
+
const Comp = asChild ? Slot13 : Primitive13.div;
|
|
3196
3170
|
const { tx } = useThemeContext();
|
|
3197
3171
|
const focusableGroupAttrs = useFocusableGroup({
|
|
3198
3172
|
ignoreDefaultKeydown: {
|
|
@@ -3200,27 +3174,27 @@ var Item4 = slottable(({ children, asChild, current, border = false, onCurrentCh
|
|
|
3200
3174
|
}
|
|
3201
3175
|
});
|
|
3202
3176
|
const [focused, setFocused] = useState10(false);
|
|
3203
|
-
const handleClick =
|
|
3177
|
+
const handleClick = useCallback10((event) => {
|
|
3204
3178
|
onCurrentChange?.();
|
|
3205
3179
|
onClick?.(event);
|
|
3206
3180
|
}, [
|
|
3207
3181
|
onCurrentChange,
|
|
3208
3182
|
onClick
|
|
3209
3183
|
]);
|
|
3210
|
-
const handleKeyDown =
|
|
3184
|
+
const handleKeyDown = useCallback10((event) => {
|
|
3211
3185
|
if (event.key === "Enter") {
|
|
3212
3186
|
onCurrentChange?.();
|
|
3213
3187
|
}
|
|
3214
3188
|
}, [
|
|
3215
3189
|
onCurrentChange
|
|
3216
3190
|
]);
|
|
3217
|
-
const handleFocus =
|
|
3191
|
+
const handleFocus = useCallback10((event) => {
|
|
3218
3192
|
setFocused(true);
|
|
3219
3193
|
onFocus?.(event);
|
|
3220
3194
|
}, [
|
|
3221
3195
|
onFocus
|
|
3222
3196
|
]);
|
|
3223
|
-
const handleBlur =
|
|
3197
|
+
const handleBlur = useCallback10((event) => {
|
|
3224
3198
|
setFocused(false);
|
|
3225
3199
|
onBlur?.(event);
|
|
3226
3200
|
}, [
|
|
@@ -3228,7 +3202,7 @@ var Item4 = slottable(({ children, asChild, current, border = false, onCurrentCh
|
|
|
3228
3202
|
]);
|
|
3229
3203
|
const isCurrent = current ?? focused;
|
|
3230
3204
|
const { className, ...rest } = composableProps(props);
|
|
3231
|
-
return /* @__PURE__ */
|
|
3205
|
+
return /* @__PURE__ */ React31.createElement(Comp, {
|
|
3232
3206
|
...rest,
|
|
3233
3207
|
tabIndex: 0,
|
|
3234
3208
|
className: tx("focus.item", {
|
|
@@ -3252,16 +3226,16 @@ var Focus = {
|
|
|
3252
3226
|
import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
|
|
3253
3227
|
import { createContext as createContext9 } from "@radix-ui/react-context";
|
|
3254
3228
|
import { useControllableState as useControllableState4 } from "@radix-ui/react-use-controllable-state";
|
|
3255
|
-
import
|
|
3256
|
-
import { useTranslation as
|
|
3229
|
+
import React33, { forwardRef as forwardRef23, useCallback as useCallback12, useEffect as useEffect6, useRef as useRef6, useState as useState12 } from "react";
|
|
3230
|
+
import { useTranslation as useTranslation5 } from "react-i18next";
|
|
3257
3231
|
import { DescriptionAndValidation as DescriptionAndValidationPrimitive, Description as DescriptionPrimitive, INPUT_NAME as INPUT_NAME2, InputRoot, Label as LabelPrimitive, PinInput as PinInputPrimitive, TextArea as TextAreaPrimitive, TextInput as TextInputPrimitive, Validation as ValidationPrimitive, useInputContext as useInputContext2 } from "@dxos/react-input";
|
|
3258
|
-
import { mx as
|
|
3259
|
-
import { translationKey as
|
|
3232
|
+
import { mx as mx11 } from "@dxos/ui-theme";
|
|
3233
|
+
import { translationKey as translationKey5 } from "#translations";
|
|
3260
3234
|
|
|
3261
3235
|
// src/components/Input/SegmentedInput.tsx
|
|
3262
3236
|
import { CalendarDate as CalendarDate2, CalendarDateTime, parseDate as parseDate2, parseDateTime, parseTime } from "@internationalized/date";
|
|
3263
3237
|
import { useControllableState as useControllableState3 } from "@radix-ui/react-use-controllable-state";
|
|
3264
|
-
import
|
|
3238
|
+
import React32, { forwardRef as forwardRef22, useCallback as useCallback11, useState as useState11 } from "react";
|
|
3265
3239
|
import { DateField, DateInput, DateSegment, TimeField } from "react-aria-components";
|
|
3266
3240
|
import { INPUT_NAME, useInputContext } from "@dxos/react-input";
|
|
3267
3241
|
var tryParse = (parser, value) => {
|
|
@@ -3285,19 +3259,19 @@ var BIDI_FORMAT_RE = /^[--]+$/;
|
|
|
3285
3259
|
var renderSegment = (segment) => {
|
|
3286
3260
|
if (segment.type === "literal") {
|
|
3287
3261
|
if (BIDI_FORMAT_RE.test(segment.text)) {
|
|
3288
|
-
return /* @__PURE__ */
|
|
3262
|
+
return /* @__PURE__ */ React32.createElement("span", {
|
|
3289
3263
|
"aria-hidden": true,
|
|
3290
3264
|
className: "select-none w-[2ch] first:hidden last:hidden"
|
|
3291
3265
|
});
|
|
3292
3266
|
}
|
|
3293
3267
|
if (segment.text.includes(",")) {
|
|
3294
|
-
return /* @__PURE__ */
|
|
3268
|
+
return /* @__PURE__ */ React32.createElement("span", {
|
|
3295
3269
|
"aria-hidden": true,
|
|
3296
3270
|
className: "select-none"
|
|
3297
3271
|
}, " ");
|
|
3298
3272
|
}
|
|
3299
3273
|
}
|
|
3300
|
-
return /* @__PURE__ */
|
|
3274
|
+
return /* @__PURE__ */ React32.createElement(DateSegment, {
|
|
3301
3275
|
segment,
|
|
3302
3276
|
className: segmentClass
|
|
3303
3277
|
});
|
|
@@ -3319,7 +3293,7 @@ var useFieldChrome = ({ __inputScope, density: densityProp, elevation: elevation
|
|
|
3319
3293
|
};
|
|
3320
3294
|
var PickerWrapper = ({ pickerValue, onPickerChange, withTime, disabled = false, children, calendar }) => {
|
|
3321
3295
|
const [open, setOpen] = useState11(false);
|
|
3322
|
-
const openPicker =
|
|
3296
|
+
const openPicker = useCallback11(() => {
|
|
3323
3297
|
if (!disabled) {
|
|
3324
3298
|
setOpen(true);
|
|
3325
3299
|
}
|
|
@@ -3327,18 +3301,18 @@ var PickerWrapper = ({ pickerValue, onPickerChange, withTime, disabled = false,
|
|
|
3327
3301
|
disabled
|
|
3328
3302
|
]);
|
|
3329
3303
|
useInputTrigger(disabled ? void 0 : openPicker);
|
|
3330
|
-
return /* @__PURE__ */
|
|
3304
|
+
return /* @__PURE__ */ React32.createElement(DatePicker.Root, {
|
|
3331
3305
|
mode: "single",
|
|
3332
3306
|
withTime,
|
|
3333
3307
|
value: pickerValue,
|
|
3334
3308
|
onValueChange: disabled ? void 0 : onPickerChange,
|
|
3335
3309
|
open,
|
|
3336
3310
|
onOpenChange: setOpen
|
|
3337
|
-
}, /* @__PURE__ */
|
|
3311
|
+
}, /* @__PURE__ */ React32.createElement(Popover.Anchor, {
|
|
3338
3312
|
asChild: true
|
|
3339
|
-
}, children), /* @__PURE__ */
|
|
3313
|
+
}, children), /* @__PURE__ */ React32.createElement(DatePicker.Content, null, calendar));
|
|
3340
3314
|
};
|
|
3341
|
-
var SegmentedDate = /* @__PURE__ */
|
|
3315
|
+
var SegmentedDate = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, density: densityProp, elevation: elevationProp, variant, value, defaultValue, onValueChange, disabled, autoFocus, id, "aria-label": ariaLabel }, forwardedRef) => {
|
|
3342
3316
|
const { tx, density, elevation, validationValence, contextId, descriptionId, errorMessageId } = useFieldChrome({
|
|
3343
3317
|
__inputScope,
|
|
3344
3318
|
density: densityProp,
|
|
@@ -3359,7 +3333,7 @@ var SegmentedDate = /* @__PURE__ */ forwardRef21(({ __inputScope, classNames, de
|
|
|
3359
3333
|
granularity: "day",
|
|
3360
3334
|
shouldForceLeadingZeros: true
|
|
3361
3335
|
};
|
|
3362
|
-
const field = /* @__PURE__ */
|
|
3336
|
+
const field = /* @__PURE__ */ React32.createElement(DateField, fieldProps, /* @__PURE__ */ React32.createElement(DateInput, {
|
|
3363
3337
|
ref: forwardedRef,
|
|
3364
3338
|
...id ?? contextId ? {
|
|
3365
3339
|
id: id ?? contextId
|
|
@@ -3380,16 +3354,16 @@ var SegmentedDate = /* @__PURE__ */ forwardRef21(({ __inputScope, classNames, de
|
|
|
3380
3354
|
validationValence
|
|
3381
3355
|
}, fieldClass, classNames)
|
|
3382
3356
|
}, renderSegment));
|
|
3383
|
-
return /* @__PURE__ */
|
|
3357
|
+
return /* @__PURE__ */ React32.createElement(PickerWrapper, {
|
|
3384
3358
|
pickerValue: parsed ? new Date(parsed.year, parsed.month - 1, parsed.day) : void 0,
|
|
3385
3359
|
onPickerChange: (next) => setStringValue(next ? formatCalendarDate(toCalendarDate2(next)) : ""),
|
|
3386
3360
|
withTime: false,
|
|
3387
3361
|
disabled,
|
|
3388
|
-
calendar: /* @__PURE__ */
|
|
3362
|
+
calendar: /* @__PURE__ */ React32.createElement(DatePicker.Calendar, null)
|
|
3389
3363
|
}, field);
|
|
3390
3364
|
});
|
|
3391
3365
|
SegmentedDate.displayName = "Input.SegmentedDate";
|
|
3392
|
-
var SegmentedTime = /* @__PURE__ */
|
|
3366
|
+
var SegmentedTime = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, density: densityProp, elevation: elevationProp, variant, value, defaultValue, onValueChange, disabled, autoFocus, id, hourCycle = 24, "aria-label": ariaLabel }, forwardedRef) => {
|
|
3393
3367
|
const { tx, density, elevation, validationValence, contextId, descriptionId, errorMessageId } = useFieldChrome({
|
|
3394
3368
|
__inputScope,
|
|
3395
3369
|
density: densityProp,
|
|
@@ -3411,7 +3385,7 @@ var SegmentedTime = /* @__PURE__ */ forwardRef21(({ __inputScope, classNames, de
|
|
|
3411
3385
|
hourCycle,
|
|
3412
3386
|
shouldForceLeadingZeros: true
|
|
3413
3387
|
};
|
|
3414
|
-
return /* @__PURE__ */
|
|
3388
|
+
return /* @__PURE__ */ React32.createElement(TimeField, fieldProps, /* @__PURE__ */ React32.createElement(DateInput, {
|
|
3415
3389
|
ref: forwardedRef,
|
|
3416
3390
|
...id ?? contextId ? {
|
|
3417
3391
|
id: id ?? contextId
|
|
@@ -3434,7 +3408,7 @@ var SegmentedTime = /* @__PURE__ */ forwardRef21(({ __inputScope, classNames, de
|
|
|
3434
3408
|
}, renderSegment));
|
|
3435
3409
|
});
|
|
3436
3410
|
SegmentedTime.displayName = "Input.SegmentedTime";
|
|
3437
|
-
var SegmentedDateTime = /* @__PURE__ */
|
|
3411
|
+
var SegmentedDateTime = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, density: densityProp, elevation: elevationProp, variant, value, defaultValue, onValueChange, disabled, autoFocus, id, hourCycle = 24, "aria-label": ariaLabel }, forwardedRef) => {
|
|
3438
3412
|
const { tx, density, elevation, validationValence, contextId, descriptionId, errorMessageId } = useFieldChrome({
|
|
3439
3413
|
__inputScope,
|
|
3440
3414
|
density: densityProp,
|
|
@@ -3456,7 +3430,7 @@ var SegmentedDateTime = /* @__PURE__ */ forwardRef21(({ __inputScope, classNames
|
|
|
3456
3430
|
hourCycle,
|
|
3457
3431
|
shouldForceLeadingZeros: true
|
|
3458
3432
|
};
|
|
3459
|
-
const field = /* @__PURE__ */
|
|
3433
|
+
const field = /* @__PURE__ */ React32.createElement(DateField, fieldProps, /* @__PURE__ */ React32.createElement(DateInput, {
|
|
3460
3434
|
ref: forwardedRef,
|
|
3461
3435
|
...id ?? contextId ? {
|
|
3462
3436
|
id: id ?? contextId
|
|
@@ -3477,12 +3451,12 @@ var SegmentedDateTime = /* @__PURE__ */ forwardRef21(({ __inputScope, classNames
|
|
|
3477
3451
|
validationValence
|
|
3478
3452
|
}, fieldClass, classNames)
|
|
3479
3453
|
}, renderSegment));
|
|
3480
|
-
return /* @__PURE__ */
|
|
3454
|
+
return /* @__PURE__ */ React32.createElement(PickerWrapper, {
|
|
3481
3455
|
pickerValue: parsed ? new Date(parsed.year, parsed.month - 1, parsed.day, parsed.hour, parsed.minute) : void 0,
|
|
3482
3456
|
onPickerChange: (next) => setStringValue(next ? formatCalendarDateTime(new CalendarDateTime(next.getFullYear(), next.getMonth() + 1, next.getDate(), next.getHours(), next.getMinutes())) : ""),
|
|
3483
3457
|
withTime: true,
|
|
3484
3458
|
disabled,
|
|
3485
|
-
calendar: /* @__PURE__ */
|
|
3459
|
+
calendar: /* @__PURE__ */ React32.createElement(DatePicker.Calendar, null)
|
|
3486
3460
|
}, field);
|
|
3487
3461
|
});
|
|
3488
3462
|
SegmentedDateTime.displayName = "Input.SegmentedDateTime";
|
|
@@ -3507,10 +3481,10 @@ var useInputTrigger = (handler) => {
|
|
|
3507
3481
|
handler
|
|
3508
3482
|
]);
|
|
3509
3483
|
};
|
|
3510
|
-
var
|
|
3511
|
-
const handlerRef =
|
|
3484
|
+
var Root8 = (props) => {
|
|
3485
|
+
const handlerRef = useRef6(null);
|
|
3512
3486
|
const [hasTrigger, setHasTrigger] = useState12(false);
|
|
3513
|
-
const registerTrigger =
|
|
3487
|
+
const registerTrigger = useCallback12((handler) => {
|
|
3514
3488
|
handlerRef.current = handler;
|
|
3515
3489
|
setHasTrigger(true);
|
|
3516
3490
|
return () => {
|
|
@@ -3520,23 +3494,23 @@ var Root10 = (props) => {
|
|
|
3520
3494
|
}
|
|
3521
3495
|
};
|
|
3522
3496
|
}, []);
|
|
3523
|
-
const trigger =
|
|
3497
|
+
const trigger = useCallback12(() => {
|
|
3524
3498
|
handlerRef.current?.();
|
|
3525
3499
|
}, []);
|
|
3526
|
-
return /* @__PURE__ */
|
|
3500
|
+
return /* @__PURE__ */ React33.createElement(InputTriggerProvider, {
|
|
3527
3501
|
registerTrigger,
|
|
3528
3502
|
trigger,
|
|
3529
3503
|
hasTrigger
|
|
3530
|
-
}, /* @__PURE__ */
|
|
3504
|
+
}, /* @__PURE__ */ React33.createElement(InputRoot, props));
|
|
3531
3505
|
};
|
|
3532
|
-
|
|
3533
|
-
var TriggerIcon = /* @__PURE__ */
|
|
3534
|
-
const { t } =
|
|
3506
|
+
Root8.displayName = "Input.Root";
|
|
3507
|
+
var TriggerIcon = /* @__PURE__ */ forwardRef23(({ classNames, icon = "ph--calendar--regular", "aria-label": ariaLabel, label, ...props }, forwardedRef) => {
|
|
3508
|
+
const { t } = useTranslation5(translationKey5);
|
|
3535
3509
|
const ctx = useInputTriggerContext("Input.TriggerIcon");
|
|
3536
3510
|
if (!ctx.hasTrigger) {
|
|
3537
3511
|
return null;
|
|
3538
3512
|
}
|
|
3539
|
-
return /* @__PURE__ */
|
|
3513
|
+
return /* @__PURE__ */ React33.createElement(IconButton, {
|
|
3540
3514
|
ref: forwardedRef,
|
|
3541
3515
|
variant: "ghost",
|
|
3542
3516
|
icon,
|
|
@@ -3549,9 +3523,9 @@ var TriggerIcon = /* @__PURE__ */ forwardRef22(({ classNames, icon = "ph--calend
|
|
|
3549
3523
|
});
|
|
3550
3524
|
});
|
|
3551
3525
|
TriggerIcon.displayName = "Input.TriggerIcon";
|
|
3552
|
-
var Label3 = /* @__PURE__ */
|
|
3526
|
+
var Label3 = /* @__PURE__ */ forwardRef23(({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
3553
3527
|
const { tx } = useThemeContext();
|
|
3554
|
-
return /* @__PURE__ */
|
|
3528
|
+
return /* @__PURE__ */ React33.createElement(LabelPrimitive, {
|
|
3555
3529
|
...props,
|
|
3556
3530
|
className: tx("input.label", {
|
|
3557
3531
|
srOnly
|
|
@@ -3560,9 +3534,9 @@ var Label3 = /* @__PURE__ */ forwardRef22(({ classNames, children, srOnly, ...pr
|
|
|
3560
3534
|
}, children);
|
|
3561
3535
|
});
|
|
3562
3536
|
Label3.displayName = "Input.Label";
|
|
3563
|
-
var Description3 = /* @__PURE__ */
|
|
3537
|
+
var Description3 = /* @__PURE__ */ forwardRef23(({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
3564
3538
|
const { tx } = useThemeContext();
|
|
3565
|
-
return /* @__PURE__ */
|
|
3539
|
+
return /* @__PURE__ */ React33.createElement(DescriptionPrimitive, {
|
|
3566
3540
|
...props,
|
|
3567
3541
|
className: tx("input.description", {
|
|
3568
3542
|
srOnly
|
|
@@ -3571,10 +3545,10 @@ var Description3 = /* @__PURE__ */ forwardRef22(({ classNames, children, srOnly,
|
|
|
3571
3545
|
}, children);
|
|
3572
3546
|
});
|
|
3573
3547
|
Description3.displayName = "Input.Description";
|
|
3574
|
-
var Validation = /* @__PURE__ */
|
|
3548
|
+
var Validation = /* @__PURE__ */ forwardRef23(({ __inputScope, classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
3575
3549
|
const { tx } = useThemeContext();
|
|
3576
3550
|
const { validationValence } = useInputContext2(INPUT_NAME2, __inputScope);
|
|
3577
|
-
return /* @__PURE__ */
|
|
3551
|
+
return /* @__PURE__ */ React33.createElement(ValidationPrimitive, {
|
|
3578
3552
|
...props,
|
|
3579
3553
|
className: tx("input.validation", {
|
|
3580
3554
|
srOnly,
|
|
@@ -3584,9 +3558,9 @@ var Validation = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, child
|
|
|
3584
3558
|
}, children);
|
|
3585
3559
|
});
|
|
3586
3560
|
Validation.displayName = "Input.Validation";
|
|
3587
|
-
var DescriptionAndValidation = /* @__PURE__ */
|
|
3561
|
+
var DescriptionAndValidation = /* @__PURE__ */ forwardRef23(({ classNames, children, srOnly, ...props }, forwardedRef) => {
|
|
3588
3562
|
const { tx } = useThemeContext();
|
|
3589
|
-
return /* @__PURE__ */
|
|
3563
|
+
return /* @__PURE__ */ React33.createElement(DescriptionAndValidationPrimitive, {
|
|
3590
3564
|
...props,
|
|
3591
3565
|
className: tx("input.descriptionAndValidation", {
|
|
3592
3566
|
srOnly
|
|
@@ -3595,12 +3569,12 @@ var DescriptionAndValidation = /* @__PURE__ */ forwardRef22(({ classNames, child
|
|
|
3595
3569
|
}, children);
|
|
3596
3570
|
});
|
|
3597
3571
|
DescriptionAndValidation.displayName = "Input.DescriptionAndValidation";
|
|
3598
|
-
var PinInput = /* @__PURE__ */
|
|
3572
|
+
var PinInput = /* @__PURE__ */ forwardRef23(({ classNames, density: propsDensity, elevation: propsElevation, ...props }, forwardedRef) => {
|
|
3599
3573
|
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
3600
3574
|
const { tx } = useThemeContext();
|
|
3601
3575
|
const density = useDensityContext(propsDensity);
|
|
3602
3576
|
const elevation = useElevationContext(propsElevation);
|
|
3603
|
-
return /* @__PURE__ */
|
|
3577
|
+
return /* @__PURE__ */ React33.createElement(PinInputPrimitive, {
|
|
3604
3578
|
...props,
|
|
3605
3579
|
...props.autoFocus && !hasIosKeyboard2 && {
|
|
3606
3580
|
autoFocus: true
|
|
@@ -3617,13 +3591,13 @@ var PinInput = /* @__PURE__ */ forwardRef22(({ classNames, density: propsDensity
|
|
|
3617
3591
|
});
|
|
3618
3592
|
});
|
|
3619
3593
|
PinInput.displayName = "Input.PinInput";
|
|
3620
|
-
var TextInput = /* @__PURE__ */
|
|
3594
|
+
var TextInput = /* @__PURE__ */ forwardRef23(({ __inputScope, classNames, density: densityProp, elevation: elevationProp, variant, noAutoFill, ...props }, forwardedRef) => {
|
|
3621
3595
|
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
3622
3596
|
const { tx } = useThemeContext();
|
|
3623
3597
|
const density = useDensityContext(densityProp);
|
|
3624
3598
|
const elevation = useElevationContext(elevationProp);
|
|
3625
3599
|
const { validationValence } = useInputContext2(INPUT_NAME2, __inputScope);
|
|
3626
|
-
return /* @__PURE__ */
|
|
3600
|
+
return /* @__PURE__ */ React33.createElement(TextInputPrimitive, {
|
|
3627
3601
|
...props,
|
|
3628
3602
|
"data-1p-ignore": noAutoFill,
|
|
3629
3603
|
className: tx("input.input", {
|
|
@@ -3640,13 +3614,13 @@ var TextInput = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, densit
|
|
|
3640
3614
|
});
|
|
3641
3615
|
});
|
|
3642
3616
|
TextInput.displayName = "Input.TextInput";
|
|
3643
|
-
var TextArea = /* @__PURE__ */
|
|
3617
|
+
var TextArea = /* @__PURE__ */ forwardRef23(({ __inputScope, classNames, density: propsDensity, elevation: propsElevation, variant, ...props }, forwardedRef) => {
|
|
3644
3618
|
const { hasIosKeyboard: hasIosKeyboard2 } = useThemeContext();
|
|
3645
3619
|
const { tx } = useThemeContext();
|
|
3646
3620
|
const density = useDensityContext(propsDensity);
|
|
3647
3621
|
const elevation = useElevationContext(propsElevation);
|
|
3648
3622
|
const { validationValence } = useInputContext2(INPUT_NAME2, __inputScope);
|
|
3649
|
-
return /* @__PURE__ */
|
|
3623
|
+
return /* @__PURE__ */ React33.createElement(TextAreaPrimitive, {
|
|
3650
3624
|
...props,
|
|
3651
3625
|
className: tx("input.textArea", {
|
|
3652
3626
|
variant,
|
|
@@ -3662,7 +3636,7 @@ var TextArea = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, density
|
|
|
3662
3636
|
});
|
|
3663
3637
|
});
|
|
3664
3638
|
TextArea.displayName = "Input.TextArea";
|
|
3665
|
-
var Checkbox = /* @__PURE__ */
|
|
3639
|
+
var Checkbox = /* @__PURE__ */ forwardRef23(({ __inputScope, classNames, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, size, ...props }, forwardedRef) => {
|
|
3666
3640
|
const [checked, onCheckedChange] = useControllableState4({
|
|
3667
3641
|
prop: propsChecked,
|
|
3668
3642
|
defaultProp: propsDefaultChecked,
|
|
@@ -3670,7 +3644,7 @@ var Checkbox = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, checked
|
|
|
3670
3644
|
});
|
|
3671
3645
|
const { id, validationValence, descriptionId, errorMessageId } = useInputContext2(INPUT_NAME2, __inputScope);
|
|
3672
3646
|
const { tx } = useThemeContext();
|
|
3673
|
-
return /* @__PURE__ */
|
|
3647
|
+
return /* @__PURE__ */ React33.createElement(CheckboxPrimitive.Root, {
|
|
3674
3648
|
...props,
|
|
3675
3649
|
checked,
|
|
3676
3650
|
onCheckedChange,
|
|
@@ -3684,7 +3658,7 @@ var Checkbox = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, checked
|
|
|
3684
3658
|
size
|
|
3685
3659
|
}, "shrink-0", classNames),
|
|
3686
3660
|
ref: forwardedRef
|
|
3687
|
-
}, /* @__PURE__ */
|
|
3661
|
+
}, /* @__PURE__ */ React33.createElement(Icon, {
|
|
3688
3662
|
icon: checked === "indeterminate" ? "ph--minus--regular" : "ph--check--regular",
|
|
3689
3663
|
classNames: tx("input.checkboxIndicator", {
|
|
3690
3664
|
size,
|
|
@@ -3693,16 +3667,16 @@ var Checkbox = /* @__PURE__ */ forwardRef22(({ __inputScope, classNames, checked
|
|
|
3693
3667
|
}));
|
|
3694
3668
|
});
|
|
3695
3669
|
Checkbox.displayName = "Input.Checkbox";
|
|
3696
|
-
var Switch = /* @__PURE__ */
|
|
3670
|
+
var Switch = /* @__PURE__ */ forwardRef23(({ __inputScope, classNames, checked: propsChecked, defaultChecked: propsDefaultChecked, onCheckedChange: propsOnCheckedChange, ...props }, forwardedRef) => {
|
|
3697
3671
|
const [checked, onCheckedChange] = useControllableState4({
|
|
3698
3672
|
prop: propsChecked,
|
|
3699
3673
|
defaultProp: propsDefaultChecked ?? false,
|
|
3700
3674
|
onChange: propsOnCheckedChange
|
|
3701
3675
|
});
|
|
3702
3676
|
const { id, validationValence, descriptionId, errorMessageId } = useInputContext2(INPUT_NAME2, __inputScope);
|
|
3703
|
-
return /* @__PURE__ */
|
|
3677
|
+
return /* @__PURE__ */ React33.createElement("input", {
|
|
3704
3678
|
type: "checkbox",
|
|
3705
|
-
className:
|
|
3679
|
+
className: mx11("dx-checkbox--switch dx-focus-ring", classNames),
|
|
3706
3680
|
checked,
|
|
3707
3681
|
onChange: (event) => {
|
|
3708
3682
|
onCheckedChange(event.target.checked);
|
|
@@ -3722,7 +3696,7 @@ var Time = SegmentedTime;
|
|
|
3722
3696
|
var Date2 = SegmentedDate;
|
|
3723
3697
|
var DateTime = SegmentedDateTime;
|
|
3724
3698
|
var Input = {
|
|
3725
|
-
Root:
|
|
3699
|
+
Root: Root8,
|
|
3726
3700
|
TriggerIcon,
|
|
3727
3701
|
PinInput,
|
|
3728
3702
|
TextInput,
|
|
@@ -3739,13 +3713,13 @@ var Input = {
|
|
|
3739
3713
|
};
|
|
3740
3714
|
|
|
3741
3715
|
// src/components/List/List.tsx
|
|
3742
|
-
import { Primitive as
|
|
3743
|
-
import { Slot as
|
|
3744
|
-
import
|
|
3716
|
+
import { Primitive as Primitive14 } from "@radix-ui/react-primitive";
|
|
3717
|
+
import { Slot as Slot14 } from "@radix-ui/react-slot";
|
|
3718
|
+
import React35, { forwardRef as forwardRef24 } from "react";
|
|
3745
3719
|
import { LIST_ITEM_NAME, LIST_NAME, ListItemCollapsibleContent, List as ListPrimitive, ListItem as ListPrimitiveItem, ListItemHeading as ListPrimitiveItemHeading, ListItemOpenTrigger as ListPrimitiveItemOpenTrigger, useListContext, useListItemContext } from "@dxos/react-list";
|
|
3746
3720
|
|
|
3747
3721
|
// src/components/List/ListDropIndicator.tsx
|
|
3748
|
-
import
|
|
3722
|
+
import React34 from "react";
|
|
3749
3723
|
var edgeToOrientationMap = {
|
|
3750
3724
|
top: "horizontal",
|
|
3751
3725
|
bottom: "horizontal",
|
|
@@ -3767,7 +3741,7 @@ var terminalSize = 8;
|
|
|
3767
3741
|
var offsetToAlignTerminalWithLine = (strokeSize - terminalSize) / 2;
|
|
3768
3742
|
var ListDropIndicator = ({ edge, gap = 0, lineInset = 0, terminalInset = lineInset - terminalSize }) => {
|
|
3769
3743
|
const orientation = edgeToOrientationMap[edge];
|
|
3770
|
-
return /* @__PURE__ */
|
|
3744
|
+
return /* @__PURE__ */ React34.createElement("div", {
|
|
3771
3745
|
style: {
|
|
3772
3746
|
"--line-thickness": `${strokeSize}px`,
|
|
3773
3747
|
"--line-offset": `calc(-0.5 * (${gap}px + ${strokeSize}px))`,
|
|
@@ -3786,19 +3760,19 @@ var List = composable(({ children, ...props }, forwardedRef) => {
|
|
|
3786
3760
|
const { tx } = useThemeContext();
|
|
3787
3761
|
const density = useDensityContext(props.density);
|
|
3788
3762
|
const { className, ...rest } = composableProps(props);
|
|
3789
|
-
return /* @__PURE__ */
|
|
3763
|
+
return /* @__PURE__ */ React35.createElement(DensityProvider, {
|
|
3790
3764
|
density
|
|
3791
|
-
}, /* @__PURE__ */
|
|
3765
|
+
}, /* @__PURE__ */ React35.createElement(ListPrimitive, {
|
|
3792
3766
|
...rest,
|
|
3793
3767
|
className: tx("list.root", {}, className),
|
|
3794
3768
|
ref: forwardedRef
|
|
3795
3769
|
}, children));
|
|
3796
3770
|
});
|
|
3797
|
-
var ListItemEndcap = /* @__PURE__ */
|
|
3798
|
-
const Comp = asChild ?
|
|
3771
|
+
var ListItemEndcap = /* @__PURE__ */ forwardRef24(({ children, classNames, asChild, ...props }, forwardedRef) => {
|
|
3772
|
+
const Comp = asChild ? Slot14 : Primitive14.div;
|
|
3799
3773
|
const density = useDensityContext();
|
|
3800
3774
|
const { tx } = useThemeContext();
|
|
3801
|
-
return /* @__PURE__ */
|
|
3775
|
+
return /* @__PURE__ */ React35.createElement(Comp, {
|
|
3802
3776
|
...!asChild && {
|
|
3803
3777
|
role: "none"
|
|
3804
3778
|
},
|
|
@@ -3812,44 +3786,44 @@ var ListItemEndcap = /* @__PURE__ */ forwardRef23(({ children, classNames, asChi
|
|
|
3812
3786
|
var MockListItemOpenTrigger = ({ classNames, ...props }) => {
|
|
3813
3787
|
const density = useDensityContext();
|
|
3814
3788
|
const { tx } = useThemeContext();
|
|
3815
|
-
return /* @__PURE__ */
|
|
3789
|
+
return /* @__PURE__ */ React35.createElement("div", {
|
|
3816
3790
|
...props,
|
|
3817
3791
|
className: tx("list.item.openTrigger", {
|
|
3818
3792
|
density
|
|
3819
3793
|
}, classNames)
|
|
3820
3794
|
});
|
|
3821
3795
|
};
|
|
3822
|
-
var ListItemHeading = /* @__PURE__ */
|
|
3796
|
+
var ListItemHeading = /* @__PURE__ */ forwardRef24(({ children, classNames, ...props }, forwardedRef) => {
|
|
3823
3797
|
const { tx } = useThemeContext();
|
|
3824
3798
|
const density = useDensityContext();
|
|
3825
|
-
return /* @__PURE__ */
|
|
3799
|
+
return /* @__PURE__ */ React35.createElement(ListPrimitiveItemHeading, {
|
|
3826
3800
|
...props,
|
|
3827
3801
|
className: tx("list.item.heading", {
|
|
3828
3802
|
density
|
|
3829
3803
|
}, classNames),
|
|
3830
3804
|
ref: forwardedRef
|
|
3831
|
-
}, /* @__PURE__ */
|
|
3805
|
+
}, /* @__PURE__ */ React35.createElement("span", null, children));
|
|
3832
3806
|
});
|
|
3833
|
-
var ListItemOpenTrigger = /* @__PURE__ */
|
|
3807
|
+
var ListItemOpenTrigger = /* @__PURE__ */ forwardRef24(({ __listItemScope, classNames, children, ...props }, forwardedRef) => {
|
|
3834
3808
|
const { tx } = useThemeContext();
|
|
3835
3809
|
const density = useDensityContext();
|
|
3836
3810
|
const { open } = useListItemContext(LIST_ITEM_NAME, __listItemScope);
|
|
3837
|
-
return /* @__PURE__ */
|
|
3811
|
+
return /* @__PURE__ */ React35.createElement(ListPrimitiveItemOpenTrigger, {
|
|
3838
3812
|
...props,
|
|
3839
3813
|
className: tx("list.item.openTrigger", {
|
|
3840
3814
|
density
|
|
3841
3815
|
}, classNames),
|
|
3842
3816
|
ref: forwardedRef
|
|
3843
|
-
}, children || /* @__PURE__ */
|
|
3817
|
+
}, children || /* @__PURE__ */ React35.createElement(Icon, {
|
|
3844
3818
|
size: 3,
|
|
3845
3819
|
icon: open ? "ph--caret-down--bold" : "ph--caret-right--bold",
|
|
3846
3820
|
classNames: tx("list.item.openTriggerIcon", {})
|
|
3847
3821
|
}));
|
|
3848
3822
|
});
|
|
3849
|
-
var ListItemRoot = /* @__PURE__ */
|
|
3823
|
+
var ListItemRoot = /* @__PURE__ */ forwardRef24(({ classNames, children, ...props }, forwardedRef) => {
|
|
3850
3824
|
const { tx } = useThemeContext();
|
|
3851
3825
|
const density = useDensityContext();
|
|
3852
|
-
return /* @__PURE__ */
|
|
3826
|
+
return /* @__PURE__ */ React35.createElement(ListPrimitiveItem, {
|
|
3853
3827
|
...props,
|
|
3854
3828
|
className: tx("list.item.root", {
|
|
3855
3829
|
density,
|
|
@@ -3869,10 +3843,10 @@ var ListItem = {
|
|
|
3869
3843
|
};
|
|
3870
3844
|
|
|
3871
3845
|
// src/components/List/Tree.tsx
|
|
3872
|
-
import
|
|
3846
|
+
import React37, { forwardRef as forwardRef25 } from "react";
|
|
3873
3847
|
|
|
3874
3848
|
// src/components/List/TreeDropIndicator.tsx
|
|
3875
|
-
import
|
|
3849
|
+
import React36 from "react";
|
|
3876
3850
|
var edgeToOrientationMap2 = {
|
|
3877
3851
|
"reorder-above": "sibling",
|
|
3878
3852
|
"reorder-below": "sibling",
|
|
@@ -3902,7 +3876,7 @@ var TreeDropIndicator = ({ instruction, gap = 0 }) => {
|
|
|
3902
3876
|
if (isBlocked) {
|
|
3903
3877
|
return null;
|
|
3904
3878
|
}
|
|
3905
|
-
return /* @__PURE__ */
|
|
3879
|
+
return /* @__PURE__ */ React36.createElement("div", {
|
|
3906
3880
|
style: {
|
|
3907
3881
|
"--line-thickness": `${strokeSize2}px`,
|
|
3908
3882
|
"--line-offset": `${lineOffset}`,
|
|
@@ -3917,22 +3891,22 @@ var TreeDropIndicator = ({ instruction, gap = 0 }) => {
|
|
|
3917
3891
|
};
|
|
3918
3892
|
|
|
3919
3893
|
// src/components/List/Tree.tsx
|
|
3920
|
-
var TreeRoot = /* @__PURE__ */
|
|
3921
|
-
return /* @__PURE__ */
|
|
3894
|
+
var TreeRoot = /* @__PURE__ */ forwardRef25((props, forwardedRef) => {
|
|
3895
|
+
return /* @__PURE__ */ React37.createElement(List, {
|
|
3922
3896
|
...props,
|
|
3923
3897
|
ref: forwardedRef
|
|
3924
3898
|
});
|
|
3925
3899
|
});
|
|
3926
|
-
var TreeBranch = /* @__PURE__ */
|
|
3900
|
+
var TreeBranch = /* @__PURE__ */ forwardRef25(({ __listScope, ...props }, forwardedRef) => {
|
|
3927
3901
|
const { headingId } = useListItemContext(LIST_ITEM_NAME, __listScope);
|
|
3928
|
-
return /* @__PURE__ */
|
|
3902
|
+
return /* @__PURE__ */ React37.createElement(List, {
|
|
3929
3903
|
...props,
|
|
3930
3904
|
"aria-labelledby": headingId,
|
|
3931
3905
|
ref: forwardedRef
|
|
3932
3906
|
});
|
|
3933
3907
|
});
|
|
3934
|
-
var TreeItemRoot = /* @__PURE__ */
|
|
3935
|
-
return /* @__PURE__ */
|
|
3908
|
+
var TreeItemRoot = /* @__PURE__ */ forwardRef25((props, forwardedRef) => {
|
|
3909
|
+
return /* @__PURE__ */ React37.createElement(ListItem.Root, {
|
|
3936
3910
|
role: "treeitem",
|
|
3937
3911
|
...props,
|
|
3938
3912
|
ref: forwardedRef
|
|
@@ -3958,10 +3932,10 @@ var TreeItem = {
|
|
|
3958
3932
|
// src/components/List/Treegrid.tsx
|
|
3959
3933
|
import { useFocusFinders } from "@fluentui/react-tabster";
|
|
3960
3934
|
import { createContextScope as createContextScope3 } from "@radix-ui/react-context";
|
|
3961
|
-
import { Primitive as
|
|
3962
|
-
import { Slot as
|
|
3935
|
+
import { Primitive as Primitive15 } from "@radix-ui/react-primitive";
|
|
3936
|
+
import { Slot as Slot15 } from "@radix-ui/react-slot";
|
|
3963
3937
|
import { useControllableState as useControllableState5 } from "@radix-ui/react-use-controllable-state";
|
|
3964
|
-
import
|
|
3938
|
+
import React38, { forwardRef as forwardRef26, useCallback as useCallback13 } from "react";
|
|
3965
3939
|
var TREEGRID_ROW_NAME = "Treegrid.Row";
|
|
3966
3940
|
var [createTreegridRowContext, createTreegridRowScope] = createContextScope3(TREEGRID_ROW_NAME, []);
|
|
3967
3941
|
var [TreegridRowProvider, useTreegridRowContext] = createTreegridRowContext(TREEGRID_ROW_NAME);
|
|
@@ -3972,9 +3946,9 @@ var TreegridRoot = composable(({ asChild, classNames, children, style, gridTempl
|
|
|
3972
3946
|
const { className, role: _role, ...rest } = composableProps(props, {
|
|
3973
3947
|
classNames
|
|
3974
3948
|
});
|
|
3975
|
-
const Comp = asChild ?
|
|
3949
|
+
const Comp = asChild ? Slot15 : Primitive15.div;
|
|
3976
3950
|
const { findFirstFocusable } = useFocusFinders();
|
|
3977
|
-
const handleKeyDown =
|
|
3951
|
+
const handleKeyDown = useCallback13((event) => {
|
|
3978
3952
|
switch (event.key) {
|
|
3979
3953
|
case "ArrowDown":
|
|
3980
3954
|
case "ArrowUp": {
|
|
@@ -4008,7 +3982,7 @@ var TreegridRoot = composable(({ asChild, classNames, children, style, gridTempl
|
|
|
4008
3982
|
findFirstFocusable,
|
|
4009
3983
|
onKeyDownProp
|
|
4010
3984
|
]);
|
|
4011
|
-
return /* @__PURE__ */
|
|
3985
|
+
return /* @__PURE__ */ React38.createElement(Comp, {
|
|
4012
3986
|
role: "treegrid",
|
|
4013
3987
|
...rest,
|
|
4014
3988
|
className: tx("treegrid.root", {}, className),
|
|
@@ -4020,9 +3994,9 @@ var TreegridRoot = composable(({ asChild, classNames, children, style, gridTempl
|
|
|
4020
3994
|
ref: forwardedRef
|
|
4021
3995
|
}, children);
|
|
4022
3996
|
});
|
|
4023
|
-
var TreegridRow = /* @__PURE__ */
|
|
3997
|
+
var TreegridRow = /* @__PURE__ */ forwardRef26(({ __treegridRowScope, asChild, classNames, children, id, parentOf, open: propsOpen, defaultOpen, onOpenChange: propsOnOpenChange, ...props }, forwardedRef) => {
|
|
4024
3998
|
const { tx } = useThemeContext();
|
|
4025
|
-
const Comp = asChild ?
|
|
3999
|
+
const Comp = asChild ? Slot15 : Primitive15.div;
|
|
4026
4000
|
const pathParts = id.split(TREEGRID_PATH_SEPARATOR);
|
|
4027
4001
|
const level = pathParts.length - 1;
|
|
4028
4002
|
const [open, onOpenChange] = useControllableState5({
|
|
@@ -4030,11 +4004,11 @@ var TreegridRow = /* @__PURE__ */ forwardRef25(({ __treegridRowScope, asChild, c
|
|
|
4030
4004
|
onChange: propsOnOpenChange,
|
|
4031
4005
|
defaultProp: defaultOpen
|
|
4032
4006
|
});
|
|
4033
|
-
return /* @__PURE__ */
|
|
4007
|
+
return /* @__PURE__ */ React38.createElement(TreegridRowProvider, {
|
|
4034
4008
|
open,
|
|
4035
4009
|
onOpenChange,
|
|
4036
4010
|
scope: __treegridRowScope
|
|
4037
|
-
}, /* @__PURE__ */
|
|
4011
|
+
}, /* @__PURE__ */ React38.createElement(Comp, {
|
|
4038
4012
|
role: "row",
|
|
4039
4013
|
"aria-level": level,
|
|
4040
4014
|
className: tx("treegrid.row", {
|
|
@@ -4049,9 +4023,9 @@ var TreegridRow = /* @__PURE__ */ forwardRef25(({ __treegridRowScope, asChild, c
|
|
|
4049
4023
|
ref: forwardedRef
|
|
4050
4024
|
}, children));
|
|
4051
4025
|
});
|
|
4052
|
-
var TreegridCell = /* @__PURE__ */
|
|
4026
|
+
var TreegridCell = /* @__PURE__ */ forwardRef26(({ classNames, children, indent, ...props }, forwardedRef) => {
|
|
4053
4027
|
const { tx } = useThemeContext();
|
|
4054
|
-
return /* @__PURE__ */
|
|
4028
|
+
return /* @__PURE__ */ React38.createElement("div", {
|
|
4055
4029
|
role: "gridcell",
|
|
4056
4030
|
className: tx("treegrid.cell", {
|
|
4057
4031
|
indent
|
|
@@ -4070,17 +4044,17 @@ var Treegrid = {
|
|
|
4070
4044
|
import { useFocusableGroup as useFocusableGroup2 } from "@fluentui/react-tabster";
|
|
4071
4045
|
import { createContext as createContext10 } from "@radix-ui/react-context";
|
|
4072
4046
|
import { DialogContent as DialogContent2, Root as DialogRoot2, DialogTitle as DialogTitle2 } from "@radix-ui/react-dialog";
|
|
4073
|
-
import { Primitive as
|
|
4074
|
-
import { Slot as
|
|
4047
|
+
import { Primitive as Primitive16 } from "@radix-ui/react-primitive";
|
|
4048
|
+
import { Slot as Slot16 } from "@radix-ui/react-slot";
|
|
4075
4049
|
import { useControllableState as useControllableState6 } from "@radix-ui/react-use-controllable-state";
|
|
4076
|
-
import
|
|
4050
|
+
import React39, { forwardRef as forwardRef27, useCallback as useCallback15, useEffect as useEffect8, useRef as useRef7, useState as useState14 } from "react";
|
|
4077
4051
|
import { addEventListener } from "@dxos/async";
|
|
4078
4052
|
import { log as log2 } from "@dxos/log";
|
|
4079
4053
|
import { useForwardedRef, useMediaQuery } from "@dxos/react-hooks";
|
|
4080
4054
|
import { osTranslations as osTranslations3 } from "@dxos/ui-theme";
|
|
4081
4055
|
|
|
4082
4056
|
// src/components/Main/useSwipeToDismiss.ts
|
|
4083
|
-
import { useCallback as
|
|
4057
|
+
import { useCallback as useCallback14, useEffect as useEffect7, useState as useState13 } from "react";
|
|
4084
4058
|
var useSwipeToDismiss = (ref, {
|
|
4085
4059
|
onDismiss,
|
|
4086
4060
|
dismissThreshold = 64,
|
|
@@ -4091,20 +4065,20 @@ var useSwipeToDismiss = (ref, {
|
|
|
4091
4065
|
const $root = ref.current;
|
|
4092
4066
|
const [motionState, setMotionState] = useState13(0);
|
|
4093
4067
|
const [gestureStartX, setGestureStartX] = useState13(0);
|
|
4094
|
-
const setIdle =
|
|
4068
|
+
const setIdle = useCallback14(() => {
|
|
4095
4069
|
setMotionState(0);
|
|
4096
4070
|
$root?.style.removeProperty("inset-inline-start");
|
|
4097
4071
|
$root?.style.setProperty("transition-duration", "200ms");
|
|
4098
4072
|
}, [
|
|
4099
4073
|
$root
|
|
4100
4074
|
]);
|
|
4101
|
-
const setFollowing =
|
|
4075
|
+
const setFollowing = useCallback14(() => {
|
|
4102
4076
|
setMotionState(2);
|
|
4103
4077
|
$root?.style.setProperty("transition-duration", "0ms");
|
|
4104
4078
|
}, [
|
|
4105
4079
|
$root
|
|
4106
4080
|
]);
|
|
4107
|
-
const handlePointerDown =
|
|
4081
|
+
const handlePointerDown = useCallback14(({ screenX }) => {
|
|
4108
4082
|
if (motionState === 0) {
|
|
4109
4083
|
setMotionState(1);
|
|
4110
4084
|
setGestureStartX(screenX);
|
|
@@ -4112,7 +4086,7 @@ var useSwipeToDismiss = (ref, {
|
|
|
4112
4086
|
}, [
|
|
4113
4087
|
motionState
|
|
4114
4088
|
]);
|
|
4115
|
-
const handlePointerMove =
|
|
4089
|
+
const handlePointerMove = useCallback14(({ screenX }) => {
|
|
4116
4090
|
if ($root) {
|
|
4117
4091
|
const delta = Math.min(screenX - gestureStartX, 0);
|
|
4118
4092
|
switch (motionState) {
|
|
@@ -4136,7 +4110,7 @@ var useSwipeToDismiss = (ref, {
|
|
|
4136
4110
|
motionState,
|
|
4137
4111
|
gestureStartX
|
|
4138
4112
|
]);
|
|
4139
|
-
const handlePointerUp =
|
|
4113
|
+
const handlePointerUp = useCallback14(() => {
|
|
4140
4114
|
setIdle();
|
|
4141
4115
|
}, [
|
|
4142
4116
|
setIdle
|
|
@@ -4183,7 +4157,7 @@ var handleOpenAutoFocus = (event) => {
|
|
|
4183
4157
|
};
|
|
4184
4158
|
var landmarkAttr = "data-main-landmark";
|
|
4185
4159
|
var useLandmarkMover = (propsOnKeyDown, landmark) => {
|
|
4186
|
-
const handleKeyDown =
|
|
4160
|
+
const handleKeyDown = useCallback15((event) => {
|
|
4187
4161
|
const target = event.target;
|
|
4188
4162
|
if (event.target === event.currentTarget && event.key === "Tab" && target.hasAttribute(landmarkAttr)) {
|
|
4189
4163
|
event.preventDefault();
|
|
@@ -4226,22 +4200,22 @@ var useSidebars = (consumerName) => {
|
|
|
4226
4200
|
return {
|
|
4227
4201
|
navigationSidebarState,
|
|
4228
4202
|
setNavigationSidebarState,
|
|
4229
|
-
toggleNavigationSidebar:
|
|
4203
|
+
toggleNavigationSidebar: useCallback15(() => setNavigationSidebarState(navigationSidebarState === "expanded" ? "closed" : "expanded"), [
|
|
4230
4204
|
navigationSidebarState,
|
|
4231
4205
|
setNavigationSidebarState
|
|
4232
4206
|
]),
|
|
4233
|
-
openNavigationSidebar:
|
|
4234
|
-
collapseNavigationSidebar:
|
|
4235
|
-
closeNavigationSidebar:
|
|
4207
|
+
openNavigationSidebar: useCallback15(() => setNavigationSidebarState("expanded"), []),
|
|
4208
|
+
collapseNavigationSidebar: useCallback15(() => setNavigationSidebarState("collapsed"), []),
|
|
4209
|
+
closeNavigationSidebar: useCallback15(() => setNavigationSidebarState("closed"), []),
|
|
4236
4210
|
complementarySidebarState,
|
|
4237
4211
|
setComplementarySidebarState,
|
|
4238
|
-
toggleComplementarySidebar:
|
|
4212
|
+
toggleComplementarySidebar: useCallback15(() => setComplementarySidebarState(complementarySidebarState === "expanded" ? "closed" : "expanded"), [
|
|
4239
4213
|
complementarySidebarState,
|
|
4240
4214
|
setComplementarySidebarState
|
|
4241
4215
|
]),
|
|
4242
|
-
openComplementarySidebar:
|
|
4243
|
-
collapseComplementarySidebar:
|
|
4244
|
-
closeComplementarySidebar:
|
|
4216
|
+
openComplementarySidebar: useCallback15(() => setComplementarySidebarState("expanded"), []),
|
|
4217
|
+
collapseComplementarySidebar: useCallback15(() => setComplementarySidebarState("collapsed"), []),
|
|
4218
|
+
closeComplementarySidebar: useCallback15(() => setComplementarySidebarState("closed"), [])
|
|
4245
4219
|
};
|
|
4246
4220
|
};
|
|
4247
4221
|
var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNavigationSidebarState = "closed", onNavigationSidebarStateChange, complementarySidebarState: propsComplementarySidebarState, defaultComplementarySidebarState = "closed", onComplementarySidebarStateChange, children, ...props }) => {
|
|
@@ -4257,7 +4231,7 @@ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNa
|
|
|
4257
4231
|
onChange: onComplementarySidebarStateChange
|
|
4258
4232
|
});
|
|
4259
4233
|
const [resizing, setResizing] = useState14(false);
|
|
4260
|
-
const resizeInterval =
|
|
4234
|
+
const resizeInterval = useRef7(null);
|
|
4261
4235
|
useEffect8(() => addEventListener(window, "resize", () => {
|
|
4262
4236
|
setResizing(true);
|
|
4263
4237
|
if (resizeInterval.current) {
|
|
@@ -4268,7 +4242,7 @@ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNa
|
|
|
4268
4242
|
resizeInterval.current = null;
|
|
4269
4243
|
}, 3e3);
|
|
4270
4244
|
}), []);
|
|
4271
|
-
return /* @__PURE__ */
|
|
4245
|
+
return /* @__PURE__ */ React39.createElement(MainProvider, {
|
|
4272
4246
|
...props,
|
|
4273
4247
|
navigationSidebarState,
|
|
4274
4248
|
setNavigationSidebarState,
|
|
@@ -4278,11 +4252,11 @@ var MainRoot = ({ navigationSidebarState: propsNavigationSidebarState, defaultNa
|
|
|
4278
4252
|
}, children);
|
|
4279
4253
|
};
|
|
4280
4254
|
MainRoot.displayName = MAIN_ROOT_NAME;
|
|
4281
|
-
var MainOverlay = /* @__PURE__ */
|
|
4255
|
+
var MainOverlay = /* @__PURE__ */ forwardRef27(({ classNames, ...props }, forwardedRef) => {
|
|
4282
4256
|
const [isLg] = useMediaQuery("lg");
|
|
4283
4257
|
const { navigationSidebarState, setNavigationSidebarState, complementarySidebarState, setComplementarySidebarState } = useMainContext(MAIN_OVERLAY_NAME);
|
|
4284
4258
|
const { tx } = useThemeContext();
|
|
4285
|
-
return /* @__PURE__ */
|
|
4259
|
+
return /* @__PURE__ */ React39.createElement("div", {
|
|
4286
4260
|
...props,
|
|
4287
4261
|
onClick: () => {
|
|
4288
4262
|
setNavigationSidebarState("collapsed");
|
|
@@ -4299,16 +4273,16 @@ var MainOverlay = /* @__PURE__ */ forwardRef26(({ classNames, ...props }, forwar
|
|
|
4299
4273
|
});
|
|
4300
4274
|
});
|
|
4301
4275
|
MainOverlay.displayName = MAIN_OVERLAY_NAME;
|
|
4302
|
-
var MainSidebar = /* @__PURE__ */
|
|
4276
|
+
var MainSidebar = /* @__PURE__ */ forwardRef27(({ classNames, children, swipeToDismiss, onOpenAutoFocus, state, resizing, onStateChange, side, label, ...props }, forwardedRef) => {
|
|
4303
4277
|
const [isLg] = useMediaQuery("lg");
|
|
4304
4278
|
const { tx } = useThemeContext();
|
|
4305
4279
|
const { t } = useTranslation(osTranslations3);
|
|
4306
4280
|
const ref = useForwardedRef(forwardedRef);
|
|
4307
|
-
const noopRef =
|
|
4281
|
+
const noopRef = useRef7(null);
|
|
4308
4282
|
useSwipeToDismiss(swipeToDismiss ? ref : noopRef, {
|
|
4309
4283
|
onDismiss: () => onStateChange?.("closed")
|
|
4310
4284
|
});
|
|
4311
|
-
const handleKeyDown =
|
|
4285
|
+
const handleKeyDown = useCallback15((event) => {
|
|
4312
4286
|
const focusGroupParent = event.target.closest("[data-tabster]");
|
|
4313
4287
|
if (event.key === "Escape" && focusGroupParent) {
|
|
4314
4288
|
event.preventDefault();
|
|
@@ -4319,14 +4293,14 @@ var MainSidebar = /* @__PURE__ */ forwardRef26(({ classNames, children, swipeToD
|
|
|
4319
4293
|
}, [
|
|
4320
4294
|
props.onKeyDown
|
|
4321
4295
|
]);
|
|
4322
|
-
const Root13 = isLg ?
|
|
4323
|
-
return /* @__PURE__ */
|
|
4296
|
+
const Root13 = isLg ? Primitive16.div : DialogContent2;
|
|
4297
|
+
return /* @__PURE__ */ React39.createElement(DialogRoot2, {
|
|
4324
4298
|
open: state !== "closed",
|
|
4325
4299
|
"aria-label": toLocalizedString(label, t),
|
|
4326
4300
|
modal: false
|
|
4327
|
-
}, !isLg && /* @__PURE__ */
|
|
4301
|
+
}, !isLg && /* @__PURE__ */ React39.createElement(DialogTitle2, {
|
|
4328
4302
|
className: "sr-only"
|
|
4329
|
-
}, toLocalizedString(label, t)), /* @__PURE__ */
|
|
4303
|
+
}, toLocalizedString(label, t)), /* @__PURE__ */ React39.createElement(Root13, {
|
|
4330
4304
|
...!isLg && {
|
|
4331
4305
|
forceMount: true,
|
|
4332
4306
|
tabIndex: -1,
|
|
@@ -4344,10 +4318,10 @@ var MainSidebar = /* @__PURE__ */ forwardRef26(({ classNames, children, swipeToD
|
|
|
4344
4318
|
ref
|
|
4345
4319
|
}, children));
|
|
4346
4320
|
});
|
|
4347
|
-
var MainNavigationSidebar = /* @__PURE__ */
|
|
4321
|
+
var MainNavigationSidebar = /* @__PURE__ */ forwardRef27((props, forwardedRef) => {
|
|
4348
4322
|
const { navigationSidebarState, setNavigationSidebarState, resizing } = useMainContext(NAVIGATION_SIDEBAR_NAME);
|
|
4349
4323
|
const mover = useLandmarkMover(props.onKeyDown, "0");
|
|
4350
|
-
return /* @__PURE__ */
|
|
4324
|
+
return /* @__PURE__ */ React39.createElement(MainSidebar, {
|
|
4351
4325
|
...mover,
|
|
4352
4326
|
...props,
|
|
4353
4327
|
state: navigationSidebarState,
|
|
@@ -4358,10 +4332,10 @@ var MainNavigationSidebar = /* @__PURE__ */ forwardRef26((props, forwardedRef) =
|
|
|
4358
4332
|
});
|
|
4359
4333
|
});
|
|
4360
4334
|
MainNavigationSidebar.displayName = NAVIGATION_SIDEBAR_NAME;
|
|
4361
|
-
var MainComplementarySidebar = /* @__PURE__ */
|
|
4335
|
+
var MainComplementarySidebar = /* @__PURE__ */ forwardRef27((props, forwardedRef) => {
|
|
4362
4336
|
const { complementarySidebarState, setComplementarySidebarState, resizing } = useMainContext(COMPLEMENTARY_SIDEBAR_NAME);
|
|
4363
4337
|
const mover = useLandmarkMover(props.onKeyDown, "2");
|
|
4364
|
-
return /* @__PURE__ */
|
|
4338
|
+
return /* @__PURE__ */ React39.createElement(MainSidebar, {
|
|
4365
4339
|
...mover,
|
|
4366
4340
|
...props,
|
|
4367
4341
|
state: complementarySidebarState,
|
|
@@ -4372,12 +4346,12 @@ var MainComplementarySidebar = /* @__PURE__ */ forwardRef26((props, forwardedRef
|
|
|
4372
4346
|
});
|
|
4373
4347
|
});
|
|
4374
4348
|
MainComplementarySidebar.displayName = COMPLEMENTARY_SIDEBAR_NAME;
|
|
4375
|
-
var MainContent = /* @__PURE__ */
|
|
4349
|
+
var MainContent = /* @__PURE__ */ forwardRef27(({ asChild, classNames, bounce, handlesFocus, children, role, ...props }, forwardedRef) => {
|
|
4376
4350
|
const { navigationSidebarState, complementarySidebarState } = useMainContext(MAIN_NAME);
|
|
4377
4351
|
const { tx } = useThemeContext();
|
|
4378
|
-
const Comp = asChild ?
|
|
4352
|
+
const Comp = asChild ? Slot16 : role ? Primitive16.div : "main";
|
|
4379
4353
|
const mover = useLandmarkMover(props.onKeyDown, "1");
|
|
4380
|
-
return /* @__PURE__ */
|
|
4354
|
+
return /* @__PURE__ */ React39.createElement(Comp, {
|
|
4381
4355
|
...handlesFocus && {
|
|
4382
4356
|
...mover
|
|
4383
4357
|
},
|
|
@@ -4404,12 +4378,12 @@ var Main = {
|
|
|
4404
4378
|
|
|
4405
4379
|
// src/components/Message/Message.tsx
|
|
4406
4380
|
import { createContext as createContext11 } from "@radix-ui/react-context";
|
|
4407
|
-
import { Primitive as
|
|
4408
|
-
import { Slot as
|
|
4409
|
-
import
|
|
4410
|
-
import { useTranslation as
|
|
4381
|
+
import { Primitive as Primitive17 } from "@radix-ui/react-primitive";
|
|
4382
|
+
import { Slot as Slot17 } from "@radix-ui/react-slot";
|
|
4383
|
+
import React40, { forwardRef as forwardRef28 } from "react";
|
|
4384
|
+
import { useTranslation as useTranslation6 } from "react-i18next";
|
|
4411
4385
|
import { useId as useId5 } from "@dxos/react-hooks";
|
|
4412
|
-
import { translationKey as
|
|
4386
|
+
import { translationKey as translationKey6 } from "#translations";
|
|
4413
4387
|
var messageIcons = {
|
|
4414
4388
|
success: "ph--check-circle--duotone",
|
|
4415
4389
|
info: "ph--info--duotone",
|
|
@@ -4446,16 +4420,16 @@ var valenceVars = {
|
|
|
4446
4420
|
}
|
|
4447
4421
|
};
|
|
4448
4422
|
var [MessageProvider, useMessageContext] = createContext11(MESSAGE_NAME);
|
|
4449
|
-
var MessageRoot = /* @__PURE__ */
|
|
4423
|
+
var MessageRoot = /* @__PURE__ */ forwardRef28(({ asChild, valence = "neutral", elevation: propsElevation, classNames, titleId: propsTitleId, descriptionId: propsDescriptionId, children, ...props }, forwardedRef) => {
|
|
4450
4424
|
const { tx } = useThemeContext();
|
|
4451
4425
|
const titleId = useId5("message__title", propsTitleId);
|
|
4452
4426
|
const descriptionId = useId5("message__description", propsDescriptionId);
|
|
4453
4427
|
const elevation = useElevationContext(propsElevation);
|
|
4454
|
-
return /* @__PURE__ */
|
|
4428
|
+
return /* @__PURE__ */ React40.createElement(MessageProvider, {
|
|
4455
4429
|
titleId,
|
|
4456
4430
|
descriptionId,
|
|
4457
4431
|
valence
|
|
4458
|
-
}, /* @__PURE__ */
|
|
4432
|
+
}, /* @__PURE__ */ React40.createElement(Column.Root, {
|
|
4459
4433
|
asChild,
|
|
4460
4434
|
role: valence === "neutral" ? "paragraph" : "alert",
|
|
4461
4435
|
"aria-labelledby": titleId,
|
|
@@ -4474,26 +4448,22 @@ var MessageRoot = /* @__PURE__ */ forwardRef27(({ asChild, valence = "neutral",
|
|
|
4474
4448
|
});
|
|
4475
4449
|
MessageRoot.displayName = MESSAGE_NAME;
|
|
4476
4450
|
var MESSAGE_TITLE_NAME = "Message.Title";
|
|
4477
|
-
var MessageTitle = /* @__PURE__ */
|
|
4478
|
-
const { t } =
|
|
4451
|
+
var MessageTitle = /* @__PURE__ */ forwardRef28(({ classNames, children, icon: iconProp, onClose }, forwardedRef) => {
|
|
4452
|
+
const { t } = useTranslation6(translationKey6);
|
|
4479
4453
|
const { tx } = useThemeContext();
|
|
4480
4454
|
const { titleId, valence } = useMessageContext(MESSAGE_TITLE_NAME);
|
|
4481
4455
|
const icon = iconProp ?? messageIcons[valence];
|
|
4482
|
-
return /* @__PURE__ */
|
|
4456
|
+
return /* @__PURE__ */ React40.createElement(Column.Row, {
|
|
4483
4457
|
classNames: tx("message.header", {}, classNames),
|
|
4484
4458
|
ref: forwardedRef
|
|
4485
|
-
}, icon && /* @__PURE__ */
|
|
4486
|
-
className: tx("message.icon", {
|
|
4487
|
-
valence
|
|
4488
|
-
})
|
|
4489
|
-
}, /* @__PURE__ */ React39.createElement(Icon, {
|
|
4459
|
+
}, icon && /* @__PURE__ */ React40.createElement(Column.Block, null, /* @__PURE__ */ React40.createElement(Icon, {
|
|
4490
4460
|
icon
|
|
4491
|
-
})), /* @__PURE__ */
|
|
4461
|
+
})), /* @__PURE__ */ React40.createElement("h2", {
|
|
4492
4462
|
className: tx("message.title", {}, classNames),
|
|
4493
4463
|
id: titleId
|
|
4494
|
-
}, children), onClose && /* @__PURE__ */
|
|
4495
|
-
|
|
4496
|
-
}, /* @__PURE__ */
|
|
4464
|
+
}, children), onClose && /* @__PURE__ */ React40.createElement(Column.Block, {
|
|
4465
|
+
end: true
|
|
4466
|
+
}, /* @__PURE__ */ React40.createElement(IconButton, {
|
|
4497
4467
|
variant: "ghost",
|
|
4498
4468
|
icon: "ph--x--regular",
|
|
4499
4469
|
iconOnly: true,
|
|
@@ -4504,11 +4474,11 @@ var MessageTitle = /* @__PURE__ */ forwardRef27(({ classNames, children, icon: i
|
|
|
4504
4474
|
});
|
|
4505
4475
|
MessageTitle.displayName = MESSAGE_TITLE_NAME;
|
|
4506
4476
|
var MESSAGE_CONTENT_NAME = "Message.Content";
|
|
4507
|
-
var MessageContent = /* @__PURE__ */
|
|
4477
|
+
var MessageContent = /* @__PURE__ */ forwardRef28(({ asChild, classNames, children, ...props }, forwardedRef) => {
|
|
4508
4478
|
const { tx } = useThemeContext();
|
|
4509
4479
|
const { descriptionId } = useMessageContext(MESSAGE_CONTENT_NAME);
|
|
4510
|
-
const Comp = asChild ?
|
|
4511
|
-
return /* @__PURE__ */
|
|
4480
|
+
const Comp = asChild ? Slot17 : Primitive17.p;
|
|
4481
|
+
return /* @__PURE__ */ React40.createElement(Comp, {
|
|
4512
4482
|
...props,
|
|
4513
4483
|
className: tx("message.content", {}, classNames),
|
|
4514
4484
|
id: descriptionId,
|
|
@@ -4524,16 +4494,16 @@ var Message = {
|
|
|
4524
4494
|
var Callout = Message;
|
|
4525
4495
|
|
|
4526
4496
|
// src/components/Panel/Panel.tsx
|
|
4527
|
-
import { Primitive as
|
|
4528
|
-
import { Slot as
|
|
4529
|
-
import
|
|
4497
|
+
import { Primitive as Primitive18 } from "@radix-ui/react-primitive";
|
|
4498
|
+
import { Slot as Slot18 } from "@radix-ui/react-slot";
|
|
4499
|
+
import React41 from "react";
|
|
4530
4500
|
var GRID_TEMPLATE_ROWS = "auto 1fr auto";
|
|
4531
4501
|
var GRID_TEMPLATE_AREAS = '"toolbar" "content" "statusbar"';
|
|
4532
4502
|
var PanelRoot = slottable(({ children, asChild, role, style, ...props }, forwardedRef) => {
|
|
4533
4503
|
const { className, ...rest } = composableProps(props);
|
|
4534
|
-
const Comp = asChild ?
|
|
4504
|
+
const Comp = asChild ? Slot18 : Primitive18.div;
|
|
4535
4505
|
const { tx } = useThemeContext();
|
|
4536
|
-
return /* @__PURE__ */
|
|
4506
|
+
return /* @__PURE__ */ React41.createElement(Comp, {
|
|
4537
4507
|
...rest,
|
|
4538
4508
|
role: role ?? "none",
|
|
4539
4509
|
style: {
|
|
@@ -4548,9 +4518,9 @@ var PanelRoot = slottable(({ children, asChild, role, style, ...props }, forward
|
|
|
4548
4518
|
PanelRoot.displayName = "Panel.Root";
|
|
4549
4519
|
var PanelToolbar = slottable(({ children, asChild, size, ...props }, forwardedRef) => {
|
|
4550
4520
|
const { className, ...rest } = composableProps(props);
|
|
4551
|
-
const Comp = asChild ?
|
|
4521
|
+
const Comp = asChild ? Slot18 : Primitive18.div;
|
|
4552
4522
|
const { tx } = useThemeContext();
|
|
4553
|
-
return /* @__PURE__ */
|
|
4523
|
+
return /* @__PURE__ */ React41.createElement(Comp, {
|
|
4554
4524
|
...rest,
|
|
4555
4525
|
"data-slot": "toolbar",
|
|
4556
4526
|
className: tx("panel.toolbar", {
|
|
@@ -4562,9 +4532,9 @@ var PanelToolbar = slottable(({ children, asChild, size, ...props }, forwardedRe
|
|
|
4562
4532
|
PanelToolbar.displayName = "Panel.Toolbar";
|
|
4563
4533
|
var PanelContent = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
4564
4534
|
const { className, ...rest } = composableProps(props);
|
|
4565
|
-
const Comp = asChild ?
|
|
4535
|
+
const Comp = asChild ? Slot18 : Primitive18.div;
|
|
4566
4536
|
const { tx } = useThemeContext();
|
|
4567
|
-
return /* @__PURE__ */
|
|
4537
|
+
return /* @__PURE__ */ React41.createElement(Comp, {
|
|
4568
4538
|
...rest,
|
|
4569
4539
|
"data-slot": "content",
|
|
4570
4540
|
className: tx("panel.content", {}, className),
|
|
@@ -4574,9 +4544,9 @@ var PanelContent = slottable(({ children, asChild, ...props }, forwardedRef) =>
|
|
|
4574
4544
|
PanelContent.displayName = "Panel.Content";
|
|
4575
4545
|
var PanelStatusbar = slottable(({ children, asChild, size, ...props }, forwardedRef) => {
|
|
4576
4546
|
const { className, ...rest } = composableProps(props);
|
|
4577
|
-
const Comp = asChild ?
|
|
4547
|
+
const Comp = asChild ? Slot18 : Primitive18.div;
|
|
4578
4548
|
const { tx } = useThemeContext();
|
|
4579
|
-
return /* @__PURE__ */
|
|
4549
|
+
return /* @__PURE__ */ React41.createElement(Comp, {
|
|
4580
4550
|
...rest,
|
|
4581
4551
|
"data-slot": "statusbar",
|
|
4582
4552
|
className: tx("panel.statusbar", {
|
|
@@ -4595,9 +4565,9 @@ var Panel = {
|
|
|
4595
4565
|
|
|
4596
4566
|
// src/components/ScrollArea/ScrollArea.tsx
|
|
4597
4567
|
import { createContext as createContext12 } from "@radix-ui/react-context";
|
|
4598
|
-
import { Primitive as
|
|
4599
|
-
import { Slot as
|
|
4600
|
-
import
|
|
4568
|
+
import { Primitive as Primitive19 } from "@radix-ui/react-primitive";
|
|
4569
|
+
import { Slot as Slot19 } from "@radix-ui/react-slot";
|
|
4570
|
+
import React42, { useMemo as useMemo7 } from "react";
|
|
4601
4571
|
|
|
4602
4572
|
// src/components/ScrollArea/scrollbar.ts
|
|
4603
4573
|
var scrollbar = {
|
|
@@ -4622,7 +4592,7 @@ var SCROLLAREA_ROOT_NAME = "ScrollArea.Root";
|
|
|
4622
4592
|
var ScrollAreaRoot = slottable(({ children, asChild, orientation = "vertical", autoHide = true, centered = false, padding = false, thin = false, snap = false, ...props }, forwardedRef) => {
|
|
4623
4593
|
const { tx } = useThemeContext();
|
|
4624
4594
|
const { className, ...rest } = composableProps(props);
|
|
4625
|
-
const Comp = asChild ?
|
|
4595
|
+
const Comp = asChild ? Slot19 : Primitive19.div;
|
|
4626
4596
|
const options = useMemo7(() => ({
|
|
4627
4597
|
orientation,
|
|
4628
4598
|
autoHide,
|
|
@@ -4638,7 +4608,7 @@ var ScrollAreaRoot = slottable(({ children, asChild, orientation = "vertical", a
|
|
|
4638
4608
|
thin,
|
|
4639
4609
|
snap
|
|
4640
4610
|
]);
|
|
4641
|
-
return /* @__PURE__ */
|
|
4611
|
+
return /* @__PURE__ */ React42.createElement(ScrollAreaProvider, options, /* @__PURE__ */ React42.createElement(Comp, {
|
|
4642
4612
|
...rest,
|
|
4643
4613
|
className: tx("scrollArea.root", options, className),
|
|
4644
4614
|
ref: forwardedRef
|
|
@@ -4652,8 +4622,8 @@ var ScrollAreaViewport = slottable(({ children, asChild, ...props }, forwardedRe
|
|
|
4652
4622
|
const density = options.thin ? scrollbar.md : scrollbar.lg;
|
|
4653
4623
|
const { className, ...rest } = composableProps(props);
|
|
4654
4624
|
const { style, ...restWithoutStyle } = rest;
|
|
4655
|
-
const Comp = asChild ?
|
|
4656
|
-
return /* @__PURE__ */
|
|
4625
|
+
const Comp = asChild ? Slot19 : Primitive19.div;
|
|
4626
|
+
return /* @__PURE__ */ React42.createElement(Comp, {
|
|
4657
4627
|
...restWithoutStyle,
|
|
4658
4628
|
style: {
|
|
4659
4629
|
"--scroll-width": `${density.size}px`,
|
|
@@ -4672,23 +4642,23 @@ var ScrollArea = {
|
|
|
4672
4642
|
|
|
4673
4643
|
// src/components/ScrollContainer/ScrollContainer.tsx
|
|
4674
4644
|
import { createContext as createContext13 } from "@radix-ui/react-context";
|
|
4675
|
-
import
|
|
4645
|
+
import React43, { forwardRef as forwardRef29, useCallback as useCallback16, useEffect as useEffect9, useImperativeHandle, useMemo as useMemo8, useRef as useRef8, useState as useState15 } from "react";
|
|
4676
4646
|
import { addEventListener as addEventListener2, combine } from "@dxos/async";
|
|
4677
4647
|
import { invariant } from "@dxos/invariant";
|
|
4678
4648
|
import { useMergeRefs } from "@dxos/react-hooks";
|
|
4679
|
-
import { mx as
|
|
4649
|
+
import { mx as mx12 } from "@dxos/ui-theme";
|
|
4680
4650
|
var __dxlog_file3 = "/__w/dxos/dxos/packages/ui/react-ui/src/components/ScrollContainer/ScrollContainer.tsx";
|
|
4681
4651
|
var isBottom = (el) => {
|
|
4682
4652
|
return !!(el && el.scrollHeight - el.scrollTop === el.clientHeight);
|
|
4683
4653
|
};
|
|
4684
4654
|
var [ScrollContainerProvider, useScrollContainerContext] = createContext13("ScrollContainer");
|
|
4685
|
-
var ScrollContainerRoot = /* @__PURE__ */
|
|
4686
|
-
const scrollerRef =
|
|
4687
|
-
const autoScrollRef =
|
|
4655
|
+
var ScrollContainerRoot = /* @__PURE__ */ forwardRef29(({ children, pin, behavior: behaviorProp = "smooth" }, forwardedRef) => {
|
|
4656
|
+
const scrollerRef = useRef8(null);
|
|
4657
|
+
const autoScrollRef = useRef8(false);
|
|
4688
4658
|
const [pinned, setPinned] = useState15(pin);
|
|
4689
4659
|
const [overflow, setOverflow] = useState15(false);
|
|
4690
|
-
const timeoutRef =
|
|
4691
|
-
const scrollToBottom =
|
|
4660
|
+
const timeoutRef = useRef8(void 0);
|
|
4661
|
+
const scrollToBottom = useCallback16((behavior = behaviorProp) => {
|
|
4692
4662
|
if (scrollerRef.current) {
|
|
4693
4663
|
if (behavior !== "instant") {
|
|
4694
4664
|
autoScrollRef.current = true;
|
|
@@ -4729,10 +4699,10 @@ var ScrollContainerRoot = /* @__PURE__ */ forwardRef28(({ children, pin, behavio
|
|
|
4729
4699
|
useImperativeHandle(forwardedRef, () => controller, [
|
|
4730
4700
|
controller
|
|
4731
4701
|
]);
|
|
4732
|
-
const setViewport =
|
|
4702
|
+
const setViewport = useCallback16((el) => {
|
|
4733
4703
|
scrollerRef.current = el;
|
|
4734
4704
|
}, []);
|
|
4735
|
-
return /* @__PURE__ */
|
|
4705
|
+
return /* @__PURE__ */ React43.createElement(ScrollContainerProvider, {
|
|
4736
4706
|
pinned,
|
|
4737
4707
|
overflow,
|
|
4738
4708
|
controller,
|
|
@@ -4743,7 +4713,7 @@ var ScrollContainerRoot = /* @__PURE__ */ forwardRef28(({ children, pin, behavio
|
|
|
4743
4713
|
});
|
|
4744
4714
|
ScrollContainerRoot.displayName = "ScrollContainer.Root";
|
|
4745
4715
|
var ScrollContainerContent = composable(({ children, thin, padding, centered, ...props }, forwardedRef) => {
|
|
4746
|
-
return /* @__PURE__ */
|
|
4716
|
+
return /* @__PURE__ */ React43.createElement(ScrollArea.Root, {
|
|
4747
4717
|
...composableProps(props, {
|
|
4748
4718
|
classNames: "relative isolate"
|
|
4749
4719
|
}),
|
|
@@ -4756,7 +4726,7 @@ var ScrollContainerContent = composable(({ children, thin, padding, centered, ..
|
|
|
4756
4726
|
ScrollContainerContent.displayName = "ScrollContainer.Content";
|
|
4757
4727
|
var VIEWPORT_NAME = "ScrollContainer.Viewport";
|
|
4758
4728
|
var ScrollContainerViewport = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
4759
|
-
const scrollerRef =
|
|
4729
|
+
const scrollerRef = useRef8(null);
|
|
4760
4730
|
const mergedRef = useMergeRefs([
|
|
4761
4731
|
forwardedRef,
|
|
4762
4732
|
scrollerRef
|
|
@@ -4774,11 +4744,11 @@ var ScrollContainerViewport = slottable(({ children, asChild, ...props }, forwar
|
|
|
4774
4744
|
setPinned,
|
|
4775
4745
|
setOverflow
|
|
4776
4746
|
]);
|
|
4777
|
-
return /* @__PURE__ */
|
|
4747
|
+
return /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(ScrollArea.Viewport, {
|
|
4778
4748
|
asChild,
|
|
4779
4749
|
...composableProps(props),
|
|
4780
4750
|
ref: mergedRef
|
|
4781
|
-
}, children), /* @__PURE__ */
|
|
4751
|
+
}, children), /* @__PURE__ */ React43.createElement(ScrollContainerPinEffect, {
|
|
4782
4752
|
scrollerRef
|
|
4783
4753
|
}));
|
|
4784
4754
|
});
|
|
@@ -4823,9 +4793,9 @@ var ScrollContainerPinEffect = ({ scrollerRef }) => {
|
|
|
4823
4793
|
var FADE_NAME = "ScrollContainer.Fade";
|
|
4824
4794
|
function ScrollContainerFade() {
|
|
4825
4795
|
const { overflow } = useScrollContainerContext(FADE_NAME);
|
|
4826
|
-
return /* @__PURE__ */
|
|
4796
|
+
return /* @__PURE__ */ React43.createElement("div", {
|
|
4827
4797
|
"data-visible": overflow,
|
|
4828
|
-
className:
|
|
4798
|
+
className: mx12(
|
|
4829
4799
|
// NOTE: Gradients may not be visible with dark reader extensions.
|
|
4830
4800
|
"z-10 absolute top-0 inset-x-0 h-24 w-full",
|
|
4831
4801
|
'opacity-0 duration-200 transition-opacity data-[visible="true"]:opacity-100',
|
|
@@ -4837,9 +4807,9 @@ ScrollContainerFade.displayName = FADE_NAME;
|
|
|
4837
4807
|
var SCROLL_DOWN_BUTTON_NAME = "ScrollContainer.ScrollDownButton";
|
|
4838
4808
|
function ScrollContainerScrollDownButton({ classNames }) {
|
|
4839
4809
|
const { pinned, controller } = useScrollContainerContext(SCROLL_DOWN_BUTTON_NAME);
|
|
4840
|
-
return /* @__PURE__ */
|
|
4841
|
-
className:
|
|
4842
|
-
}, /* @__PURE__ */
|
|
4810
|
+
return /* @__PURE__ */ React43.createElement("div", {
|
|
4811
|
+
className: mx12("absolute bottom-2 right-4 opacity-100 transition-opacity duration-300", pinned && "opacity-0", classNames)
|
|
4812
|
+
}, /* @__PURE__ */ React43.createElement(IconButton, {
|
|
4843
4813
|
variant: "primary",
|
|
4844
4814
|
icon: "ph--arrow-down--regular",
|
|
4845
4815
|
iconOnly: true,
|
|
@@ -4859,35 +4829,35 @@ var ScrollContainer = {
|
|
|
4859
4829
|
|
|
4860
4830
|
// src/components/Select/Select.tsx
|
|
4861
4831
|
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
4862
|
-
import
|
|
4832
|
+
import React44, { forwardRef as forwardRef30 } from "react";
|
|
4863
4833
|
var SelectRoot = SelectPrimitive.Root;
|
|
4864
4834
|
var SelectTrigger = SelectPrimitive.Trigger;
|
|
4865
4835
|
var SelectValue = SelectPrimitive.Value;
|
|
4866
4836
|
var SelectIcon = SelectPrimitive.Icon;
|
|
4867
4837
|
var SelectPortal = SelectPrimitive.Portal;
|
|
4868
|
-
var SelectTriggerButton = /* @__PURE__ */
|
|
4838
|
+
var SelectTriggerButton = /* @__PURE__ */ forwardRef30(({ children, placeholder, classNames, ...props }, forwardedRef) => {
|
|
4869
4839
|
const { tx } = useThemeContext();
|
|
4870
|
-
return /* @__PURE__ */
|
|
4840
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.Trigger, {
|
|
4871
4841
|
asChild: true,
|
|
4872
4842
|
ref: forwardedRef
|
|
4873
|
-
}, /* @__PURE__ */
|
|
4843
|
+
}, /* @__PURE__ */ React44.createElement(Button, {
|
|
4874
4844
|
...props,
|
|
4875
4845
|
classNames: tx("select.triggerButton", {}, classNames)
|
|
4876
|
-
}, /* @__PURE__ */
|
|
4846
|
+
}, /* @__PURE__ */ React44.createElement(SelectPrimitive.Value, {
|
|
4877
4847
|
placeholder
|
|
4878
|
-
}, children), /* @__PURE__ */
|
|
4848
|
+
}, children), /* @__PURE__ */ React44.createElement(SelectPrimitive.Icon, {
|
|
4879
4849
|
asChild: true
|
|
4880
|
-
}, /* @__PURE__ */
|
|
4850
|
+
}, /* @__PURE__ */ React44.createElement(Icon, {
|
|
4881
4851
|
size: 3,
|
|
4882
4852
|
icon: "ph--caret-down--bold"
|
|
4883
4853
|
}))));
|
|
4884
4854
|
});
|
|
4885
4855
|
SelectTriggerButton.displayName = "Select.TriggerButton";
|
|
4886
|
-
var SelectContent = /* @__PURE__ */
|
|
4856
|
+
var SelectContent = /* @__PURE__ */ forwardRef30(({ classNames, children, collisionPadding = 8, ...props }, forwardedRef) => {
|
|
4887
4857
|
const { tx } = useThemeContext();
|
|
4888
4858
|
const elevation = useElevationContext();
|
|
4889
4859
|
const safeCollisionPadding = useSafeCollisionPadding(collisionPadding);
|
|
4890
|
-
return /* @__PURE__ */
|
|
4860
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.Content, {
|
|
4891
4861
|
...props,
|
|
4892
4862
|
"data-arrow-keys": "up down",
|
|
4893
4863
|
collisionPadding: safeCollisionPadding,
|
|
@@ -4899,42 +4869,42 @@ var SelectContent = /* @__PURE__ */ forwardRef29(({ classNames, children, collis
|
|
|
4899
4869
|
}, children);
|
|
4900
4870
|
});
|
|
4901
4871
|
SelectContent.displayName = "Select.Content";
|
|
4902
|
-
var SelectScrollUpButton2 = /* @__PURE__ */
|
|
4872
|
+
var SelectScrollUpButton2 = /* @__PURE__ */ forwardRef30(({ classNames, children, ...props }, forwardedRef) => {
|
|
4903
4873
|
const { tx } = useThemeContext();
|
|
4904
|
-
return /* @__PURE__ */
|
|
4874
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.SelectScrollUpButton, {
|
|
4905
4875
|
...props,
|
|
4906
4876
|
className: tx("select.scrollButton", {}, classNames),
|
|
4907
4877
|
ref: forwardedRef
|
|
4908
|
-
}, children ?? /* @__PURE__ */
|
|
4878
|
+
}, children ?? /* @__PURE__ */ React44.createElement(Icon, {
|
|
4909
4879
|
size: 3,
|
|
4910
4880
|
icon: "ph--caret-up--bold"
|
|
4911
4881
|
}));
|
|
4912
4882
|
});
|
|
4913
4883
|
SelectScrollUpButton2.displayName = "Select.ScrollUpButton";
|
|
4914
|
-
var SelectScrollDownButton2 = /* @__PURE__ */
|
|
4884
|
+
var SelectScrollDownButton2 = /* @__PURE__ */ forwardRef30(({ classNames, children, ...props }, forwardedRef) => {
|
|
4915
4885
|
const { tx } = useThemeContext();
|
|
4916
|
-
return /* @__PURE__ */
|
|
4886
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.SelectScrollDownButton, {
|
|
4917
4887
|
...props,
|
|
4918
4888
|
className: tx("select.scrollButton", {}, classNames),
|
|
4919
4889
|
ref: forwardedRef
|
|
4920
|
-
}, children ?? /* @__PURE__ */
|
|
4890
|
+
}, children ?? /* @__PURE__ */ React44.createElement(Icon, {
|
|
4921
4891
|
size: 3,
|
|
4922
4892
|
icon: "ph--caret-down--bold"
|
|
4923
4893
|
}));
|
|
4924
4894
|
});
|
|
4925
4895
|
SelectScrollDownButton2.displayName = "Select.ScrollDownButton";
|
|
4926
|
-
var SelectViewport2 = /* @__PURE__ */
|
|
4896
|
+
var SelectViewport2 = /* @__PURE__ */ forwardRef30(({ classNames, children, ...props }, forwardedRef) => {
|
|
4927
4897
|
const { tx } = useThemeContext();
|
|
4928
|
-
return /* @__PURE__ */
|
|
4898
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.SelectViewport, {
|
|
4929
4899
|
...props,
|
|
4930
4900
|
className: tx("select.viewport", {}, classNames),
|
|
4931
4901
|
ref: forwardedRef
|
|
4932
4902
|
}, children);
|
|
4933
4903
|
});
|
|
4934
4904
|
SelectViewport2.displayName = "Select.Viewport";
|
|
4935
|
-
var SelectItem = /* @__PURE__ */
|
|
4905
|
+
var SelectItem = /* @__PURE__ */ forwardRef30(({ classNames, ...props }, forwardedRef) => {
|
|
4936
4906
|
const { tx } = useThemeContext();
|
|
4937
|
-
return /* @__PURE__ */
|
|
4907
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.Item, {
|
|
4938
4908
|
...props,
|
|
4939
4909
|
className: tx("select.item", {}, classNames),
|
|
4940
4910
|
ref: forwardedRef
|
|
@@ -4942,24 +4912,24 @@ var SelectItem = /* @__PURE__ */ forwardRef29(({ classNames, ...props }, forward
|
|
|
4942
4912
|
});
|
|
4943
4913
|
SelectItem.displayName = "Select.Item";
|
|
4944
4914
|
var SelectItemText = SelectPrimitive.ItemText;
|
|
4945
|
-
var SelectItemIndicator = /* @__PURE__ */
|
|
4915
|
+
var SelectItemIndicator = /* @__PURE__ */ forwardRef30(({ classNames, children, ...props }, forwardedRef) => {
|
|
4946
4916
|
const { tx } = useThemeContext();
|
|
4947
|
-
return /* @__PURE__ */
|
|
4917
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.ItemIndicator, {
|
|
4948
4918
|
...props,
|
|
4949
4919
|
className: tx("select.itemIndicator", {}, classNames),
|
|
4950
4920
|
ref: forwardedRef
|
|
4951
4921
|
}, children);
|
|
4952
4922
|
});
|
|
4953
4923
|
SelectItemIndicator.displayName = "Select.ItemIndicator";
|
|
4954
|
-
var SelectOption = /* @__PURE__ */
|
|
4924
|
+
var SelectOption = /* @__PURE__ */ forwardRef30(({ children, classNames, ...props }, forwardedRef) => {
|
|
4955
4925
|
const { tx } = useThemeContext();
|
|
4956
|
-
return /* @__PURE__ */
|
|
4926
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.Item, {
|
|
4957
4927
|
...props,
|
|
4958
4928
|
className: tx("select.item", {}, classNames),
|
|
4959
4929
|
ref: forwardedRef
|
|
4960
|
-
}, /* @__PURE__ */
|
|
4930
|
+
}, /* @__PURE__ */ React44.createElement(SelectPrimitive.ItemText, null, children), /* @__PURE__ */ React44.createElement("span", {
|
|
4961
4931
|
className: "grow"
|
|
4962
|
-
}), /* @__PURE__ */
|
|
4932
|
+
}), /* @__PURE__ */ React44.createElement(Icon, {
|
|
4963
4933
|
size: 3,
|
|
4964
4934
|
icon: "ph--check--regular"
|
|
4965
4935
|
}));
|
|
@@ -4967,18 +4937,18 @@ var SelectOption = /* @__PURE__ */ forwardRef29(({ children, classNames, ...prop
|
|
|
4967
4937
|
SelectOption.displayName = "Select.Option";
|
|
4968
4938
|
var SelectGroup = SelectPrimitive.Group;
|
|
4969
4939
|
var SelectLabel = SelectPrimitive.Label;
|
|
4970
|
-
var SelectSeparator = /* @__PURE__ */
|
|
4940
|
+
var SelectSeparator = /* @__PURE__ */ forwardRef30(({ classNames, ...props }, forwardedRef) => {
|
|
4971
4941
|
const { tx } = useThemeContext();
|
|
4972
|
-
return /* @__PURE__ */
|
|
4942
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.Separator, {
|
|
4973
4943
|
...props,
|
|
4974
4944
|
className: tx("select.separator", {}, classNames),
|
|
4975
4945
|
ref: forwardedRef
|
|
4976
4946
|
});
|
|
4977
4947
|
});
|
|
4978
4948
|
SelectSeparator.displayName = "Select.Separator";
|
|
4979
|
-
var SelectArrow = /* @__PURE__ */
|
|
4949
|
+
var SelectArrow = /* @__PURE__ */ forwardRef30(({ classNames, ...props }, forwardedRef) => {
|
|
4980
4950
|
const { tx } = useThemeContext();
|
|
4981
|
-
return /* @__PURE__ */
|
|
4951
|
+
return /* @__PURE__ */ React44.createElement(SelectPrimitive.Arrow, {
|
|
4982
4952
|
...props,
|
|
4983
4953
|
className: tx("select.arrow", {}, classNames),
|
|
4984
4954
|
ref: forwardedRef
|
|
@@ -5006,11 +4976,27 @@ var Select = {
|
|
|
5006
4976
|
Arrow: SelectArrow
|
|
5007
4977
|
};
|
|
5008
4978
|
|
|
4979
|
+
// src/components/Separator/Separator.tsx
|
|
4980
|
+
import * as SeparatorPrimitive from "@radix-ui/react-separator";
|
|
4981
|
+
import React45, { forwardRef as forwardRef31 } from "react";
|
|
4982
|
+
var Separator4 = /* @__PURE__ */ forwardRef31(({ classNames, orientation = "horizontal", subdued, ...props }, forwardedRef) => {
|
|
4983
|
+
const { tx } = useThemeContext();
|
|
4984
|
+
return /* @__PURE__ */ React45.createElement(SeparatorPrimitive.Root, {
|
|
4985
|
+
...props,
|
|
4986
|
+
orientation,
|
|
4987
|
+
className: tx("separator.root", {
|
|
4988
|
+
orientation,
|
|
4989
|
+
subdued
|
|
4990
|
+
}, classNames),
|
|
4991
|
+
ref: forwardedRef
|
|
4992
|
+
});
|
|
4993
|
+
});
|
|
4994
|
+
|
|
5009
4995
|
// src/components/Skeleton/Skeleton.tsx
|
|
5010
|
-
import
|
|
5011
|
-
var Skeleton = /* @__PURE__ */
|
|
4996
|
+
import React46, { forwardRef as forwardRef32 } from "react";
|
|
4997
|
+
var Skeleton = /* @__PURE__ */ forwardRef32(({ classNames, variant = "default", ...props }, forwardedRef) => {
|
|
5012
4998
|
const { tx } = useThemeContext();
|
|
5013
|
-
return /* @__PURE__ */
|
|
4999
|
+
return /* @__PURE__ */ React46.createElement("div", {
|
|
5014
5000
|
...props,
|
|
5015
5001
|
className: tx("skeleton.root", {
|
|
5016
5002
|
variant
|
|
@@ -5021,9 +5007,9 @@ var Skeleton = /* @__PURE__ */ forwardRef30(({ classNames, variant = "default",
|
|
|
5021
5007
|
|
|
5022
5008
|
// src/components/Splitter/Splitter.tsx
|
|
5023
5009
|
import { createContextScope as createContextScope4 } from "@radix-ui/react-context";
|
|
5024
|
-
import { Primitive as
|
|
5025
|
-
import { Slot as
|
|
5026
|
-
import
|
|
5010
|
+
import { Primitive as Primitive20 } from "@radix-ui/react-primitive";
|
|
5011
|
+
import { Slot as Slot20 } from "@radix-ui/react-slot";
|
|
5012
|
+
import React47 from "react";
|
|
5027
5013
|
var SPLITTER_NAME = "Splitter";
|
|
5028
5014
|
var [createSplitterContext, createSplitterScope] = createContextScope4(SPLITTER_NAME);
|
|
5029
5015
|
var [SplitterProvider, useSplitterContext] = createSplitterContext(SPLITTER_NAME);
|
|
@@ -5032,13 +5018,13 @@ var SplitterRoot = slottable(({ asChild, mode = "top", ratio = 0.5, transition =
|
|
|
5032
5018
|
const { tx } = useThemeContext();
|
|
5033
5019
|
const { __scopeSplitter, ...rest } = props;
|
|
5034
5020
|
const { className, ...restProps } = composableProps(rest);
|
|
5035
|
-
const Comp = asChild ?
|
|
5036
|
-
return /* @__PURE__ */
|
|
5021
|
+
const Comp = asChild ? Slot20 : Primitive20.div;
|
|
5022
|
+
return /* @__PURE__ */ React47.createElement(SplitterProvider, {
|
|
5037
5023
|
scope: __scopeSplitter,
|
|
5038
5024
|
mode,
|
|
5039
5025
|
ratio,
|
|
5040
5026
|
transition
|
|
5041
|
-
}, /* @__PURE__ */
|
|
5027
|
+
}, /* @__PURE__ */ React47.createElement(Comp, {
|
|
5042
5028
|
...restProps,
|
|
5043
5029
|
ref: forwardedRef,
|
|
5044
5030
|
className: tx("splitter.root", {}, className)
|
|
@@ -5049,13 +5035,13 @@ var PANEL_NAME = "Splitter.Panel";
|
|
|
5049
5035
|
var SplitterPanel = slottable(({ classNames, asChild, children, position, style, ...props }, forwardedRef) => {
|
|
5050
5036
|
const { tx } = useThemeContext();
|
|
5051
5037
|
const { __scopeSplitter, ...rest } = props;
|
|
5052
|
-
const Comp = asChild ?
|
|
5038
|
+
const Comp = asChild ? Slot20 : Primitive20.div;
|
|
5053
5039
|
const { mode, ratio = 0.5, transition } = useSplitterContext(PANEL_NAME, __scopeSplitter);
|
|
5054
5040
|
const { className, ...restProps } = composableProps(rest);
|
|
5055
5041
|
const isTopPanel = position === "top";
|
|
5056
5042
|
const topOffset = isTopPanel ? "0%" : mode === "top" ? "100%" : mode === "bottom" ? "0%" : `${ratio * 100}%`;
|
|
5057
5043
|
const height = isTopPanel ? mode === "top" ? "100%" : mode === "bottom" ? "0%" : `${ratio * 100}%` : mode === "bottom" ? "100%" : mode === "top" ? "0%" : `${(1 - ratio) * 100}%`;
|
|
5058
|
-
return /* @__PURE__ */
|
|
5044
|
+
return /* @__PURE__ */ React47.createElement(Comp, {
|
|
5059
5045
|
...restProps,
|
|
5060
5046
|
ref: forwardedRef,
|
|
5061
5047
|
className: tx("splitter.panel", {}, className),
|
|
@@ -5074,10 +5060,10 @@ var Splitter = {
|
|
|
5074
5060
|
};
|
|
5075
5061
|
|
|
5076
5062
|
// src/components/Status/Status.tsx
|
|
5077
|
-
import
|
|
5078
|
-
var Status = /* @__PURE__ */
|
|
5063
|
+
import React48, { forwardRef as forwardRef33 } from "react";
|
|
5064
|
+
var Status = /* @__PURE__ */ forwardRef33(({ classNames, children, progress = 0, indeterminate, variant, ...props }, forwardedRef) => {
|
|
5079
5065
|
const { tx } = useThemeContext();
|
|
5080
|
-
return /* @__PURE__ */
|
|
5066
|
+
return /* @__PURE__ */ React48.createElement("span", {
|
|
5081
5067
|
role: "status",
|
|
5082
5068
|
...props,
|
|
5083
5069
|
className: tx("status.root", {
|
|
@@ -5085,7 +5071,7 @@ var Status = /* @__PURE__ */ forwardRef31(({ classNames, children, progress = 0,
|
|
|
5085
5071
|
variant
|
|
5086
5072
|
}, classNames),
|
|
5087
5073
|
ref: forwardedRef
|
|
5088
|
-
}, /* @__PURE__ */
|
|
5074
|
+
}, /* @__PURE__ */ React48.createElement("span", {
|
|
5089
5075
|
role: "none",
|
|
5090
5076
|
className: tx("status.bar", {
|
|
5091
5077
|
indeterminate,
|
|
@@ -5100,13 +5086,13 @@ var Status = /* @__PURE__ */ forwardRef31(({ classNames, children, progress = 0,
|
|
|
5100
5086
|
});
|
|
5101
5087
|
|
|
5102
5088
|
// src/components/Tag/Tag.tsx
|
|
5103
|
-
import { Primitive as
|
|
5104
|
-
import { Slot as
|
|
5105
|
-
import
|
|
5106
|
-
var Tag = /* @__PURE__ */
|
|
5089
|
+
import { Primitive as Primitive21 } from "@radix-ui/react-primitive";
|
|
5090
|
+
import { Slot as Slot21 } from "@radix-ui/react-slot";
|
|
5091
|
+
import React49, { forwardRef as forwardRef34 } from "react";
|
|
5092
|
+
var Tag = /* @__PURE__ */ forwardRef34(({ asChild, palette = "neutral", classNames, ...props }, forwardedRef) => {
|
|
5107
5093
|
const { tx } = useThemeContext();
|
|
5108
|
-
const Comp = asChild ?
|
|
5109
|
-
return /* @__PURE__ */
|
|
5094
|
+
const Comp = asChild ? Slot21 : Primitive21.span;
|
|
5095
|
+
return /* @__PURE__ */ React49.createElement(Comp, {
|
|
5110
5096
|
...props,
|
|
5111
5097
|
className: tx("tag.root", {
|
|
5112
5098
|
palette
|
|
@@ -5118,72 +5104,71 @@ var Tag = /* @__PURE__ */ forwardRef32(({ asChild, palette = "neutral", classNam
|
|
|
5118
5104
|
|
|
5119
5105
|
// src/components/Toast/Toast.tsx
|
|
5120
5106
|
import * as ToastPrimitive from "@radix-ui/react-toast";
|
|
5121
|
-
import
|
|
5122
|
-
import { useTranslation as
|
|
5123
|
-
import { translationKey as
|
|
5107
|
+
import React50, { forwardRef as forwardRef35 } from "react";
|
|
5108
|
+
import { useTranslation as useTranslation7 } from "react-i18next";
|
|
5109
|
+
import { translationKey as translationKey7 } from "#translations";
|
|
5124
5110
|
var ToastProvider = ToastPrimitive.Provider;
|
|
5125
|
-
var ToastViewport = /* @__PURE__ */
|
|
5111
|
+
var ToastViewport = /* @__PURE__ */ forwardRef35(({ classNames, ...props }, forwardedRef) => {
|
|
5126
5112
|
const { tx } = useThemeContext();
|
|
5127
|
-
return /* @__PURE__ */
|
|
5113
|
+
return /* @__PURE__ */ React50.createElement(ToastPrimitive.Viewport, {
|
|
5128
5114
|
...props,
|
|
5129
5115
|
className: tx("toast.viewport", {}, classNames),
|
|
5130
5116
|
ref: forwardedRef
|
|
5131
5117
|
});
|
|
5132
5118
|
});
|
|
5133
5119
|
ToastViewport.displayName = "Toast.Viewport";
|
|
5134
|
-
var ToastRoot = /* @__PURE__ */
|
|
5120
|
+
var ToastRoot = /* @__PURE__ */ forwardRef35(({ classNames, children, ...props }, forwardedRef) => {
|
|
5135
5121
|
const { tx } = useThemeContext();
|
|
5136
|
-
return /* @__PURE__ */
|
|
5122
|
+
return /* @__PURE__ */ React50.createElement(ToastPrimitive.Root, {
|
|
5137
5123
|
...props,
|
|
5138
5124
|
className: tx("toast.root", {}, classNames),
|
|
5139
5125
|
ref: forwardedRef
|
|
5140
|
-
}, /* @__PURE__ */
|
|
5126
|
+
}, /* @__PURE__ */ React50.createElement(ElevationProvider, {
|
|
5141
5127
|
elevation: "toast"
|
|
5142
|
-
}, /* @__PURE__ */
|
|
5128
|
+
}, /* @__PURE__ */ React50.createElement(Column.Root, {
|
|
5143
5129
|
classNames: tx("toast.grid", {})
|
|
5144
5130
|
}, children)));
|
|
5145
5131
|
});
|
|
5146
5132
|
ToastRoot.displayName = "Toast.Root";
|
|
5147
|
-
var ToastTitle = /* @__PURE__ */
|
|
5148
|
-
const { t } =
|
|
5133
|
+
var ToastTitle = /* @__PURE__ */ forwardRef35(({ classNames, children, icon, onClose, ...props }, forwardedRef) => {
|
|
5134
|
+
const { t } = useTranslation7(translationKey7);
|
|
5149
5135
|
const { tx } = useThemeContext();
|
|
5150
|
-
return /* @__PURE__ */
|
|
5136
|
+
return /* @__PURE__ */ React50.createElement(Column.Row, {
|
|
5151
5137
|
classNames: tx("toast.header", {})
|
|
5152
|
-
}, icon && /* @__PURE__ */
|
|
5153
|
-
className: tx("toast.icon", {})
|
|
5154
|
-
}, /* @__PURE__ */ React48.createElement(Icon, {
|
|
5138
|
+
}, icon && /* @__PURE__ */ React50.createElement(Column.Block, null, /* @__PURE__ */ React50.createElement(Icon, {
|
|
5155
5139
|
icon,
|
|
5156
5140
|
size: 5
|
|
5157
|
-
})), /* @__PURE__ */
|
|
5141
|
+
})), /* @__PURE__ */ React50.createElement(ToastPrimitive.Title, {
|
|
5158
5142
|
...props,
|
|
5159
5143
|
className: tx("toast.title", {}, classNames),
|
|
5160
5144
|
ref: forwardedRef
|
|
5161
|
-
}, children), onClose && /* @__PURE__ */
|
|
5145
|
+
}, children), onClose && /* @__PURE__ */ React50.createElement(Column.Block, {
|
|
5146
|
+
end: true
|
|
5147
|
+
}, /* @__PURE__ */ React50.createElement(IconButton, {
|
|
5162
5148
|
variant: "ghost",
|
|
5163
5149
|
icon: "ph--x--regular",
|
|
5164
5150
|
iconOnly: true,
|
|
5165
5151
|
label: t("toolbar-close.label"),
|
|
5166
|
-
classNames: tx("toast.close", {}),
|
|
5167
5152
|
onClick: onClose
|
|
5168
|
-
}));
|
|
5153
|
+
})));
|
|
5169
5154
|
});
|
|
5170
5155
|
ToastTitle.displayName = "Toast.Title";
|
|
5171
|
-
var ToastDescription = /* @__PURE__ */
|
|
5156
|
+
var ToastDescription = /* @__PURE__ */ forwardRef35(({ classNames, children, ...props }, forwardedRef) => {
|
|
5172
5157
|
const { tx } = useThemeContext();
|
|
5173
|
-
return /* @__PURE__ */
|
|
5158
|
+
return /* @__PURE__ */ React50.createElement(ToastPrimitive.Description, {
|
|
5174
5159
|
...props,
|
|
5175
5160
|
className: tx("toast.description", {}, classNames),
|
|
5176
5161
|
ref: forwardedRef
|
|
5177
5162
|
}, children);
|
|
5178
5163
|
});
|
|
5179
5164
|
ToastDescription.displayName = "Toast.Description";
|
|
5180
|
-
var ToastActions = /* @__PURE__ */
|
|
5165
|
+
var ToastActions = /* @__PURE__ */ forwardRef35(({ classNames, children, ...props }, forwardedRef) => {
|
|
5181
5166
|
const { tx } = useThemeContext();
|
|
5182
|
-
return /* @__PURE__ */
|
|
5167
|
+
return /* @__PURE__ */ React50.createElement(Column.Center, {
|
|
5183
5168
|
classNames: tx("toast.actions", {}, classNames),
|
|
5184
5169
|
ref: forwardedRef,
|
|
5185
5170
|
...props
|
|
5186
|
-
}, /* @__PURE__ */
|
|
5171
|
+
}, /* @__PURE__ */ React50.createElement(DensityProvider, {
|
|
5187
5172
|
density: "sm"
|
|
5188
5173
|
}, children));
|
|
5189
5174
|
});
|
|
@@ -5200,6 +5185,204 @@ var Toast = {
|
|
|
5200
5185
|
Action: ToastAction,
|
|
5201
5186
|
Close: ToastClose
|
|
5202
5187
|
};
|
|
5188
|
+
|
|
5189
|
+
// src/components/Toolbar/Toolbar.tsx
|
|
5190
|
+
import { Primitive as Primitive22 } from "@radix-ui/react-primitive";
|
|
5191
|
+
import { Slot as Slot22 } from "@radix-ui/react-slot";
|
|
5192
|
+
import * as ToolbarPrimitive from "@radix-ui/react-toolbar";
|
|
5193
|
+
import React51, { forwardRef as forwardRef36 } from "react";
|
|
5194
|
+
import { useTranslation as useTranslation8 } from "react-i18next";
|
|
5195
|
+
import { translationKey as translationKey8 } from "#translations";
|
|
5196
|
+
var ToolbarRoot = composable(({ children, density, disabled, layoutManaged, orientation, ...props }, forwardedRef) => {
|
|
5197
|
+
const { className, role, ...rest } = composableProps(props);
|
|
5198
|
+
const { tx } = useThemeContext();
|
|
5199
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Root, {
|
|
5200
|
+
...rest,
|
|
5201
|
+
...role !== "none" && {
|
|
5202
|
+
role
|
|
5203
|
+
},
|
|
5204
|
+
orientation,
|
|
5205
|
+
"data-arrow-keys": orientation === "vertical" ? "up down" : "left right",
|
|
5206
|
+
className: tx("toolbar.root", {
|
|
5207
|
+
density,
|
|
5208
|
+
disabled,
|
|
5209
|
+
layoutManaged
|
|
5210
|
+
}, className),
|
|
5211
|
+
ref: forwardedRef
|
|
5212
|
+
}, children);
|
|
5213
|
+
});
|
|
5214
|
+
ToolbarRoot.displayName = "Toolbar.Root";
|
|
5215
|
+
var ToolbarText = slottable(({ children, asChild, ...props }, forwardedRef) => {
|
|
5216
|
+
const { className, ...rest } = composableProps(props);
|
|
5217
|
+
const Comp = asChild ? Slot22 : Primitive22.div;
|
|
5218
|
+
const { tx } = useThemeContext();
|
|
5219
|
+
return /* @__PURE__ */ React51.createElement(Comp, {
|
|
5220
|
+
...rest,
|
|
5221
|
+
className: tx("toolbar.text", {}, className),
|
|
5222
|
+
ref: forwardedRef
|
|
5223
|
+
}, children);
|
|
5224
|
+
});
|
|
5225
|
+
ToolbarText.displayName = "Toolbar.Text";
|
|
5226
|
+
var ToolbarButton = /* @__PURE__ */ forwardRef36((props, forwardedRef) => {
|
|
5227
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Button, {
|
|
5228
|
+
asChild: true
|
|
5229
|
+
}, /* @__PURE__ */ React51.createElement(Button, {
|
|
5230
|
+
...props,
|
|
5231
|
+
ref: forwardedRef
|
|
5232
|
+
}));
|
|
5233
|
+
});
|
|
5234
|
+
ToolbarButton.displayName = "Toolbar.Button";
|
|
5235
|
+
var ToolbarIconButton = /* @__PURE__ */ forwardRef36((props, forwardedRef) => {
|
|
5236
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Button, {
|
|
5237
|
+
asChild: true
|
|
5238
|
+
}, /* @__PURE__ */ React51.createElement(IconButton, {
|
|
5239
|
+
...props,
|
|
5240
|
+
ref: forwardedRef
|
|
5241
|
+
}));
|
|
5242
|
+
});
|
|
5243
|
+
ToolbarIconButton.displayName = "Toolbar.IconButton";
|
|
5244
|
+
var ToolbarToggle = /* @__PURE__ */ forwardRef36((props, forwardedRef) => {
|
|
5245
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Button, {
|
|
5246
|
+
asChild: true
|
|
5247
|
+
}, /* @__PURE__ */ React51.createElement(Toggle, {
|
|
5248
|
+
...props,
|
|
5249
|
+
ref: forwardedRef
|
|
5250
|
+
}));
|
|
5251
|
+
});
|
|
5252
|
+
ToolbarToggle.displayName = "Toolbar.Toggle";
|
|
5253
|
+
var ToolbarLink = /* @__PURE__ */ forwardRef36((props, forwardedRef) => {
|
|
5254
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Link, {
|
|
5255
|
+
asChild: true
|
|
5256
|
+
}, /* @__PURE__ */ React51.createElement(Link, {
|
|
5257
|
+
...props,
|
|
5258
|
+
ref: forwardedRef
|
|
5259
|
+
}));
|
|
5260
|
+
});
|
|
5261
|
+
ToolbarLink.displayName = "Toolbar.Link";
|
|
5262
|
+
var ToolbarToggleGroup2 = /* @__PURE__ */ forwardRef36(({ classNames, children, elevation, ...props }, forwardedRef) => {
|
|
5263
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.ToolbarToggleGroup, {
|
|
5264
|
+
...props,
|
|
5265
|
+
asChild: true
|
|
5266
|
+
}, /* @__PURE__ */ React51.createElement(ButtonGroup, {
|
|
5267
|
+
classNames,
|
|
5268
|
+
children,
|
|
5269
|
+
elevation,
|
|
5270
|
+
ref: forwardedRef
|
|
5271
|
+
}));
|
|
5272
|
+
});
|
|
5273
|
+
ToolbarToggleGroup2.displayName = "Toolbar.ToggleGroup";
|
|
5274
|
+
var ToolbarToggleGroupItem = /* @__PURE__ */ forwardRef36(({ variant, density, elevation, classNames, children, ...props }, forwardedRef) => {
|
|
5275
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.ToolbarToggleItem, {
|
|
5276
|
+
...props,
|
|
5277
|
+
asChild: true
|
|
5278
|
+
}, /* @__PURE__ */ React51.createElement(Button, {
|
|
5279
|
+
variant,
|
|
5280
|
+
density,
|
|
5281
|
+
elevation,
|
|
5282
|
+
classNames,
|
|
5283
|
+
children,
|
|
5284
|
+
ref: forwardedRef
|
|
5285
|
+
}));
|
|
5286
|
+
});
|
|
5287
|
+
ToolbarToggleGroupItem.displayName = "Toolbar.ToggleGroupItem";
|
|
5288
|
+
var ToolbarToggleGroupIconItem = /* @__PURE__ */ forwardRef36(({ variant, density, elevation, classNames, icon, label, iconOnly, iconClassNames, ...props }, forwardedRef) => {
|
|
5289
|
+
return /* @__PURE__ */ React51.createElement(ToolbarPrimitive.ToolbarToggleItem, {
|
|
5290
|
+
...props,
|
|
5291
|
+
asChild: true
|
|
5292
|
+
}, /* @__PURE__ */ React51.createElement(IconButton, {
|
|
5293
|
+
variant,
|
|
5294
|
+
density,
|
|
5295
|
+
elevation,
|
|
5296
|
+
classNames,
|
|
5297
|
+
icon,
|
|
5298
|
+
label,
|
|
5299
|
+
iconOnly,
|
|
5300
|
+
iconClassNames,
|
|
5301
|
+
ref: forwardedRef
|
|
5302
|
+
}));
|
|
5303
|
+
});
|
|
5304
|
+
ToolbarToggleGroupIconItem.displayName = "Toolbar.ToggleGroupIconItem";
|
|
5305
|
+
var ToolbarSeparator = /* @__PURE__ */ forwardRef36(({ variant = "gap", ...props }, forwardedRef) => {
|
|
5306
|
+
return variant === "line" ? /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Separator, {
|
|
5307
|
+
asChild: true
|
|
5308
|
+
}, /* @__PURE__ */ React51.createElement(Separator4, {
|
|
5309
|
+
orientation: "vertical",
|
|
5310
|
+
...props,
|
|
5311
|
+
ref: forwardedRef
|
|
5312
|
+
})) : /* @__PURE__ */ React51.createElement(ToolbarPrimitive.Separator, {
|
|
5313
|
+
className: "grow",
|
|
5314
|
+
ref: forwardedRef
|
|
5315
|
+
});
|
|
5316
|
+
});
|
|
5317
|
+
ToolbarSeparator.displayName = "Toolbar.Separator";
|
|
5318
|
+
var ToolbarDragHandle = /* @__PURE__ */ forwardRef36(({ testId = "drag-handle", label }, forwardedRef) => {
|
|
5319
|
+
const { t } = useTranslation8(translationKey8);
|
|
5320
|
+
return /* @__PURE__ */ React51.createElement(ToolbarIconButton, {
|
|
5321
|
+
"data-testid": testId,
|
|
5322
|
+
tabIndex: -1,
|
|
5323
|
+
noTooltip: true,
|
|
5324
|
+
iconOnly: true,
|
|
5325
|
+
icon: "ph--dots-six-vertical--regular",
|
|
5326
|
+
variant: "ghost",
|
|
5327
|
+
label: label ?? t("toolbar-drag-handle.label"),
|
|
5328
|
+
classNames: "dx-focus-ring-none cursor-pointer",
|
|
5329
|
+
disabled: !forwardedRef,
|
|
5330
|
+
ref: forwardedRef
|
|
5331
|
+
});
|
|
5332
|
+
});
|
|
5333
|
+
ToolbarDragHandle.displayName = "Toolbar.DragHandle";
|
|
5334
|
+
var TOOLBAR_ACTION_ICONS = {
|
|
5335
|
+
close: "ph--x--regular",
|
|
5336
|
+
delete: "ph--trash--regular"
|
|
5337
|
+
};
|
|
5338
|
+
var TOOLBAR_ACTION_LABEL_KEYS = {
|
|
5339
|
+
close: "toolbar-close.label",
|
|
5340
|
+
delete: "toolbar-delete.label"
|
|
5341
|
+
};
|
|
5342
|
+
var ToolbarActionIconButton = /* @__PURE__ */ forwardRef36(({ action, onClick, label }, forwardedRef) => {
|
|
5343
|
+
const { t } = useTranslation8(translationKey8);
|
|
5344
|
+
return /* @__PURE__ */ React51.createElement(ToolbarIconButton, {
|
|
5345
|
+
iconOnly: true,
|
|
5346
|
+
icon: TOOLBAR_ACTION_ICONS[action],
|
|
5347
|
+
variant: "ghost",
|
|
5348
|
+
label: label ?? t(TOOLBAR_ACTION_LABEL_KEYS[action]),
|
|
5349
|
+
classNames: "cursor-pointer",
|
|
5350
|
+
onClick,
|
|
5351
|
+
ref: forwardedRef
|
|
5352
|
+
});
|
|
5353
|
+
});
|
|
5354
|
+
ToolbarActionIconButton.displayName = "Toolbar.ActionIconButton";
|
|
5355
|
+
function ToolbarMenu({ context, items }) {
|
|
5356
|
+
const { t } = useTranslation8(translationKey8);
|
|
5357
|
+
return /* @__PURE__ */ React51.createElement(DropdownMenu.Root, null, /* @__PURE__ */ React51.createElement(DropdownMenu.Trigger, {
|
|
5358
|
+
disabled: !items?.length,
|
|
5359
|
+
asChild: true
|
|
5360
|
+
}, /* @__PURE__ */ React51.createElement(ToolbarIconButton, {
|
|
5361
|
+
iconOnly: true,
|
|
5362
|
+
variant: "ghost",
|
|
5363
|
+
icon: "ph--dots-three-vertical--regular",
|
|
5364
|
+
label: t("toolbar-menu.label")
|
|
5365
|
+
})), (items?.length ?? 0) > 0 && /* @__PURE__ */ React51.createElement(DropdownMenu.Portal, null, /* @__PURE__ */ React51.createElement(DropdownMenu.Content, null, /* @__PURE__ */ React51.createElement(DropdownMenu.Viewport, null, items?.map(({ label, onClick: onSelect }, index) => /* @__PURE__ */ React51.createElement(DropdownMenu.Item, {
|
|
5366
|
+
key: index,
|
|
5367
|
+
onSelect: () => onSelect(context)
|
|
5368
|
+
}, label))), /* @__PURE__ */ React51.createElement(DropdownMenu.Arrow, null))));
|
|
5369
|
+
}
|
|
5370
|
+
ToolbarMenu.displayName = "Toolbar.Menu";
|
|
5371
|
+
var Toolbar = {
|
|
5372
|
+
Root: ToolbarRoot,
|
|
5373
|
+
Text: ToolbarText,
|
|
5374
|
+
Button: ToolbarButton,
|
|
5375
|
+
IconButton: ToolbarIconButton,
|
|
5376
|
+
Link: ToolbarLink,
|
|
5377
|
+
Toggle: ToolbarToggle,
|
|
5378
|
+
ToggleGroup: ToolbarToggleGroup2,
|
|
5379
|
+
ToggleGroupItem: ToolbarToggleGroupItem,
|
|
5380
|
+
ToggleGroupIconItem: ToolbarToggleGroupIconItem,
|
|
5381
|
+
Separator: ToolbarSeparator,
|
|
5382
|
+
DragHandle: ToolbarDragHandle,
|
|
5383
|
+
ActionIconButton: ToolbarActionIconButton,
|
|
5384
|
+
Menu: ToolbarMenu
|
|
5385
|
+
};
|
|
5203
5386
|
export {
|
|
5204
5387
|
AlertDialog,
|
|
5205
5388
|
Avatar,
|
|
@@ -5249,13 +5432,15 @@ export {
|
|
|
5249
5432
|
SegmentedDateTime,
|
|
5250
5433
|
SegmentedTime,
|
|
5251
5434
|
Select,
|
|
5252
|
-
|
|
5435
|
+
Separator4 as Separator,
|
|
5253
5436
|
Skeleton,
|
|
5254
5437
|
Splitter,
|
|
5255
5438
|
Status,
|
|
5439
|
+
SystemIconButton,
|
|
5256
5440
|
TREEGRID_PARENT_OF_SEPARATOR,
|
|
5257
5441
|
TREEGRID_PATH_SEPARATOR,
|
|
5258
5442
|
Tag,
|
|
5443
|
+
TextTooltip,
|
|
5259
5444
|
ThemeContext,
|
|
5260
5445
|
ThemeProvider,
|
|
5261
5446
|
ThrowError,
|
|
@@ -5264,6 +5449,7 @@ export {
|
|
|
5264
5449
|
ToggleGroup,
|
|
5265
5450
|
ToggleGroupIconItem,
|
|
5266
5451
|
ToggleGroupItem,
|
|
5452
|
+
ToggleIconButton,
|
|
5267
5453
|
Toolbar,
|
|
5268
5454
|
Tooltip,
|
|
5269
5455
|
Trans,
|