@noya-app/noya-designsystem 0.1.58 → 0.1.60
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/.turbo/turbo-build.log +8 -8
- package/CHANGELOG.md +12 -0
- package/dist/index.js +1003 -1002
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +645 -644
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -219,7 +219,8 @@ import { useEffect as useEffect2, useState as useState5 } from "react";
|
|
|
219
219
|
import { useEffect as useEffect3, useRef as useRef4 } from "react";
|
|
220
220
|
|
|
221
221
|
// ../noya-react-utils/src/hooks/useIsomorphicLayoutEffect.ts
|
|
222
|
-
import
|
|
222
|
+
import * as React5 from "react";
|
|
223
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? React5.useLayoutEffect : React5.useEffect;
|
|
223
224
|
|
|
224
225
|
// ../noya-react-utils/src/hooks/useLateReference.ts
|
|
225
226
|
import { useCallback as useCallback5, useLayoutEffect as useLayoutEffect2, useRef as useRef5 } from "react";
|
|
@@ -296,12 +297,12 @@ import { isShallowEqual } from "@noya-app/noya-utils";
|
|
|
296
297
|
import { useRef as useRef7 } from "react";
|
|
297
298
|
|
|
298
299
|
// ../noya-react-utils/src/hooks/useStableCallback.ts
|
|
299
|
-
import { useCallback as useCallback9,
|
|
300
|
+
import { useCallback as useCallback9, useRef as useRef8 } from "react";
|
|
300
301
|
var noop2 = () => {
|
|
301
302
|
};
|
|
302
303
|
function useStableCallback(callback) {
|
|
303
304
|
const callbackRef = useRef8(callback || noop2);
|
|
304
|
-
|
|
305
|
+
useIsomorphicLayoutEffect(() => {
|
|
305
306
|
callbackRef.current = callback || noop2;
|
|
306
307
|
}, [callback]);
|
|
307
308
|
return useCallback9(
|
|
@@ -396,7 +397,7 @@ var ClientStorage = class {
|
|
|
396
397
|
var clientStorage = new ClientStorage();
|
|
397
398
|
|
|
398
399
|
// src/components/ActionMenu.tsx
|
|
399
|
-
import
|
|
400
|
+
import React28, { useMemo as useMemo12 } from "react";
|
|
400
401
|
|
|
401
402
|
// src/theme/index.ts
|
|
402
403
|
import tailwindConfig from "@noya-app/noya-tailwind-config";
|
|
@@ -437,21 +438,21 @@ var INPUT_HEIGHT = 27;
|
|
|
437
438
|
// src/components/DropdownMenu.tsx
|
|
438
439
|
import { useKeyboardShortcuts } from "@noya-app/noya-keymap";
|
|
439
440
|
import * as RadixDropdownMenu from "@radix-ui/react-dropdown-menu";
|
|
440
|
-
import
|
|
441
|
+
import React27, {
|
|
441
442
|
useMemo as useMemo11
|
|
442
443
|
} from "react";
|
|
443
444
|
|
|
444
445
|
// src/contexts/PortalScopeContext.tsx
|
|
445
|
-
import * as
|
|
446
|
-
var PortalScopeContext =
|
|
447
|
-
var PortalScopeProvider =
|
|
446
|
+
import * as React6 from "react";
|
|
447
|
+
var PortalScopeContext = React6.createContext(void 0);
|
|
448
|
+
var PortalScopeProvider = React6.memo(function PortalScopeProvider2({
|
|
448
449
|
children,
|
|
449
450
|
portalScopeId
|
|
450
451
|
}) {
|
|
451
|
-
return /* @__PURE__ */
|
|
452
|
+
return /* @__PURE__ */ React6.createElement(PortalScopeContext.Provider, { value: portalScopeId }, children);
|
|
452
453
|
});
|
|
453
454
|
function usePortalScopeId() {
|
|
454
|
-
return
|
|
455
|
+
return React6.useContext(PortalScopeContext) ?? "";
|
|
455
456
|
}
|
|
456
457
|
var portalScopeDataSetName = "noyaPortalScope";
|
|
457
458
|
var portalScopePropName = `data-noya-portal-scope`;
|
|
@@ -473,21 +474,21 @@ function getClosestPortalScope(element) {
|
|
|
473
474
|
|
|
474
475
|
// src/components/internal/Menu.tsx
|
|
475
476
|
import { getShortcutDisplayParts } from "@noya-app/noya-keymap";
|
|
476
|
-
import
|
|
477
|
+
import React24, { memo as memo10 } from "react";
|
|
477
478
|
|
|
478
479
|
// src/contexts/DesignSystemConfiguration.tsx
|
|
479
480
|
import { getCurrentPlatform } from "@noya-app/noya-keymap";
|
|
480
|
-
import * as
|
|
481
|
+
import * as React23 from "react";
|
|
481
482
|
|
|
482
483
|
// src/components/Toast.tsx
|
|
483
484
|
import * as ToastPrimitive from "@radix-ui/react-toast";
|
|
484
|
-
import
|
|
485
|
+
import React13 from "react";
|
|
485
486
|
|
|
486
487
|
// src/components/IconButton.tsx
|
|
487
|
-
import * as
|
|
488
|
+
import * as React12 from "react";
|
|
488
489
|
|
|
489
490
|
// src/components/Button.tsx
|
|
490
|
-
import
|
|
491
|
+
import React11, {
|
|
491
492
|
forwardRef as forwardRef4,
|
|
492
493
|
useCallback as useCallback10,
|
|
493
494
|
useMemo as useMemo4
|
|
@@ -558,20 +559,20 @@ function mergeConflictingClassNames(classNames, options) {
|
|
|
558
559
|
|
|
559
560
|
// src/components/Icons.tsx
|
|
560
561
|
import * as Icons from "@noya-app/noya-icons";
|
|
561
|
-
import * as
|
|
562
|
+
import * as React7 from "react";
|
|
562
563
|
function renderIcon(iconName) {
|
|
563
564
|
if (typeof iconName === "string") {
|
|
564
565
|
const Icon = Icons[iconName];
|
|
565
|
-
return /* @__PURE__ */
|
|
566
|
+
return /* @__PURE__ */ React7.createElement(Icon, null);
|
|
566
567
|
}
|
|
567
568
|
return iconName;
|
|
568
569
|
}
|
|
569
570
|
|
|
570
571
|
// src/components/Spacer.tsx
|
|
571
|
-
import * as
|
|
572
|
-
var SpacerVertical =
|
|
572
|
+
import * as React8 from "react";
|
|
573
|
+
var SpacerVertical = React8.forwardRef(
|
|
573
574
|
({ size: size2, inline, ...props }, ref) => {
|
|
574
|
-
return /* @__PURE__ */
|
|
575
|
+
return /* @__PURE__ */ React8.createElement(
|
|
575
576
|
"span",
|
|
576
577
|
{
|
|
577
578
|
className: `${inline ? "inline-block" : "block"} ${size2 === void 0 ? "flex flex-1" : ""}`,
|
|
@@ -584,9 +585,9 @@ var SpacerVertical = React7.forwardRef(
|
|
|
584
585
|
);
|
|
585
586
|
}
|
|
586
587
|
);
|
|
587
|
-
var SpacerHorizontal =
|
|
588
|
+
var SpacerHorizontal = React8.forwardRef(
|
|
588
589
|
({ size: size2, inline, ...props }, ref) => {
|
|
589
|
-
return /* @__PURE__ */
|
|
590
|
+
return /* @__PURE__ */ React8.createElement(
|
|
590
591
|
"span",
|
|
591
592
|
{
|
|
592
593
|
className: `${inline ? "inline-block" : "block"} ${size2 === void 0 ? "flex flex-1" : ""}`,
|
|
@@ -607,10 +608,10 @@ var Spacer;
|
|
|
607
608
|
|
|
608
609
|
// src/components/Tooltip.tsx
|
|
609
610
|
import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
610
|
-
import * as
|
|
611
|
+
import * as React10 from "react";
|
|
611
612
|
|
|
612
613
|
// src/components/Text.tsx
|
|
613
|
-
import
|
|
614
|
+
import React9, { forwardRef as forwardRef3 } from "react";
|
|
614
615
|
var elements = {
|
|
615
616
|
title: "h1",
|
|
616
617
|
subtitle: "h1",
|
|
@@ -653,7 +654,7 @@ var Text = forwardRef3(function Text2({
|
|
|
653
654
|
...rest
|
|
654
655
|
}, forwardedRef) {
|
|
655
656
|
const Component = as ?? elements[variant] ?? "span";
|
|
656
|
-
return /* @__PURE__ */
|
|
657
|
+
return /* @__PURE__ */ React9.createElement(
|
|
657
658
|
Component,
|
|
658
659
|
{
|
|
659
660
|
ref: forwardedRef,
|
|
@@ -672,27 +673,27 @@ var Text = forwardRef3(function Text2({
|
|
|
672
673
|
);
|
|
673
674
|
});
|
|
674
675
|
var Heading1 = forwardRef3(
|
|
675
|
-
(props, ref) => /* @__PURE__ */
|
|
676
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "heading1" })
|
|
676
677
|
);
|
|
677
678
|
var Heading2 = forwardRef3(
|
|
678
|
-
(props, ref) => /* @__PURE__ */
|
|
679
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "heading2" })
|
|
679
680
|
);
|
|
680
681
|
var Heading3 = forwardRef3(
|
|
681
|
-
(props, ref) => /* @__PURE__ */
|
|
682
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "heading3" })
|
|
682
683
|
);
|
|
683
684
|
var Heading4 = forwardRef3(
|
|
684
|
-
(props, ref) => /* @__PURE__ */
|
|
685
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "heading4" })
|
|
685
686
|
);
|
|
686
687
|
var Heading5 = forwardRef3(
|
|
687
|
-
(props, ref) => /* @__PURE__ */
|
|
688
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "heading5" })
|
|
688
689
|
);
|
|
689
690
|
var Body = forwardRef3(
|
|
690
|
-
(props, ref) => /* @__PURE__ */
|
|
691
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "body" })
|
|
691
692
|
);
|
|
692
693
|
var Small = forwardRef3(
|
|
693
|
-
(props, ref) => /* @__PURE__ */
|
|
694
|
+
(props, ref) => /* @__PURE__ */ React9.createElement(Text, { ref, ...props, variant: "small" })
|
|
694
695
|
);
|
|
695
|
-
var Italic = ({ children }) => /* @__PURE__ */
|
|
696
|
+
var Italic = ({ children }) => /* @__PURE__ */ React9.createElement(
|
|
696
697
|
"span",
|
|
697
698
|
{
|
|
698
699
|
style: {
|
|
@@ -703,13 +704,13 @@ var Italic = ({ children }) => /* @__PURE__ */ React8.createElement(
|
|
|
703
704
|
);
|
|
704
705
|
|
|
705
706
|
// src/components/Tooltip.tsx
|
|
706
|
-
var Tooltip =
|
|
707
|
+
var Tooltip = React10.memo(function Tooltip2({
|
|
707
708
|
children,
|
|
708
709
|
content,
|
|
709
710
|
sideOffset = 2
|
|
710
711
|
}) {
|
|
711
712
|
const portalScopeId = usePortalScopeId();
|
|
712
|
-
return /* @__PURE__ */
|
|
713
|
+
return /* @__PURE__ */ React10.createElement(TooltipPrimitive.Provider, null, /* @__PURE__ */ React10.createElement(TooltipPrimitive.Root, null, /* @__PURE__ */ React10.createElement(TooltipPrimitive.Trigger, { asChild: true }, children), /* @__PURE__ */ React10.createElement(TooltipPrimitive.Portal, null, /* @__PURE__ */ React10.createElement(
|
|
713
714
|
TooltipPrimitive.Content,
|
|
714
715
|
{
|
|
715
716
|
...portalScopeProps(portalScopeId),
|
|
@@ -771,7 +772,7 @@ var Button = forwardRef4(function Button2({
|
|
|
771
772
|
categories: ["position"]
|
|
772
773
|
}) : baseClassName;
|
|
773
774
|
}, [className, baseClassName]);
|
|
774
|
-
const buttonElement = /* @__PURE__ */
|
|
775
|
+
const buttonElement = /* @__PURE__ */ React11.createElement(
|
|
775
776
|
Component,
|
|
776
777
|
{
|
|
777
778
|
ref: forwardedRef,
|
|
@@ -786,35 +787,35 @@ var Button = forwardRef4(function Button2({
|
|
|
786
787
|
}, []),
|
|
787
788
|
...rest
|
|
788
789
|
},
|
|
789
|
-
/* @__PURE__ */
|
|
790
|
+
/* @__PURE__ */ React11.createElement(
|
|
790
791
|
"span",
|
|
791
792
|
{
|
|
792
793
|
className: "min-h-[19px] flex items-center flex-1 justify-center leading-[15px]",
|
|
793
794
|
style: contentStyle
|
|
794
795
|
},
|
|
795
796
|
icon && renderIcon(icon),
|
|
796
|
-
icon && children && /* @__PURE__ */
|
|
797
|
+
icon && children && /* @__PURE__ */ React11.createElement(Spacer.Horizontal, { inline: true, size: 6 }),
|
|
797
798
|
children,
|
|
798
|
-
iconRight && (icon || children) && /* @__PURE__ */
|
|
799
|
+
iconRight && (icon || children) && /* @__PURE__ */ React11.createElement(Spacer.Horizontal, { inline: true, size: 6 }),
|
|
799
800
|
iconRight && renderIcon(iconRight)
|
|
800
801
|
)
|
|
801
802
|
);
|
|
802
|
-
return tooltip ? /* @__PURE__ */
|
|
803
|
+
return tooltip ? /* @__PURE__ */ React11.createElement(Tooltip, { content: tooltip }, buttonElement) : buttonElement;
|
|
803
804
|
});
|
|
804
805
|
var Button_default = Button;
|
|
805
806
|
|
|
806
807
|
// src/components/IconButton.tsx
|
|
807
|
-
var IconButton =
|
|
808
|
-
|
|
808
|
+
var IconButton = React12.memo(
|
|
809
|
+
React12.forwardRef(function IconButton2({ selected, iconName, color, size: size2, contentStyle, ...props }, forwardedRef) {
|
|
809
810
|
const Icon = Icons[iconName];
|
|
810
|
-
const style2 =
|
|
811
|
+
const style2 = React12.useMemo(() => {
|
|
811
812
|
return {
|
|
812
813
|
padding: "0 2px",
|
|
813
814
|
...size2 && { minHeight: size2 },
|
|
814
815
|
...contentStyle
|
|
815
816
|
};
|
|
816
817
|
}, [contentStyle, size2]);
|
|
817
|
-
return /* @__PURE__ */
|
|
818
|
+
return /* @__PURE__ */ React12.createElement(Button, { ref: forwardedRef, ...props, variant: "none", contentStyle: style2 }, /* @__PURE__ */ React12.createElement(
|
|
818
819
|
Icon,
|
|
819
820
|
{
|
|
820
821
|
color: color ?? (selected ? cssVars.colors.iconSelected : cssVars.colors.icon),
|
|
@@ -831,34 +832,34 @@ var Toast = ({
|
|
|
831
832
|
children,
|
|
832
833
|
...props
|
|
833
834
|
}) => {
|
|
834
|
-
return /* @__PURE__ */
|
|
835
|
+
return /* @__PURE__ */ React13.createElement(
|
|
835
836
|
ToastPrimitive.Root,
|
|
836
837
|
{
|
|
837
838
|
className: "px-2 py-2.5 grid grid-cols-[auto_max-content] gap-x-2.5 items-center rounded text-sm bg-popover-background shadow-popover text-text-muted",
|
|
838
839
|
...props
|
|
839
840
|
},
|
|
840
|
-
title && /* @__PURE__ */
|
|
841
|
+
title && /* @__PURE__ */ React13.createElement(
|
|
841
842
|
ToastPrimitive.Title,
|
|
842
843
|
{
|
|
843
844
|
className: `mb-[5px] ${textStyles.label} font-bold text-text`
|
|
844
845
|
},
|
|
845
846
|
title
|
|
846
847
|
),
|
|
847
|
-
/* @__PURE__ */
|
|
848
|
+
/* @__PURE__ */ React13.createElement(
|
|
848
849
|
ToastPrimitive.Description,
|
|
849
850
|
{
|
|
850
851
|
className: `${textStyles.small} text-text-muted`
|
|
851
852
|
},
|
|
852
853
|
content
|
|
853
854
|
),
|
|
854
|
-
children && /* @__PURE__ */
|
|
855
|
-
/* @__PURE__ */
|
|
855
|
+
children && /* @__PURE__ */ React13.createElement(ToastPrimitive.Action, { asChild: true, altText: "" }, children),
|
|
856
|
+
/* @__PURE__ */ React13.createElement(ToastPrimitive.Close, { "aria-label": "Close", asChild: true }, /* @__PURE__ */ React13.createElement(IconButton, { iconName: "Cross1Icon" }))
|
|
856
857
|
);
|
|
857
858
|
};
|
|
858
|
-
var ToastProvider = ({ children }) => /* @__PURE__ */
|
|
859
|
+
var ToastProvider = ({ children }) => /* @__PURE__ */ React13.createElement(ToastPrimitive.Provider, null, children, /* @__PURE__ */ React13.createElement(ToastPrimitive.Viewport, { className: "fixed bottom-0 right-0 flex flex-col p-5 g-2.5 min-w-[200px] max-w-[100vw] m-0 list-none z-[2147483647] outline-none" }));
|
|
859
860
|
|
|
860
861
|
// src/contexts/DialogContext.tsx
|
|
861
|
-
import
|
|
862
|
+
import React21, {
|
|
862
863
|
createContext as createContext5,
|
|
863
864
|
useCallback as useCallback13,
|
|
864
865
|
useContext as useContext5,
|
|
@@ -869,12 +870,12 @@ import React20, {
|
|
|
869
870
|
|
|
870
871
|
// src/components/Dialog.tsx
|
|
871
872
|
import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
872
|
-
import
|
|
873
|
+
import React14, {
|
|
873
874
|
forwardRef as forwardRef6,
|
|
874
875
|
useImperativeHandle,
|
|
875
876
|
useRef as useRef9
|
|
876
877
|
} from "react";
|
|
877
|
-
var StyledOverlay = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */
|
|
878
|
+
var StyledOverlay = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ React14.createElement(
|
|
878
879
|
DialogPrimitive.Overlay,
|
|
879
880
|
{
|
|
880
881
|
ref,
|
|
@@ -883,7 +884,7 @@ var StyledOverlay = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ *
|
|
|
883
884
|
}
|
|
884
885
|
));
|
|
885
886
|
var StyledContent = forwardRef6(({ className, children, ...props }, ref) => {
|
|
886
|
-
return /* @__PURE__ */
|
|
887
|
+
return /* @__PURE__ */ React14.createElement(
|
|
887
888
|
DialogPrimitive.Content,
|
|
888
889
|
{
|
|
889
890
|
ref,
|
|
@@ -902,7 +903,7 @@ var StyledContent = forwardRef6(({ className, children, ...props }, ref) => {
|
|
|
902
903
|
children
|
|
903
904
|
);
|
|
904
905
|
});
|
|
905
|
-
var StyledTitle = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */
|
|
906
|
+
var StyledTitle = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ React14.createElement(
|
|
906
907
|
DialogPrimitive.Title,
|
|
907
908
|
{
|
|
908
909
|
ref,
|
|
@@ -913,7 +914,7 @@ var StyledTitle = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
913
914
|
...props
|
|
914
915
|
}
|
|
915
916
|
));
|
|
916
|
-
var StyledDescription = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */
|
|
917
|
+
var StyledDescription = forwardRef6(({ className, ...props }, ref) => /* @__PURE__ */ React14.createElement(
|
|
917
918
|
DialogPrimitive.Description,
|
|
918
919
|
{
|
|
919
920
|
ref,
|
|
@@ -943,7 +944,7 @@ var Dialog = forwardRef6(function Dialog2({
|
|
|
943
944
|
return contentRef.current.contains(element);
|
|
944
945
|
}
|
|
945
946
|
}));
|
|
946
|
-
return /* @__PURE__ */
|
|
947
|
+
return /* @__PURE__ */ React14.createElement(DialogPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ React14.createElement(StyledOverlay, null), /* @__PURE__ */ React14.createElement(
|
|
947
948
|
StyledContent,
|
|
948
949
|
{
|
|
949
950
|
ref: contentRef,
|
|
@@ -955,7 +956,7 @@ var Dialog = forwardRef6(function Dialog2({
|
|
|
955
956
|
onInteractOutside: (event) => event.preventDefault()
|
|
956
957
|
}
|
|
957
958
|
},
|
|
958
|
-
showCloseButton && /* @__PURE__ */
|
|
959
|
+
showCloseButton && /* @__PURE__ */ React14.createElement(DialogPrimitive.Close, { asChild: true }, /* @__PURE__ */ React14.createElement(
|
|
959
960
|
IconButton,
|
|
960
961
|
{
|
|
961
962
|
iconName: "Cross1Icon",
|
|
@@ -967,13 +968,13 @@ var Dialog = forwardRef6(function Dialog2({
|
|
|
967
968
|
}
|
|
968
969
|
}
|
|
969
970
|
)),
|
|
970
|
-
title && /* @__PURE__ */
|
|
971
|
-
description && /* @__PURE__ */
|
|
971
|
+
title && /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(StyledTitle, null, title), /* @__PURE__ */ React14.createElement(Spacer.Vertical, { size: description ? 10 : 20 })),
|
|
972
|
+
description && /* @__PURE__ */ React14.createElement(React14.Fragment, null, /* @__PURE__ */ React14.createElement(StyledDescription, null, description), /* @__PURE__ */ React14.createElement(Spacer.Vertical, { size: 20 })),
|
|
972
973
|
children
|
|
973
974
|
));
|
|
974
975
|
});
|
|
975
976
|
var FullscreenDialog = forwardRef6(function FullscreenDialog2({ style: style2, ...rest }, forwardedRef) {
|
|
976
|
-
return /* @__PURE__ */
|
|
977
|
+
return /* @__PURE__ */ React14.createElement(
|
|
977
978
|
Dialog,
|
|
978
979
|
{
|
|
979
980
|
ref: forwardedRef,
|
|
@@ -986,7 +987,7 @@ var FullscreenDialog = forwardRef6(function FullscreenDialog2({ style: style2, .
|
|
|
986
987
|
|
|
987
988
|
// src/components/InputField.tsx
|
|
988
989
|
import { DropdownChevronIcon } from "@noya-app/noya-icons";
|
|
989
|
-
import
|
|
990
|
+
import React20, {
|
|
990
991
|
createContext as createContext4,
|
|
991
992
|
forwardRef as forwardRef9,
|
|
992
993
|
memo as memo8,
|
|
@@ -998,30 +999,30 @@ import React19, {
|
|
|
998
999
|
} from "react";
|
|
999
1000
|
|
|
1000
1001
|
// src/hooks/useLabel.ts
|
|
1001
|
-
import
|
|
1002
|
-
var LabelContext =
|
|
1002
|
+
import React15 from "react";
|
|
1003
|
+
var LabelContext = React15.createContext({
|
|
1003
1004
|
fieldId: "",
|
|
1004
1005
|
label: void 0
|
|
1005
1006
|
});
|
|
1006
1007
|
var useLabel = ({ label, fieldId }) => {
|
|
1007
|
-
const { label: labelFromContext, fieldId: fieldIdFromContext } =
|
|
1008
|
+
const { label: labelFromContext, fieldId: fieldIdFromContext } = React15.useContext(LabelContext);
|
|
1008
1009
|
return {
|
|
1009
1010
|
label: label ?? labelFromContext,
|
|
1010
1011
|
fieldId: fieldId ?? fieldIdFromContext
|
|
1011
1012
|
};
|
|
1012
1013
|
};
|
|
1013
|
-
var LabelPositionContext =
|
|
1014
|
+
var LabelPositionContext = React15.createContext({
|
|
1014
1015
|
position: "start"
|
|
1015
1016
|
});
|
|
1016
1017
|
var useLabelPosition = () => {
|
|
1017
|
-
const { position } =
|
|
1018
|
+
const { position } = React15.useContext(LabelPositionContext);
|
|
1018
1019
|
return position;
|
|
1019
1020
|
};
|
|
1020
|
-
var LabelWidthContext =
|
|
1021
|
+
var LabelWidthContext = React15.createContext({
|
|
1021
1022
|
width: 100
|
|
1022
1023
|
});
|
|
1023
1024
|
var useLabelWidth = () => {
|
|
1024
|
-
const { width } =
|
|
1025
|
+
const { width } = React15.useContext(LabelWidthContext);
|
|
1025
1026
|
return width;
|
|
1026
1027
|
};
|
|
1027
1028
|
|
|
@@ -1061,11 +1062,11 @@ var startBaseStyles = "absolute left-1.5 inset-y-0 flex items-center";
|
|
|
1061
1062
|
|
|
1062
1063
|
// src/components/internal/TextInput.tsx
|
|
1063
1064
|
import { composeRefs } from "@radix-ui/react-compose-refs";
|
|
1064
|
-
import
|
|
1065
|
+
import React16, {
|
|
1065
1066
|
forwardRef as forwardRef7,
|
|
1066
1067
|
useCallback as useCallback11,
|
|
1067
1068
|
useEffect as useEffect10,
|
|
1068
|
-
useLayoutEffect as
|
|
1069
|
+
useLayoutEffect as useLayoutEffect3,
|
|
1069
1070
|
useRef as useRef10,
|
|
1070
1071
|
useState as useState11
|
|
1071
1072
|
} from "react";
|
|
@@ -1111,7 +1112,7 @@ function useGlobalInputBlurTrigger() {
|
|
|
1111
1112
|
|
|
1112
1113
|
// src/components/internal/TextInput.tsx
|
|
1113
1114
|
var ReadOnlyTextInput = forwardRef7(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
|
|
1114
|
-
return /* @__PURE__ */
|
|
1115
|
+
return /* @__PURE__ */ React16.createElement(
|
|
1115
1116
|
"input",
|
|
1116
1117
|
{
|
|
1117
1118
|
ref: forwardedRef,
|
|
@@ -1154,7 +1155,7 @@ var ControlledTextInput = forwardRef7(function ControlledTextInput2({
|
|
|
1154
1155
|
},
|
|
1155
1156
|
[onFocus, onFocusChange]
|
|
1156
1157
|
);
|
|
1157
|
-
return /* @__PURE__ */
|
|
1158
|
+
return /* @__PURE__ */ React16.createElement(
|
|
1158
1159
|
"input",
|
|
1159
1160
|
{
|
|
1160
1161
|
ref: forwardedRef,
|
|
@@ -1183,13 +1184,13 @@ var SubmittableTextInput = forwardRef7(function SubmittableTextInput2({
|
|
|
1183
1184
|
submitOnBlur = true,
|
|
1184
1185
|
...rest
|
|
1185
1186
|
}, forwardedRef) {
|
|
1186
|
-
const ref =
|
|
1187
|
+
const ref = React16.useRef(null);
|
|
1187
1188
|
const latestValue = useRef10(value);
|
|
1188
1189
|
latestValue.current = value;
|
|
1189
1190
|
const userDidEdit = useRef10(false);
|
|
1190
1191
|
const isSubmitTriggeredByEscapeKey = useRef10(false);
|
|
1191
1192
|
const [internalValue, setInternalValue] = useState11("");
|
|
1192
|
-
|
|
1193
|
+
useLayoutEffect3(() => {
|
|
1193
1194
|
setInternalValue(value);
|
|
1194
1195
|
}, [value]);
|
|
1195
1196
|
const handleSubmit = useCallback11(() => {
|
|
@@ -1266,7 +1267,7 @@ var SubmittableTextInput = forwardRef7(function SubmittableTextInput2({
|
|
|
1266
1267
|
}
|
|
1267
1268
|
};
|
|
1268
1269
|
}, [internalValue, submitAutomaticallyAfterDelay]);
|
|
1269
|
-
return /* @__PURE__ */
|
|
1270
|
+
return /* @__PURE__ */ React16.createElement(
|
|
1270
1271
|
"input",
|
|
1271
1272
|
{
|
|
1272
1273
|
ref: composeRefs(ref, forwardedRef),
|
|
@@ -1298,21 +1299,21 @@ var TextInput_default = forwardRef7(function TextInput(props, forwardedRef) {
|
|
|
1298
1299
|
...props
|
|
1299
1300
|
};
|
|
1300
1301
|
if ("readOnly" in commonProps) {
|
|
1301
|
-
return /* @__PURE__ */
|
|
1302
|
+
return /* @__PURE__ */ React16.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
|
|
1302
1303
|
} else if ("onChange" in commonProps) {
|
|
1303
|
-
return /* @__PURE__ */
|
|
1304
|
+
return /* @__PURE__ */ React16.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
|
|
1304
1305
|
} else {
|
|
1305
|
-
return /* @__PURE__ */
|
|
1306
|
+
return /* @__PURE__ */ React16.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
|
|
1306
1307
|
}
|
|
1307
1308
|
});
|
|
1308
1309
|
|
|
1309
1310
|
// src/components/Label.tsx
|
|
1310
|
-
import
|
|
1311
|
+
import React17, { forwardRef as forwardRef8, memo as memo6 } from "react";
|
|
1311
1312
|
var labelStyles = "flex items-center select-none z-label relative";
|
|
1312
1313
|
var labelTextStyles = "font-sans text-label uppercase leading-3 font-bold text-text-muted";
|
|
1313
1314
|
var Label = memo6(
|
|
1314
1315
|
forwardRef8(function Label2({ className, children, ...props }, ref) {
|
|
1315
|
-
return /* @__PURE__ */
|
|
1316
|
+
return /* @__PURE__ */ React17.createElement(
|
|
1316
1317
|
"label",
|
|
1317
1318
|
{
|
|
1318
1319
|
ref,
|
|
@@ -1336,28 +1337,28 @@ var Label = memo6(
|
|
|
1336
1337
|
|
|
1337
1338
|
// src/components/Popover.tsx
|
|
1338
1339
|
import * as PopoverPrimitive from "@radix-ui/react-popover";
|
|
1339
|
-
import
|
|
1340
|
+
import React19, { useEffect as useEffect11, useId, useRef as useRef11 } from "react";
|
|
1340
1341
|
|
|
1341
1342
|
// src/contexts/OpenPortalsContext.tsx
|
|
1342
|
-
import * as
|
|
1343
|
-
var OpenPortalsContext =
|
|
1343
|
+
import * as React18 from "react";
|
|
1344
|
+
var OpenPortalsContext = React18.createContext({
|
|
1344
1345
|
hasOpenPortals: false
|
|
1345
1346
|
});
|
|
1346
|
-
var OpenPortalControlsContext =
|
|
1347
|
+
var OpenPortalControlsContext = React18.createContext({
|
|
1347
1348
|
addOpenPortal: () => {
|
|
1348
1349
|
},
|
|
1349
1350
|
removeOpenPortal: () => {
|
|
1350
1351
|
}
|
|
1351
1352
|
});
|
|
1352
|
-
var OpenPortalsProvider =
|
|
1353
|
+
var OpenPortalsProvider = React18.memo(function OpenPortalsProvider2({
|
|
1353
1354
|
children
|
|
1354
1355
|
}) {
|
|
1355
|
-
const [openPortals, setOpenPortals] =
|
|
1356
|
-
const value =
|
|
1356
|
+
const [openPortals, setOpenPortals] = React18.useState([]);
|
|
1357
|
+
const value = React18.useMemo(
|
|
1357
1358
|
() => ({ hasOpenPortals: openPortals.length > 0 }),
|
|
1358
1359
|
[openPortals]
|
|
1359
1360
|
);
|
|
1360
|
-
const controlsValue =
|
|
1361
|
+
const controlsValue = React18.useMemo(
|
|
1361
1362
|
() => ({
|
|
1362
1363
|
addOpenPortal: (portal) => {
|
|
1363
1364
|
setOpenPortals((prev) => [...prev, portal]);
|
|
@@ -1368,13 +1369,13 @@ var OpenPortalsProvider = React17.memo(function OpenPortalsProvider2({
|
|
|
1368
1369
|
}),
|
|
1369
1370
|
[]
|
|
1370
1371
|
);
|
|
1371
|
-
return /* @__PURE__ */
|
|
1372
|
+
return /* @__PURE__ */ React18.createElement(OpenPortalsContext.Provider, { value }, /* @__PURE__ */ React18.createElement(OpenPortalControlsContext.Provider, { value: controlsValue }, children));
|
|
1372
1373
|
});
|
|
1373
1374
|
function useHasOpenPortals() {
|
|
1374
|
-
return
|
|
1375
|
+
return React18.useContext(OpenPortalsContext).hasOpenPortals;
|
|
1375
1376
|
}
|
|
1376
1377
|
function useOpenPortalsControls() {
|
|
1377
|
-
return
|
|
1378
|
+
return React18.useContext(OpenPortalControlsContext);
|
|
1378
1379
|
}
|
|
1379
1380
|
|
|
1380
1381
|
// src/components/Popover.tsx
|
|
@@ -1422,7 +1423,7 @@ function Popover({
|
|
|
1422
1423
|
removeOpenPortal(portalScopeId || defaultId);
|
|
1423
1424
|
};
|
|
1424
1425
|
}, [addOpenPortal, isOpen, portalScopeId, removeOpenPortal, defaultId]);
|
|
1425
|
-
return /* @__PURE__ */
|
|
1426
|
+
return /* @__PURE__ */ React19.createElement(PopoverPrimitive.Root, { open: isOpen, onOpenChange: setIsOpen }, /* @__PURE__ */ React19.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ React19.createElement(PopoverPrimitive.Portal, { container: portalContainer }, /* @__PURE__ */ React19.createElement(
|
|
1426
1427
|
PopoverPrimitive.Content,
|
|
1427
1428
|
{
|
|
1428
1429
|
...portalScopeProps(portalScopeId),
|
|
@@ -1453,14 +1454,14 @@ function Popover({
|
|
|
1453
1454
|
arrowPadding: 2
|
|
1454
1455
|
},
|
|
1455
1456
|
children,
|
|
1456
|
-
showArrow && /* @__PURE__ */
|
|
1457
|
-
closable && /* @__PURE__ */
|
|
1457
|
+
showArrow && /* @__PURE__ */ React19.createElement(PopoverPrimitive.Arrow, { className: "fill-popover-background" }),
|
|
1458
|
+
closable && /* @__PURE__ */ React19.createElement(
|
|
1458
1459
|
PopoverPrimitive.Close,
|
|
1459
1460
|
{
|
|
1460
1461
|
className: "rounded-full h-[25px] w-[25px] inline-flex items-center justify-center absolute top-[5px] right-[5px]",
|
|
1461
1462
|
style: closeStyles
|
|
1462
1463
|
},
|
|
1463
|
-
/* @__PURE__ */
|
|
1464
|
+
/* @__PURE__ */ React19.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose })
|
|
1464
1465
|
)
|
|
1465
1466
|
)));
|
|
1466
1467
|
}
|
|
@@ -1501,7 +1502,7 @@ var getFieldSpacing = ({
|
|
|
1501
1502
|
paddingRight: `${variant === "bare" ? endWidth : endWidth ? endWidth + 12 : 6}px`
|
|
1502
1503
|
});
|
|
1503
1504
|
var InputFieldDropdownMenu = memoGeneric(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
|
|
1504
|
-
return /* @__PURE__ */
|
|
1505
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1505
1506
|
DropdownMenu,
|
|
1506
1507
|
{
|
|
1507
1508
|
items,
|
|
@@ -1509,7 +1510,7 @@ var InputFieldDropdownMenu = memoGeneric(function InputFieldDropdownMenu2({ id,
|
|
|
1509
1510
|
align: "end",
|
|
1510
1511
|
sideOffset: 8
|
|
1511
1512
|
},
|
|
1512
|
-
children || /* @__PURE__ */
|
|
1513
|
+
children || /* @__PURE__ */ React20.createElement(InputFieldButton, { variant: "floating", id }, /* @__PURE__ */ React20.createElement(DropdownChevronIcon, null))
|
|
1513
1514
|
);
|
|
1514
1515
|
});
|
|
1515
1516
|
var InputFieldButton = memo8(
|
|
@@ -1552,7 +1553,7 @@ var InputFieldButton = memo8(
|
|
|
1552
1553
|
}),
|
|
1553
1554
|
[style2, variant]
|
|
1554
1555
|
);
|
|
1555
|
-
return /* @__PURE__ */
|
|
1556
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1556
1557
|
Button,
|
|
1557
1558
|
{
|
|
1558
1559
|
as,
|
|
@@ -1609,7 +1610,7 @@ var InputElement = forwardRef9(
|
|
|
1609
1610
|
[inputClassName]
|
|
1610
1611
|
);
|
|
1611
1612
|
if (as === "span") {
|
|
1612
|
-
return /* @__PURE__ */
|
|
1613
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1613
1614
|
"span",
|
|
1614
1615
|
{
|
|
1615
1616
|
ref,
|
|
@@ -1620,7 +1621,7 @@ var InputElement = forwardRef9(
|
|
|
1620
1621
|
children
|
|
1621
1622
|
);
|
|
1622
1623
|
}
|
|
1623
|
-
return /* @__PURE__ */
|
|
1624
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1624
1625
|
TextInput_default,
|
|
1625
1626
|
{
|
|
1626
1627
|
ref,
|
|
@@ -1644,7 +1645,7 @@ var InputFieldInput = forwardRef9(function InputFieldInput2({ textAlign, variant
|
|
|
1644
1645
|
},
|
|
1645
1646
|
[onFocusChange]
|
|
1646
1647
|
);
|
|
1647
|
-
return /* @__PURE__ */
|
|
1648
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1648
1649
|
InputElement,
|
|
1649
1650
|
{
|
|
1650
1651
|
ref,
|
|
@@ -1656,7 +1657,7 @@ var InputFieldInput = forwardRef9(function InputFieldInput2({ textAlign, variant
|
|
|
1656
1657
|
);
|
|
1657
1658
|
});
|
|
1658
1659
|
var InputFieldTypeahead = (props) => {
|
|
1659
|
-
return /* @__PURE__ */
|
|
1660
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1660
1661
|
InputElement,
|
|
1661
1662
|
{
|
|
1662
1663
|
as: "span",
|
|
@@ -1674,8 +1675,8 @@ var InputFieldTypeahead = (props) => {
|
|
|
1674
1675
|
[]
|
|
1675
1676
|
)
|
|
1676
1677
|
},
|
|
1677
|
-
/* @__PURE__ */
|
|
1678
|
-
props.isFocused && /* @__PURE__ */
|
|
1678
|
+
/* @__PURE__ */ React20.createElement("span", { style: { opacity: 0 } }, props.prefix),
|
|
1679
|
+
props.isFocused && /* @__PURE__ */ React20.createElement("span", { style: { opacity: 0.5 } }, props.value.slice(props.prefix.length))
|
|
1679
1680
|
);
|
|
1680
1681
|
};
|
|
1681
1682
|
function parseNumber(value) {
|
|
@@ -1731,7 +1732,7 @@ function InputFieldNumberInput(props) {
|
|
|
1731
1732
|
},
|
|
1732
1733
|
[onBlur]
|
|
1733
1734
|
);
|
|
1734
|
-
return /* @__PURE__ */
|
|
1735
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1735
1736
|
InputFieldInput,
|
|
1736
1737
|
{
|
|
1737
1738
|
...rest,
|
|
@@ -1744,7 +1745,7 @@ function InputFieldNumberInput(props) {
|
|
|
1744
1745
|
}
|
|
1745
1746
|
);
|
|
1746
1747
|
}
|
|
1747
|
-
var RootContainer = forwardRef9(({ $width, className, ...props }, ref) => /* @__PURE__ */
|
|
1748
|
+
var RootContainer = forwardRef9(({ $width, className, ...props }, ref) => /* @__PURE__ */ React20.createElement(
|
|
1748
1749
|
"div",
|
|
1749
1750
|
{
|
|
1750
1751
|
ref,
|
|
@@ -1775,10 +1776,10 @@ function InputFieldRoot({
|
|
|
1775
1776
|
label: labelProp
|
|
1776
1777
|
}) {
|
|
1777
1778
|
const randomId = useId2();
|
|
1778
|
-
const [isFocused, setIsFocused] =
|
|
1779
|
-
const startRef =
|
|
1780
|
-
const inputRef =
|
|
1781
|
-
const endRef =
|
|
1779
|
+
const [isFocused, setIsFocused] = React20.useState(false);
|
|
1780
|
+
const startRef = React20.useRef(null);
|
|
1781
|
+
const inputRef = React20.useRef(null);
|
|
1782
|
+
const endRef = React20.useRef(null);
|
|
1782
1783
|
const measuredInputSize = useSize(inputRef, "width");
|
|
1783
1784
|
const measuredStartSize = useSize(startRef, "width");
|
|
1784
1785
|
const measuredEndSize = useSize(endRef, "width");
|
|
@@ -1809,10 +1810,10 @@ function InputFieldRoot({
|
|
|
1809
1810
|
[startWidth, endWidth, size2, isFocused, handleFocusChange, id, randomId]
|
|
1810
1811
|
);
|
|
1811
1812
|
const insetLabel = useMemo7(
|
|
1812
|
-
() => /* @__PURE__ */
|
|
1813
|
+
() => /* @__PURE__ */ React20.createElement(Label, { htmlFor: id, className: "!text-text-disabled" }, labelProp ?? label),
|
|
1813
1814
|
[id, labelProp, label]
|
|
1814
1815
|
);
|
|
1815
|
-
const rootElement = /* @__PURE__ */
|
|
1816
|
+
const rootElement = /* @__PURE__ */ React20.createElement(RootContainer, { $width: width, style: style2, className }, children, start && /* @__PURE__ */ React20.createElement("span", { ref: startRef, className: cx(startBaseStyles, startClassName) }, start), (end || label) && /* @__PURE__ */ React20.createElement(
|
|
1816
1817
|
"span",
|
|
1817
1818
|
{
|
|
1818
1819
|
ref: endRef,
|
|
@@ -1825,7 +1826,7 @@ function InputFieldRoot({
|
|
|
1825
1826
|
() => measuredInputSize ? { width: measuredInputSize.width + 4 } : void 0,
|
|
1826
1827
|
[measuredInputSize]
|
|
1827
1828
|
);
|
|
1828
|
-
return /* @__PURE__ */
|
|
1829
|
+
return /* @__PURE__ */ React20.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ React20.createElement(
|
|
1829
1830
|
Popover,
|
|
1830
1831
|
{
|
|
1831
1832
|
open: true,
|
|
@@ -1841,7 +1842,7 @@ function InputFieldRoot({
|
|
|
1841
1842
|
event.stopPropagation();
|
|
1842
1843
|
}
|
|
1843
1844
|
},
|
|
1844
|
-
measuredWidthObject && /* @__PURE__ */
|
|
1845
|
+
measuredWidthObject && /* @__PURE__ */ React20.createElement(
|
|
1845
1846
|
"div",
|
|
1846
1847
|
{
|
|
1847
1848
|
className: "flex flex-col overflow-hidden",
|
|
@@ -1866,7 +1867,7 @@ var PrimitiveInputField = ({
|
|
|
1866
1867
|
() => ({ ...spacingStyles, ...style2 }),
|
|
1867
1868
|
[spacingStyles, style2]
|
|
1868
1869
|
);
|
|
1869
|
-
return /* @__PURE__ */
|
|
1870
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1870
1871
|
"input",
|
|
1871
1872
|
{
|
|
1872
1873
|
style: memoizedStyles,
|
|
@@ -1907,7 +1908,7 @@ var InputFieldComponent = forwardRef9(
|
|
|
1907
1908
|
className,
|
|
1908
1909
|
...inputProps
|
|
1909
1910
|
} = props;
|
|
1910
|
-
return /* @__PURE__ */
|
|
1911
|
+
return /* @__PURE__ */ React20.createElement(
|
|
1911
1912
|
InputFieldSubcomponents.Root,
|
|
1912
1913
|
{
|
|
1913
1914
|
width,
|
|
@@ -1923,7 +1924,7 @@ var InputFieldComponent = forwardRef9(
|
|
|
1923
1924
|
style: style2,
|
|
1924
1925
|
className
|
|
1925
1926
|
},
|
|
1926
|
-
/* @__PURE__ */
|
|
1927
|
+
/* @__PURE__ */ React20.createElement(InputFieldSubcomponents.Input, { ref, ...inputProps }),
|
|
1927
1928
|
children
|
|
1928
1929
|
);
|
|
1929
1930
|
}
|
|
@@ -2044,7 +2045,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
2044
2045
|
if (!dialogRef.current) return false;
|
|
2045
2046
|
return dialogRef.current.containsElement(element);
|
|
2046
2047
|
}, []);
|
|
2047
|
-
return /* @__PURE__ */
|
|
2048
|
+
return /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement(
|
|
2048
2049
|
DialogContext.Provider,
|
|
2049
2050
|
{
|
|
2050
2051
|
value: useMemo8(
|
|
@@ -2058,7 +2059,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
2058
2059
|
)
|
|
2059
2060
|
},
|
|
2060
2061
|
children
|
|
2061
|
-
), /* @__PURE__ */
|
|
2062
|
+
), /* @__PURE__ */ React21.createElement(
|
|
2062
2063
|
Dialog,
|
|
2063
2064
|
{
|
|
2064
2065
|
ref: dialogRef,
|
|
@@ -2089,7 +2090,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
2089
2090
|
[contents]
|
|
2090
2091
|
)
|
|
2091
2092
|
},
|
|
2092
|
-
contents?.type === "confirmation" ? /* @__PURE__ */
|
|
2093
|
+
contents?.type === "confirmation" ? /* @__PURE__ */ React21.createElement("div", { className: "flex flex-1 flex-row items-center" }, /* @__PURE__ */ React21.createElement(Spacer.Horizontal, null), /* @__PURE__ */ React21.createElement(
|
|
2093
2094
|
Button,
|
|
2094
2095
|
{
|
|
2095
2096
|
onClick: () => {
|
|
@@ -2098,7 +2099,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
2098
2099
|
}
|
|
2099
2100
|
},
|
|
2100
2101
|
contents.cancelButtonLabel ?? "Cancel"
|
|
2101
|
-
), /* @__PURE__ */
|
|
2102
|
+
), /* @__PURE__ */ React21.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ React21.createElement(
|
|
2102
2103
|
Button,
|
|
2103
2104
|
{
|
|
2104
2105
|
onClick: () => {
|
|
@@ -2107,7 +2108,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
2107
2108
|
}
|
|
2108
2109
|
},
|
|
2109
2110
|
contents.confirmButtonLabel ?? "OK"
|
|
2110
|
-
)) : contents?.type === "custom" ? /* @__PURE__ */
|
|
2111
|
+
)) : contents?.type === "custom" ? /* @__PURE__ */ React21.createElement(React21.Fragment, null, contents.children) : /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement(InputField2.Root, null, /* @__PURE__ */ React21.createElement(
|
|
2111
2112
|
InputField2.Input,
|
|
2112
2113
|
{
|
|
2113
2114
|
ref: inputRef,
|
|
@@ -2123,7 +2124,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
2123
2124
|
},
|
|
2124
2125
|
onKeyDown: handleKeyDown
|
|
2125
2126
|
}
|
|
2126
|
-
)), /* @__PURE__ */
|
|
2127
|
+
)), /* @__PURE__ */ React21.createElement(Spacer.Vertical, { size: 20 }), /* @__PURE__ */ React21.createElement("div", { className: "flex flex-1 flex-row items-center" }, /* @__PURE__ */ React21.createElement(Spacer.Horizontal, null), /* @__PURE__ */ React21.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ React21.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ React21.createElement(
|
|
2127
2128
|
Button,
|
|
2128
2129
|
{
|
|
2129
2130
|
disabled: !contents || contents.type !== "input" || !contents.inputValue,
|
|
@@ -2155,7 +2156,7 @@ function useOpenDialog() {
|
|
|
2155
2156
|
|
|
2156
2157
|
// src/contexts/FloatingWindowContext.tsx
|
|
2157
2158
|
import { uuid } from "@noya-app/noya-utils";
|
|
2158
|
-
import
|
|
2159
|
+
import React22, { createContext as createContext6, useContext as useContext6, useMemo as useMemo9, useState as useState15 } from "react";
|
|
2159
2160
|
import { createPortal } from "react-dom";
|
|
2160
2161
|
var FloatingWindowContext = createContext6(void 0);
|
|
2161
2162
|
var CurrentWindowContext = createContext6(void 0);
|
|
@@ -2168,7 +2169,7 @@ var FloatingWindowProvider = ({
|
|
|
2168
2169
|
const id = uuid();
|
|
2169
2170
|
setWindows((windows2) => ({
|
|
2170
2171
|
...windows2,
|
|
2171
|
-
[id]: /* @__PURE__ */
|
|
2172
|
+
[id]: /* @__PURE__ */ React22.createElement(CurrentWindowContext.Provider, { value: { id } }, element)
|
|
2172
2173
|
}));
|
|
2173
2174
|
return id;
|
|
2174
2175
|
};
|
|
@@ -2180,7 +2181,7 @@ var FloatingWindowProvider = ({
|
|
|
2180
2181
|
};
|
|
2181
2182
|
return { createWindow, closeWindow };
|
|
2182
2183
|
}, []);
|
|
2183
|
-
return /* @__PURE__ */
|
|
2184
|
+
return /* @__PURE__ */ React22.createElement(FloatingWindowContext.Provider, { value: contextValue }, children, Object.entries(windows).map(
|
|
2184
2185
|
([id, element]) => createPortal(element, document.body, id)
|
|
2185
2186
|
));
|
|
2186
2187
|
};
|
|
@@ -2202,30 +2203,30 @@ var useCurrentFloatingWindowInternal = () => {
|
|
|
2202
2203
|
};
|
|
2203
2204
|
|
|
2204
2205
|
// src/contexts/DesignSystemConfiguration.tsx
|
|
2205
|
-
var DesignSystemConfigurationContext =
|
|
2206
|
+
var DesignSystemConfigurationContext = React23.createContext({
|
|
2206
2207
|
platform: "key"
|
|
2207
2208
|
});
|
|
2208
|
-
var DesignSystemConfigurationProvider =
|
|
2209
|
+
var DesignSystemConfigurationProvider = React23.memo(
|
|
2209
2210
|
function DesignSystemConfigurationProvider2({
|
|
2210
2211
|
children,
|
|
2211
2212
|
platform
|
|
2212
2213
|
}) {
|
|
2213
|
-
const [internalPlatform, setInternalPlatform] =
|
|
2214
|
-
|
|
2214
|
+
const [internalPlatform, setInternalPlatform] = React23.useState(platform ?? "key");
|
|
2215
|
+
React23.useEffect(() => {
|
|
2215
2216
|
if (platform !== void 0) return;
|
|
2216
2217
|
if (typeof navigator !== "undefined") {
|
|
2217
2218
|
setInternalPlatform(getCurrentPlatform(navigator));
|
|
2218
2219
|
}
|
|
2219
2220
|
}, [platform]);
|
|
2220
|
-
const contextValue =
|
|
2221
|
+
const contextValue = React23.useMemo(
|
|
2221
2222
|
() => ({ platform: platform ?? internalPlatform }),
|
|
2222
2223
|
[platform, internalPlatform]
|
|
2223
2224
|
);
|
|
2224
|
-
return /* @__PURE__ */
|
|
2225
|
+
return /* @__PURE__ */ React23.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ React23.createElement(OpenPortalsProvider, null, /* @__PURE__ */ React23.createElement(DialogProvider, null, /* @__PURE__ */ React23.createElement(ToastProvider, null, /* @__PURE__ */ React23.createElement(FloatingWindowProvider, null, children)))));
|
|
2225
2226
|
}
|
|
2226
2227
|
);
|
|
2227
2228
|
function useDesignSystemConfiguration() {
|
|
2228
|
-
return
|
|
2229
|
+
return React23.useContext(DesignSystemConfigurationContext);
|
|
2229
2230
|
}
|
|
2230
2231
|
|
|
2231
2232
|
// src/utils/withSeparatorElements.ts
|
|
@@ -2322,7 +2323,7 @@ function getKeyboardShortcutsForMenuItems(menuItems, onSelect) {
|
|
|
2322
2323
|
var ShortcutElement = ({
|
|
2323
2324
|
children,
|
|
2324
2325
|
fixedWidth
|
|
2325
|
-
}) => /* @__PURE__ */
|
|
2326
|
+
}) => /* @__PURE__ */ React24.createElement(
|
|
2326
2327
|
"kbd",
|
|
2327
2328
|
{
|
|
2328
2329
|
className: cx(
|
|
@@ -2338,7 +2339,7 @@ var KeyboardShortcut = memo10(function KeyboardShortcut2({
|
|
|
2338
2339
|
}) {
|
|
2339
2340
|
const platform = useDesignSystemConfiguration().platform;
|
|
2340
2341
|
const { keys, separator: separator2 } = getShortcutDisplayParts(shortcut, platform);
|
|
2341
|
-
const keyElements = keys.map((key) => /* @__PURE__ */
|
|
2342
|
+
const keyElements = keys.map((key) => /* @__PURE__ */ React24.createElement(
|
|
2342
2343
|
ShortcutElement,
|
|
2343
2344
|
{
|
|
2344
2345
|
key,
|
|
@@ -2346,9 +2347,9 @@ var KeyboardShortcut = memo10(function KeyboardShortcut2({
|
|
|
2346
2347
|
},
|
|
2347
2348
|
key
|
|
2348
2349
|
));
|
|
2349
|
-
return /* @__PURE__ */
|
|
2350
|
+
return /* @__PURE__ */ React24.createElement(React24.Fragment, null, separator2 ? withSeparatorElements(
|
|
2350
2351
|
keyElements,
|
|
2351
|
-
/* @__PURE__ */
|
|
2352
|
+
/* @__PURE__ */ React24.createElement(ShortcutElement, null, separator2)
|
|
2352
2353
|
) : keyElements);
|
|
2353
2354
|
});
|
|
2354
2355
|
var SectionHeader = memo10(function SectionHeader2({
|
|
@@ -2358,7 +2359,7 @@ var SectionHeader = memo10(function SectionHeader2({
|
|
|
2358
2359
|
isFirst,
|
|
2359
2360
|
indented
|
|
2360
2361
|
}) {
|
|
2361
|
-
return /* @__PURE__ */
|
|
2362
|
+
return /* @__PURE__ */ React24.createElement(
|
|
2362
2363
|
"span",
|
|
2363
2364
|
{
|
|
2364
2365
|
id,
|
|
@@ -2373,7 +2374,7 @@ var SectionHeader = memo10(function SectionHeader2({
|
|
|
2373
2374
|
}
|
|
2374
2375
|
)
|
|
2375
2376
|
},
|
|
2376
|
-
indented && /* @__PURE__ */
|
|
2377
|
+
indented && /* @__PURE__ */ React24.createElement(
|
|
2377
2378
|
Spacer.Horizontal,
|
|
2378
2379
|
{
|
|
2379
2380
|
size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET + CHECKBOX_INDENT_WIDTH
|
|
@@ -2385,11 +2386,11 @@ var SectionHeader = memo10(function SectionHeader2({
|
|
|
2385
2386
|
|
|
2386
2387
|
// src/components/internal/MenuViewport.tsx
|
|
2387
2388
|
import { ChevronRightIcon } from "@noya-app/noya-icons";
|
|
2388
|
-
import
|
|
2389
|
+
import React26 from "react";
|
|
2389
2390
|
|
|
2390
2391
|
// src/components/internal/SelectItem.tsx
|
|
2391
|
-
import
|
|
2392
|
-
var SelectItem =
|
|
2392
|
+
import React25, { useCallback as useCallback14 } from "react";
|
|
2393
|
+
var SelectItem = React25.forwardRef(
|
|
2393
2394
|
({
|
|
2394
2395
|
children,
|
|
2395
2396
|
icon,
|
|
@@ -2414,7 +2415,7 @@ var SelectItem = React24.forwardRef(
|
|
|
2414
2415
|
[]
|
|
2415
2416
|
);
|
|
2416
2417
|
if (checked && Components4.CheckboxItem) {
|
|
2417
|
-
return /* @__PURE__ */
|
|
2418
|
+
return /* @__PURE__ */ React25.createElement("div", { className: "px-1" }, /* @__PURE__ */ React25.createElement(
|
|
2418
2419
|
Components4.CheckboxItem,
|
|
2419
2420
|
{
|
|
2420
2421
|
checked,
|
|
@@ -2426,14 +2427,14 @@ var SelectItem = React24.forwardRef(
|
|
|
2426
2427
|
testSelected && styles.testSelectedItemStyle
|
|
2427
2428
|
)
|
|
2428
2429
|
},
|
|
2429
|
-
/* @__PURE__ */
|
|
2430
|
-
Components4.ItemIndicator && /* @__PURE__ */
|
|
2431
|
-
icon && /* @__PURE__ */
|
|
2430
|
+
/* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }),
|
|
2431
|
+
Components4.ItemIndicator && /* @__PURE__ */ React25.createElement(Components4.ItemIndicator, { ...styles.itemIndicator }, /* @__PURE__ */ React25.createElement(Checkmark, null)),
|
|
2432
|
+
icon && /* @__PURE__ */ React25.createElement(React25.Fragment, null, renderIcon(icon), /* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: 8 })),
|
|
2432
2433
|
children,
|
|
2433
|
-
shortcut && /* @__PURE__ */
|
|
2434
|
+
shortcut && /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(Spacer.Horizontal, null), /* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ React25.createElement(KeyboardShortcut, { shortcut }))
|
|
2434
2435
|
));
|
|
2435
2436
|
}
|
|
2436
|
-
return /* @__PURE__ */
|
|
2437
|
+
return /* @__PURE__ */ React25.createElement("div", { className: "px-1" }, /* @__PURE__ */ React25.createElement(
|
|
2437
2438
|
Components4.Item,
|
|
2438
2439
|
{
|
|
2439
2440
|
className: cx(
|
|
@@ -2448,12 +2449,12 @@ var SelectItem = React24.forwardRef(
|
|
|
2448
2449
|
onSelect: handleSelectItem,
|
|
2449
2450
|
...props
|
|
2450
2451
|
},
|
|
2451
|
-
/* @__PURE__ */
|
|
2452
|
+
/* @__PURE__ */ React25.createElement("div", { className: "flex flex-1 items-center" }, indented && /* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }), checked ? /* @__PURE__ */ React25.createElement("div", { ...styles.itemIndicator }, /* @__PURE__ */ React25.createElement(Checkmark, null)) : indented ? /* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }) : null, icon && /* @__PURE__ */ React25.createElement(React25.Fragment, null, renderIcon(icon), /* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ React25.createElement(Components4.ItemText, null, children), shortcut && /* @__PURE__ */ React25.createElement(React25.Fragment, null, /* @__PURE__ */ React25.createElement(Spacer.Horizontal, null), /* @__PURE__ */ React25.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ React25.createElement(KeyboardShortcut, { shortcut })))
|
|
2452
2453
|
));
|
|
2453
2454
|
}
|
|
2454
2455
|
);
|
|
2455
2456
|
function Checkmark() {
|
|
2456
|
-
return /* @__PURE__ */
|
|
2457
|
+
return /* @__PURE__ */ React25.createElement(
|
|
2457
2458
|
"svg",
|
|
2458
2459
|
{
|
|
2459
2460
|
viewBox: "0 0 15 15",
|
|
@@ -2463,7 +2464,7 @@ function Checkmark() {
|
|
|
2463
2464
|
width: 15,
|
|
2464
2465
|
height: 15
|
|
2465
2466
|
},
|
|
2466
|
-
/* @__PURE__ */
|
|
2467
|
+
/* @__PURE__ */ React25.createElement(
|
|
2467
2468
|
"path",
|
|
2468
2469
|
{
|
|
2469
2470
|
className: "scale-90 origin-center",
|
|
@@ -2487,10 +2488,10 @@ var MenuViewport = ({
|
|
|
2487
2488
|
const hasCheckedItem = items.some(
|
|
2488
2489
|
(item) => item.type !== "separator" && item.type !== "sectionHeader" && item.checked
|
|
2489
2490
|
);
|
|
2490
|
-
return /* @__PURE__ */
|
|
2491
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, items.map((item, index) => {
|
|
2491
2492
|
switch (item.type) {
|
|
2492
2493
|
case "separator":
|
|
2493
|
-
return /* @__PURE__ */
|
|
2494
|
+
return /* @__PURE__ */ React26.createElement(
|
|
2494
2495
|
Components4.Separator,
|
|
2495
2496
|
{
|
|
2496
2497
|
key: index,
|
|
@@ -2498,7 +2499,7 @@ var MenuViewport = ({
|
|
|
2498
2499
|
}
|
|
2499
2500
|
);
|
|
2500
2501
|
case "sectionHeader":
|
|
2501
|
-
return /* @__PURE__ */
|
|
2502
|
+
return /* @__PURE__ */ React26.createElement(
|
|
2502
2503
|
SectionHeader,
|
|
2503
2504
|
{
|
|
2504
2505
|
isFirst: index === 0,
|
|
@@ -2509,7 +2510,7 @@ var MenuViewport = ({
|
|
|
2509
2510
|
);
|
|
2510
2511
|
case "submenu":
|
|
2511
2512
|
if (item.items && Components4.Sub && Components4.SubTrigger && Components4.SubContent && Components4.Portal) {
|
|
2512
|
-
return /* @__PURE__ */
|
|
2513
|
+
return /* @__PURE__ */ React26.createElement(Components4.Sub, { key: item.id }, /* @__PURE__ */ React26.createElement(
|
|
2513
2514
|
Components4.SubTrigger,
|
|
2514
2515
|
{
|
|
2515
2516
|
className: cx(
|
|
@@ -2523,7 +2524,7 @@ var MenuViewport = ({
|
|
|
2523
2524
|
},
|
|
2524
2525
|
disabled: item.disabled
|
|
2525
2526
|
},
|
|
2526
|
-
/* @__PURE__ */
|
|
2527
|
+
/* @__PURE__ */ React26.createElement(
|
|
2527
2528
|
SelectItem,
|
|
2528
2529
|
{
|
|
2529
2530
|
value: item.id,
|
|
@@ -2534,17 +2535,17 @@ var MenuViewport = ({
|
|
|
2534
2535
|
indented: hasCheckedItem,
|
|
2535
2536
|
disabled: item.disabled
|
|
2536
2537
|
},
|
|
2537
|
-
/* @__PURE__ */
|
|
2538
|
-
/* @__PURE__ */
|
|
2538
|
+
/* @__PURE__ */ React26.createElement("div", { className: "flex items-center flex-1" }, item.title),
|
|
2539
|
+
/* @__PURE__ */ React26.createElement(ChevronRightIcon, { className: "-mr-1" })
|
|
2539
2540
|
)
|
|
2540
|
-
), /* @__PURE__ */
|
|
2541
|
+
), /* @__PURE__ */ React26.createElement(Components4.Portal, null, /* @__PURE__ */ React26.createElement(
|
|
2541
2542
|
Components4.SubContent,
|
|
2542
2543
|
{
|
|
2543
2544
|
...portalScopeProps(portalScopeId),
|
|
2544
2545
|
alignOffset: -5,
|
|
2545
2546
|
className: styles.contentStyle
|
|
2546
2547
|
},
|
|
2547
|
-
/* @__PURE__ */
|
|
2548
|
+
/* @__PURE__ */ React26.createElement(
|
|
2548
2549
|
MenuViewport,
|
|
2549
2550
|
{
|
|
2550
2551
|
items: item.items,
|
|
@@ -2555,7 +2556,7 @@ var MenuViewport = ({
|
|
|
2555
2556
|
)));
|
|
2556
2557
|
} else return null;
|
|
2557
2558
|
default:
|
|
2558
|
-
return /* @__PURE__ */
|
|
2559
|
+
return /* @__PURE__ */ React26.createElement(
|
|
2559
2560
|
SelectItem,
|
|
2560
2561
|
{
|
|
2561
2562
|
key: item.value,
|
|
@@ -2578,7 +2579,7 @@ var MenuViewport = ({
|
|
|
2578
2579
|
// src/components/DropdownMenu.tsx
|
|
2579
2580
|
var Components = {
|
|
2580
2581
|
Separator: RadixDropdownMenu.Separator,
|
|
2581
|
-
ItemText:
|
|
2582
|
+
ItemText: React27.Fragment,
|
|
2582
2583
|
Item: RadixDropdownMenu.Item,
|
|
2583
2584
|
CheckboxItem: RadixDropdownMenu.CheckboxItem,
|
|
2584
2585
|
ItemIndicator: RadixDropdownMenu.ItemIndicator,
|
|
@@ -2618,14 +2619,14 @@ var DropdownMenuRoot = forwardRefGeneric(function DropdownMenuRoot2(props, forwa
|
|
|
2618
2619
|
}),
|
|
2619
2620
|
[contentStyle]
|
|
2620
2621
|
);
|
|
2621
|
-
return /* @__PURE__ */
|
|
2622
|
+
return /* @__PURE__ */ React27.createElement(RadixDropdownMenu.Root, { onOpenChange, open }, /* @__PURE__ */ React27.createElement(
|
|
2622
2623
|
RadixDropdownMenu.Trigger,
|
|
2623
2624
|
{
|
|
2624
2625
|
ref: forwardedRef,
|
|
2625
2626
|
asChild: true
|
|
2626
2627
|
},
|
|
2627
2628
|
children
|
|
2628
|
-
), /* @__PURE__ */
|
|
2629
|
+
), /* @__PURE__ */ React27.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ React27.createElement(
|
|
2629
2630
|
RadixDropdownMenu.Content,
|
|
2630
2631
|
{
|
|
2631
2632
|
...portalScopeProps(portalScopeId),
|
|
@@ -2639,7 +2640,7 @@ var DropdownMenuRoot = forwardRefGeneric(function DropdownMenuRoot2(props, forwa
|
|
|
2639
2640
|
...{ onCloseAutoFocus }
|
|
2640
2641
|
},
|
|
2641
2642
|
items.length === 0 ? emptyState : null,
|
|
2642
|
-
/* @__PURE__ */
|
|
2643
|
+
/* @__PURE__ */ React27.createElement(
|
|
2643
2644
|
MenuViewport,
|
|
2644
2645
|
{
|
|
2645
2646
|
items,
|
|
@@ -2670,14 +2671,14 @@ var ActionMenu = memoGeneric(function ActionMenu2({
|
|
|
2670
2671
|
...style2
|
|
2671
2672
|
};
|
|
2672
2673
|
}, [selected, style2, variant]);
|
|
2673
|
-
return /* @__PURE__ */
|
|
2674
|
+
return /* @__PURE__ */ React28.createElement(
|
|
2674
2675
|
DropdownMenu,
|
|
2675
2676
|
{
|
|
2676
2677
|
items: menuItems,
|
|
2677
2678
|
onSelect,
|
|
2678
2679
|
onOpenChange
|
|
2679
2680
|
},
|
|
2680
|
-
/* @__PURE__ */
|
|
2681
|
+
/* @__PURE__ */ React28.createElement(
|
|
2681
2682
|
IconButton,
|
|
2682
2683
|
{
|
|
2683
2684
|
style: internalStyle,
|
|
@@ -2691,16 +2692,16 @@ var ActionMenu = memoGeneric(function ActionMenu2({
|
|
|
2691
2692
|
});
|
|
2692
2693
|
|
|
2693
2694
|
// src/components/ActivityIndicator.tsx
|
|
2694
|
-
import * as
|
|
2695
|
-
var ActivityIndicator =
|
|
2695
|
+
import * as React29 from "react";
|
|
2696
|
+
var ActivityIndicator = React29.memo(function ActivityIndicator2({
|
|
2696
2697
|
size: size2 = 16,
|
|
2697
2698
|
opacity = 1,
|
|
2698
2699
|
color = "black",
|
|
2699
2700
|
trackColor = "rgba(0, 0, 0, 0.1)",
|
|
2700
2701
|
className
|
|
2701
2702
|
}) {
|
|
2702
|
-
const opacityStyle =
|
|
2703
|
-
const dynamicStyles =
|
|
2703
|
+
const opacityStyle = React29.useMemo(() => ({ opacity }), [opacity]);
|
|
2704
|
+
const dynamicStyles = React29.useMemo(
|
|
2704
2705
|
() => ({
|
|
2705
2706
|
border: `2px solid ${trackColor}`,
|
|
2706
2707
|
borderTopColor: color,
|
|
@@ -2709,19 +2710,19 @@ var ActivityIndicator = React28.memo(function ActivityIndicator2({
|
|
|
2709
2710
|
}),
|
|
2710
2711
|
[size2, color, trackColor]
|
|
2711
2712
|
);
|
|
2712
|
-
return /* @__PURE__ */
|
|
2713
|
+
return /* @__PURE__ */ React29.createElement(
|
|
2713
2714
|
"div",
|
|
2714
2715
|
{
|
|
2715
2716
|
className: cx("flex justify-center items-center", className),
|
|
2716
2717
|
style: opacityStyle
|
|
2717
2718
|
},
|
|
2718
|
-
/* @__PURE__ */
|
|
2719
|
+
/* @__PURE__ */ React29.createElement("div", { style: dynamicStyles, className: "animate-spin rounded-[50%]" })
|
|
2719
2720
|
);
|
|
2720
2721
|
});
|
|
2721
2722
|
|
|
2722
2723
|
// src/components/Avatar.tsx
|
|
2723
2724
|
import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
2724
|
-
import
|
|
2725
|
+
import React30, { forwardRef as forwardRef10, useMemo as useMemo14 } from "react";
|
|
2725
2726
|
|
|
2726
2727
|
// src/utils/colorFromString.ts
|
|
2727
2728
|
var colorForStringValues = {
|
|
@@ -2790,7 +2791,7 @@ var getInnerAvatarStyles = (size2, variant) => {
|
|
|
2790
2791
|
minHeight: dimension
|
|
2791
2792
|
};
|
|
2792
2793
|
};
|
|
2793
|
-
var AvatarRoot =
|
|
2794
|
+
var AvatarRoot = React30.forwardRef(
|
|
2794
2795
|
({
|
|
2795
2796
|
className,
|
|
2796
2797
|
size: size2 = 21,
|
|
@@ -2809,7 +2810,7 @@ var AvatarRoot = React29.forwardRef(
|
|
|
2809
2810
|
}),
|
|
2810
2811
|
[backgroundColor, size2, style2]
|
|
2811
2812
|
);
|
|
2812
|
-
return /* @__PURE__ */
|
|
2813
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2813
2814
|
AvatarPrimitive.Root,
|
|
2814
2815
|
{
|
|
2815
2816
|
ref,
|
|
@@ -2824,8 +2825,8 @@ var AvatarRoot = React29.forwardRef(
|
|
|
2824
2825
|
);
|
|
2825
2826
|
}
|
|
2826
2827
|
);
|
|
2827
|
-
var AvatarImage =
|
|
2828
|
-
return /* @__PURE__ */
|
|
2828
|
+
var AvatarImage = React30.forwardRef(({ className, size: size2 = 21, variant = "normal", ...props }, ref) => {
|
|
2829
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2829
2830
|
AvatarPrimitive.Image,
|
|
2830
2831
|
{
|
|
2831
2832
|
ref,
|
|
@@ -2841,9 +2842,9 @@ var AvatarImage = React29.forwardRef(({ className, size: size2 = 21, variant = "
|
|
|
2841
2842
|
function getMonogram(text) {
|
|
2842
2843
|
return text?.at(0)?.toLocaleUpperCase();
|
|
2843
2844
|
}
|
|
2844
|
-
var AvatarFallback =
|
|
2845
|
+
var AvatarFallback = React30.forwardRef(
|
|
2845
2846
|
({ className, children, style: style2, size: size2 = 21, backgroundColor, ...props }, ref) => {
|
|
2846
|
-
return /* @__PURE__ */
|
|
2847
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2847
2848
|
AvatarPrimitive.Fallback,
|
|
2848
2849
|
{
|
|
2849
2850
|
ref,
|
|
@@ -2864,7 +2865,7 @@ var AvatarFallback = React29.forwardRef(
|
|
|
2864
2865
|
);
|
|
2865
2866
|
}
|
|
2866
2867
|
);
|
|
2867
|
-
var Avatar =
|
|
2868
|
+
var Avatar = React30.memo(
|
|
2868
2869
|
forwardRef10(function Avatar2({
|
|
2869
2870
|
image,
|
|
2870
2871
|
name,
|
|
@@ -2877,7 +2878,7 @@ var Avatar = React29.memo(
|
|
|
2877
2878
|
...props
|
|
2878
2879
|
}, forwardedRef) {
|
|
2879
2880
|
const getBackgroundColor = backgroundColor ?? colorFromString(userId ?? name ?? "");
|
|
2880
|
-
return /* @__PURE__ */
|
|
2881
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2881
2882
|
AvatarRoot,
|
|
2882
2883
|
{
|
|
2883
2884
|
ref: forwardedRef,
|
|
@@ -2887,7 +2888,7 @@ var Avatar = React29.memo(
|
|
|
2887
2888
|
className,
|
|
2888
2889
|
...props
|
|
2889
2890
|
},
|
|
2890
|
-
image ? /* @__PURE__ */
|
|
2891
|
+
image ? /* @__PURE__ */ React30.createElement(AvatarImage, { src: image, alt: name, size: size2, variant }) : /* @__PURE__ */ React30.createElement(
|
|
2891
2892
|
AvatarFallback,
|
|
2892
2893
|
{
|
|
2893
2894
|
backgroundColor: getBackgroundColor,
|
|
@@ -2899,31 +2900,31 @@ var Avatar = React29.memo(
|
|
|
2899
2900
|
);
|
|
2900
2901
|
})
|
|
2901
2902
|
);
|
|
2902
|
-
var OverflowAvatar =
|
|
2903
|
+
var OverflowAvatar = React30.memo(function OverflowAvatar2({
|
|
2903
2904
|
size: size2 = 21,
|
|
2904
2905
|
count
|
|
2905
2906
|
}) {
|
|
2906
|
-
return /* @__PURE__ */
|
|
2907
|
+
return /* @__PURE__ */ React30.createElement(AvatarRoot, { size: size2, backgroundColor: "var(--n-text-disabled)", disabled: true }, /* @__PURE__ */ React30.createElement(AvatarFallback, { backgroundColor: "var(--n-text-disabled)", size: size2 }, "+", count));
|
|
2907
2908
|
});
|
|
2908
|
-
var AvatarStack =
|
|
2909
|
+
var AvatarStack = React30.memo(function AvatarStack2({
|
|
2909
2910
|
size: size2 = 21,
|
|
2910
2911
|
children,
|
|
2911
2912
|
max = 3,
|
|
2912
2913
|
className
|
|
2913
2914
|
}) {
|
|
2914
|
-
const avatarCount =
|
|
2915
|
+
const avatarCount = React30.Children.count(children);
|
|
2915
2916
|
const overflowCount = avatarCount - max;
|
|
2916
2917
|
const childrenArray = useMemo14(() => {
|
|
2917
|
-
const processedChildren =
|
|
2918
|
+
const processedChildren = React30.Children.toArray(children).map((child) => React30.cloneElement(child, { size: size2 })).slice(0, max);
|
|
2918
2919
|
if (avatarCount > max) {
|
|
2919
2920
|
return [
|
|
2920
|
-
/* @__PURE__ */
|
|
2921
|
+
/* @__PURE__ */ React30.createElement(OverflowAvatar, { key: "overflow", size: size2, count: overflowCount }),
|
|
2921
2922
|
...processedChildren
|
|
2922
2923
|
];
|
|
2923
2924
|
}
|
|
2924
2925
|
return processedChildren;
|
|
2925
2926
|
}, [children, max, size2, avatarCount, overflowCount]);
|
|
2926
|
-
return /* @__PURE__ */
|
|
2927
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2927
2928
|
"div",
|
|
2928
2929
|
{
|
|
2929
2930
|
className: cx(
|
|
@@ -2933,7 +2934,7 @@ var AvatarStack = React29.memo(function AvatarStack2({
|
|
|
2933
2934
|
)
|
|
2934
2935
|
},
|
|
2935
2936
|
childrenArray.map((child, index) => {
|
|
2936
|
-
return /* @__PURE__ */
|
|
2937
|
+
return /* @__PURE__ */ React30.createElement(
|
|
2937
2938
|
"div",
|
|
2938
2939
|
{
|
|
2939
2940
|
className: cx("relative", size2 > 36 ? "-ml-3" : "-ml-1.5"),
|
|
@@ -2946,10 +2947,10 @@ var AvatarStack = React29.memo(function AvatarStack2({
|
|
|
2946
2947
|
});
|
|
2947
2948
|
|
|
2948
2949
|
// src/components/NoyaLogo.tsx
|
|
2949
|
-
import
|
|
2950
|
+
import React31, { forwardRef as forwardRef11 } from "react";
|
|
2950
2951
|
var Logo = forwardRef11(function Logo2(props, ref) {
|
|
2951
2952
|
const fill = props.fill || cssVars.colors.logoFill;
|
|
2952
|
-
return /* @__PURE__ */
|
|
2953
|
+
return /* @__PURE__ */ React31.createElement(
|
|
2953
2954
|
"svg",
|
|
2954
2955
|
{
|
|
2955
2956
|
ref,
|
|
@@ -2959,14 +2960,14 @@ var Logo = forwardRef11(function Logo2(props, ref) {
|
|
|
2959
2960
|
...props,
|
|
2960
2961
|
className: "w-6 aspect-[24/26]"
|
|
2961
2962
|
},
|
|
2962
|
-
/* @__PURE__ */
|
|
2963
|
+
/* @__PURE__ */ React31.createElement(
|
|
2963
2964
|
"path",
|
|
2964
2965
|
{
|
|
2965
2966
|
d: "M6.5 3H2V12H5V6H6.5C7.32843 6 8 6.67157 8 7.5V12H11V7.5C11 5.01472 8.98528 3 6.5 3Z",
|
|
2966
2967
|
fill
|
|
2967
2968
|
}
|
|
2968
2969
|
),
|
|
2969
|
-
/* @__PURE__ */
|
|
2970
|
+
/* @__PURE__ */ React31.createElement(
|
|
2970
2971
|
"path",
|
|
2971
2972
|
{
|
|
2972
2973
|
fillRule: "evenodd",
|
|
@@ -2975,14 +2976,14 @@ var Logo = forwardRef11(function Logo2(props, ref) {
|
|
|
2975
2976
|
fill
|
|
2976
2977
|
}
|
|
2977
2978
|
),
|
|
2978
|
-
/* @__PURE__ */
|
|
2979
|
+
/* @__PURE__ */ React31.createElement(
|
|
2979
2980
|
"path",
|
|
2980
2981
|
{
|
|
2981
2982
|
d: "M5 14H2V18.5C2 20.9853 4.01472 23 6.5 23H8V26H11V17H8V20H6.5C5.67157 20 5 19.3284 5 18.5V14Z",
|
|
2982
2983
|
fill
|
|
2983
2984
|
}
|
|
2984
2985
|
),
|
|
2985
|
-
/* @__PURE__ */
|
|
2986
|
+
/* @__PURE__ */ React31.createElement(
|
|
2986
2987
|
"path",
|
|
2987
2988
|
{
|
|
2988
2989
|
fillRule: "evenodd",
|
|
@@ -2995,10 +2996,10 @@ var Logo = forwardRef11(function Logo2(props, ref) {
|
|
|
2995
2996
|
});
|
|
2996
2997
|
|
|
2997
2998
|
// src/components/ai-assistant/AIAssistantLayout.tsx
|
|
2998
|
-
import
|
|
2999
|
+
import React33, { forwardRef as forwardRef13 } from "react";
|
|
2999
3000
|
|
|
3000
3001
|
// src/components/TextArea.tsx
|
|
3001
|
-
import
|
|
3002
|
+
import React32, {
|
|
3002
3003
|
forwardRef as forwardRef12,
|
|
3003
3004
|
memo as memo12,
|
|
3004
3005
|
useCallback as useCallback15,
|
|
@@ -3044,7 +3045,7 @@ var TextArea = memo12(
|
|
|
3044
3045
|
},
|
|
3045
3046
|
[autoResize, autoResizeRef, forwardedRef]
|
|
3046
3047
|
);
|
|
3047
|
-
return /* @__PURE__ */
|
|
3048
|
+
return /* @__PURE__ */ React32.createElement(
|
|
3048
3049
|
"textarea",
|
|
3049
3050
|
{
|
|
3050
3051
|
className: cx(
|
|
@@ -3069,31 +3070,31 @@ var TextAreaRow = memo12(
|
|
|
3069
3070
|
endClassName,
|
|
3070
3071
|
...rest
|
|
3071
3072
|
}, forwardedRef) {
|
|
3072
|
-
return /* @__PURE__ */
|
|
3073
|
+
return /* @__PURE__ */ React32.createElement(
|
|
3073
3074
|
"div",
|
|
3074
3075
|
{
|
|
3075
3076
|
ref: forwardedRef,
|
|
3076
3077
|
className: cx("relative w-full h-full", className)
|
|
3077
3078
|
},
|
|
3078
|
-
/* @__PURE__ */
|
|
3079
|
-
/* @__PURE__ */
|
|
3079
|
+
/* @__PURE__ */ React32.createElement(TextArea, { className: textAreaClassName, ...rest, ref: textAreaRef }),
|
|
3080
|
+
/* @__PURE__ */ React32.createElement("div", { className: cx("absolute right-1 top-4", endClassName) }, end)
|
|
3080
3081
|
);
|
|
3081
3082
|
})
|
|
3082
3083
|
);
|
|
3083
3084
|
|
|
3084
3085
|
// src/components/ai-assistant/AIAssistantLayout.tsx
|
|
3085
3086
|
var AIAssistantLoadingIndicator = () => {
|
|
3086
|
-
return /* @__PURE__ */
|
|
3087
|
+
return /* @__PURE__ */ React33.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React33.createElement(
|
|
3087
3088
|
Avatar,
|
|
3088
3089
|
{
|
|
3089
3090
|
name: "Assistant",
|
|
3090
3091
|
size: INPUT_HEIGHT,
|
|
3091
3092
|
backgroundColor: cssVars.colors.primaryPastel
|
|
3092
3093
|
},
|
|
3093
|
-
/* @__PURE__ */
|
|
3094
|
-
), /* @__PURE__ */
|
|
3094
|
+
/* @__PURE__ */ React33.createElement(Logo, { style: { width: 15 }, fill: cssVars.colors.primary })
|
|
3095
|
+
), /* @__PURE__ */ React33.createElement("div", { className: "animate-pulse" }, "\u258B"));
|
|
3095
3096
|
};
|
|
3096
|
-
var AIAssistantInput = forwardRef13(({ value, onChange, onSubmitClick, onKeyDown, disabled }, ref) => /* @__PURE__ */
|
|
3097
|
+
var AIAssistantInput = forwardRef13(({ value, onChange, onSubmitClick, onKeyDown, disabled }, ref) => /* @__PURE__ */ React33.createElement(
|
|
3097
3098
|
TextAreaRow,
|
|
3098
3099
|
{
|
|
3099
3100
|
autoResize: true,
|
|
@@ -3105,7 +3106,7 @@ var AIAssistantInput = forwardRef13(({ value, onChange, onSubmitClick, onKeyDown
|
|
|
3105
3106
|
placeholder: "Tell me what you'd like to do...",
|
|
3106
3107
|
onKeyDown,
|
|
3107
3108
|
disabled,
|
|
3108
|
-
end: /* @__PURE__ */
|
|
3109
|
+
end: /* @__PURE__ */ React33.createElement(
|
|
3109
3110
|
IconButton,
|
|
3110
3111
|
{
|
|
3111
3112
|
iconName: "ArrowUpIcon",
|
|
@@ -3130,18 +3131,18 @@ var AIAssistantLayout = forwardRef13(
|
|
|
3130
3131
|
className,
|
|
3131
3132
|
style: style2
|
|
3132
3133
|
}, ref) => {
|
|
3133
|
-
return /* @__PURE__ */
|
|
3134
|
+
return /* @__PURE__ */ React33.createElement("div", { className: cx("flex flex-col flex-1", className), style: style2 }, /* @__PURE__ */ React33.createElement("div", { className: "flex-1 min-h-0 overflow-auto", ref }, /* @__PURE__ */ React33.createElement("div", { className: "flex flex-col gap-2 pb-4 pt-1" }, renderMessages(), isLoading ? renderLoadingIndicator?.() : null)), /* @__PURE__ */ React33.createElement("div", { className: "border-t border-divider pt-1 px-1" }, renderInput()));
|
|
3134
3135
|
}
|
|
3135
3136
|
);
|
|
3136
3137
|
|
|
3137
3138
|
// src/components/AnimatePresence.tsx
|
|
3138
3139
|
import { isDeepEqual as isDeepEqual3 } from "@noya-app/noya-utils";
|
|
3139
|
-
import
|
|
3140
|
+
import React34, {
|
|
3140
3141
|
Children as Children2,
|
|
3141
3142
|
isValidElement as isValidElement2,
|
|
3142
3143
|
useCallback as useCallback16,
|
|
3143
3144
|
useEffect as useEffect14,
|
|
3144
|
-
useLayoutEffect as
|
|
3145
|
+
useLayoutEffect as useLayoutEffect4,
|
|
3145
3146
|
useRef as useRef14,
|
|
3146
3147
|
useState as useState17
|
|
3147
3148
|
} from "react";
|
|
@@ -3181,7 +3182,7 @@ var PresenceChild = ({
|
|
|
3181
3182
|
willChange: "opacity",
|
|
3182
3183
|
backfaceVisibility: "hidden"
|
|
3183
3184
|
};
|
|
3184
|
-
|
|
3185
|
+
useLayoutEffect4(() => {
|
|
3185
3186
|
let rafId;
|
|
3186
3187
|
if (isPresent && animationState !== "entered") {
|
|
3187
3188
|
if (isInitialMount.current && skipInitialAnimation) {
|
|
@@ -3216,7 +3217,7 @@ var PresenceChild = ({
|
|
|
3216
3217
|
if (animationState === "exited" && !isPresent) {
|
|
3217
3218
|
return null;
|
|
3218
3219
|
}
|
|
3219
|
-
return /* @__PURE__ */
|
|
3220
|
+
return /* @__PURE__ */ React34.createElement("div", { style: mergedAnimationStyles[animationState], className }, children);
|
|
3220
3221
|
};
|
|
3221
3222
|
var AnimatePresence = ({
|
|
3222
3223
|
children,
|
|
@@ -3291,7 +3292,7 @@ var AnimatePresence = ({
|
|
|
3291
3292
|
return filtered;
|
|
3292
3293
|
});
|
|
3293
3294
|
}, []);
|
|
3294
|
-
return /* @__PURE__ */
|
|
3295
|
+
return /* @__PURE__ */ React34.createElement(React34.Fragment, null, mountedChildren.map(({ child, isPresent, skipInitialAnimation: skipInitialAnimation2 }) => /* @__PURE__ */ React34.createElement(
|
|
3295
3296
|
PresenceChild,
|
|
3296
3297
|
{
|
|
3297
3298
|
key: child.key,
|
|
@@ -3307,13 +3308,13 @@ var AnimatePresence = ({
|
|
|
3307
3308
|
};
|
|
3308
3309
|
|
|
3309
3310
|
// src/components/Banner.tsx
|
|
3310
|
-
import
|
|
3311
|
+
import React35 from "react";
|
|
3311
3312
|
var bannerStyles = {
|
|
3312
3313
|
backgroundColor: cssVars.colors.inputBackground,
|
|
3313
3314
|
color: cssVars.colors.textDisabled
|
|
3314
3315
|
};
|
|
3315
3316
|
function Banner({ label = "No items", className, style: style2 }) {
|
|
3316
|
-
return /* @__PURE__ */
|
|
3317
|
+
return /* @__PURE__ */ React35.createElement(
|
|
3317
3318
|
"div",
|
|
3318
3319
|
{
|
|
3319
3320
|
className: cx(
|
|
@@ -3322,15 +3323,15 @@ function Banner({ label = "No items", className, style: style2 }) {
|
|
|
3322
3323
|
),
|
|
3323
3324
|
style: { ...bannerStyles, ...style2 }
|
|
3324
3325
|
},
|
|
3325
|
-
/* @__PURE__ */
|
|
3326
|
+
/* @__PURE__ */ React35.createElement(Small, { color: "textDisabled" }, label)
|
|
3326
3327
|
);
|
|
3327
3328
|
}
|
|
3328
3329
|
|
|
3329
3330
|
// src/components/Breadcrumbs.tsx
|
|
3330
3331
|
import { forwardRef as forwardRef14 } from "react";
|
|
3331
|
-
import
|
|
3332
|
+
import React36 from "react";
|
|
3332
3333
|
var BreadcrumbText = forwardRef14(function BreadcrumbText2({ children, className, onClick, ...props }, ref) {
|
|
3333
|
-
return /* @__PURE__ */
|
|
3334
|
+
return /* @__PURE__ */ React36.createElement(
|
|
3334
3335
|
Text,
|
|
3335
3336
|
{
|
|
3336
3337
|
...props,
|
|
@@ -3350,7 +3351,7 @@ var slashStyle = {
|
|
|
3350
3351
|
margin: "0 3px"
|
|
3351
3352
|
};
|
|
3352
3353
|
var BreadcrumbSlash = () => {
|
|
3353
|
-
return /* @__PURE__ */
|
|
3354
|
+
return /* @__PURE__ */ React36.createElement(
|
|
3354
3355
|
"svg",
|
|
3355
3356
|
{
|
|
3356
3357
|
width: "7",
|
|
@@ -3361,7 +3362,7 @@ var BreadcrumbSlash = () => {
|
|
|
3361
3362
|
opacity: 0.5,
|
|
3362
3363
|
style: slashStyle
|
|
3363
3364
|
},
|
|
3364
|
-
/* @__PURE__ */
|
|
3365
|
+
/* @__PURE__ */ React36.createElement(
|
|
3365
3366
|
"path",
|
|
3366
3367
|
{
|
|
3367
3368
|
d: "M1 16L6 1",
|
|
@@ -3375,16 +3376,16 @@ var BreadcrumbSlash = () => {
|
|
|
3375
3376
|
};
|
|
3376
3377
|
|
|
3377
3378
|
// src/components/Checkbox.tsx
|
|
3378
|
-
import * as
|
|
3379
|
+
import * as React37 from "react";
|
|
3379
3380
|
var colorSchemeStyles = {
|
|
3380
3381
|
normal: "text-text-subtle",
|
|
3381
3382
|
primary: "text-primary",
|
|
3382
3383
|
secondary: "text-secondary"
|
|
3383
3384
|
};
|
|
3384
|
-
var Checkbox =
|
|
3385
|
-
|
|
3385
|
+
var Checkbox = React37.memo(
|
|
3386
|
+
React37.forwardRef(function Checkbox2({ className, style: style2, colorScheme = "secondary", ...props }, ref) {
|
|
3386
3387
|
const { fieldId: id } = useLabel({ fieldId: props.id });
|
|
3387
|
-
return /* @__PURE__ */
|
|
3388
|
+
return /* @__PURE__ */ React37.createElement(
|
|
3388
3389
|
"div",
|
|
3389
3390
|
{
|
|
3390
3391
|
className: cx(
|
|
@@ -3394,7 +3395,7 @@ var Checkbox = React36.memo(
|
|
|
3394
3395
|
),
|
|
3395
3396
|
style: style2
|
|
3396
3397
|
},
|
|
3397
|
-
/* @__PURE__ */
|
|
3398
|
+
/* @__PURE__ */ React37.createElement(
|
|
3398
3399
|
"input",
|
|
3399
3400
|
{
|
|
3400
3401
|
ref,
|
|
@@ -3423,7 +3424,7 @@ var Checkbox = React36.memo(
|
|
|
3423
3424
|
id
|
|
3424
3425
|
}
|
|
3425
3426
|
),
|
|
3426
|
-
/* @__PURE__ */
|
|
3427
|
+
/* @__PURE__ */ React37.createElement(
|
|
3427
3428
|
"svg",
|
|
3428
3429
|
{
|
|
3429
3430
|
className: `
|
|
@@ -3443,7 +3444,7 @@ var Checkbox = React36.memo(
|
|
|
3443
3444
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3444
3445
|
"aria-hidden": "true"
|
|
3445
3446
|
},
|
|
3446
|
-
/* @__PURE__ */
|
|
3447
|
+
/* @__PURE__ */ React37.createElement(
|
|
3447
3448
|
"path",
|
|
3448
3449
|
{
|
|
3449
3450
|
d: "M3 6L4.5 7.5L8 4",
|
|
@@ -3459,10 +3460,10 @@ var Checkbox = React36.memo(
|
|
|
3459
3460
|
|
|
3460
3461
|
// src/components/Chip.tsx
|
|
3461
3462
|
import { Cross1Icon, PlusIcon } from "@noya-app/noya-icons";
|
|
3462
|
-
import
|
|
3463
|
+
import React39, { forwardRef as forwardRef16, memo as memo14 } from "react";
|
|
3463
3464
|
|
|
3464
3465
|
// src/hooks/useHover.ts
|
|
3465
|
-
import * as
|
|
3466
|
+
import * as React38 from "react";
|
|
3466
3467
|
var globalIgnoreEmulatedMouseEvents = false;
|
|
3467
3468
|
var hoverCount = 0;
|
|
3468
3469
|
function setGlobalIgnoreEmulatedMouseEvents() {
|
|
@@ -3492,13 +3493,13 @@ function setupGlobalTouchEvents() {
|
|
|
3492
3493
|
}
|
|
3493
3494
|
function useHover(props = {}) {
|
|
3494
3495
|
const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;
|
|
3495
|
-
const [isHovered, setHovered] =
|
|
3496
|
-
const state =
|
|
3496
|
+
const [isHovered, setHovered] = React38.useState(false);
|
|
3497
|
+
const state = React38.useRef({
|
|
3497
3498
|
isHovered: false,
|
|
3498
3499
|
ignoreEmulatedMouseEvents: false
|
|
3499
3500
|
}).current;
|
|
3500
|
-
|
|
3501
|
-
const hoverProps =
|
|
3501
|
+
React38.useEffect(setupGlobalTouchEvents, []);
|
|
3502
|
+
const hoverProps = React38.useMemo(
|
|
3502
3503
|
function getHoverProps() {
|
|
3503
3504
|
function triggerHoverStart(event, pointerType) {
|
|
3504
3505
|
if (isDisabled || pointerType === "touch" || state.isHovered) {
|
|
@@ -3644,7 +3645,7 @@ var Chip = memo14(
|
|
|
3644
3645
|
className
|
|
3645
3646
|
);
|
|
3646
3647
|
const color = colorScheme === "primary" ? cssVars.colors.primary : colorScheme === "secondary" ? cssVars.colors.secondary : cssVars.colors.text;
|
|
3647
|
-
return /* @__PURE__ */
|
|
3648
|
+
return /* @__PURE__ */ React39.createElement(
|
|
3648
3649
|
"span",
|
|
3649
3650
|
{
|
|
3650
3651
|
ref: forwardedRef,
|
|
@@ -3654,7 +3655,7 @@ var Chip = memo14(
|
|
|
3654
3655
|
tabIndex,
|
|
3655
3656
|
...rest
|
|
3656
3657
|
},
|
|
3657
|
-
addable && /* @__PURE__ */
|
|
3658
|
+
addable && /* @__PURE__ */ React39.createElement(
|
|
3658
3659
|
PlusIcon,
|
|
3659
3660
|
{
|
|
3660
3661
|
className: cx(ICON_BASE_STYLES, ICON_SIZE_STYLES[size2].add),
|
|
@@ -3666,7 +3667,7 @@ var Chip = memo14(
|
|
|
3666
3667
|
}
|
|
3667
3668
|
),
|
|
3668
3669
|
children,
|
|
3669
|
-
deletable && /* @__PURE__ */
|
|
3670
|
+
deletable && /* @__PURE__ */ React39.createElement(
|
|
3670
3671
|
Cross1Icon,
|
|
3671
3672
|
{
|
|
3672
3673
|
className: cx(ICON_BASE_STYLES, ICON_SIZE_STYLES[size2].delete),
|
|
@@ -3683,10 +3684,10 @@ var Chip = memo14(
|
|
|
3683
3684
|
);
|
|
3684
3685
|
|
|
3685
3686
|
// src/components/Collection.tsx
|
|
3686
|
-
import
|
|
3687
|
+
import React52 from "react";
|
|
3687
3688
|
|
|
3688
3689
|
// src/components/Grid.tsx
|
|
3689
|
-
import
|
|
3690
|
+
import React44, { useImperativeHandle as useImperativeHandle3, useRef as useRef17, useState as useState21 } from "react";
|
|
3690
3691
|
|
|
3691
3692
|
// src/utils/selection.ts
|
|
3692
3693
|
function updateSelection(allIds, selectedIds, clickedId, event) {
|
|
@@ -3714,7 +3715,7 @@ function updateSelection(allIds, selectedIds, clickedId, event) {
|
|
|
3714
3715
|
}
|
|
3715
3716
|
|
|
3716
3717
|
// src/components/EditableText.tsx
|
|
3717
|
-
import
|
|
3718
|
+
import React40, {
|
|
3718
3719
|
forwardRef as forwardRef17,
|
|
3719
3720
|
memo as memo15,
|
|
3720
3721
|
useCallback as useCallback17,
|
|
@@ -3723,7 +3724,7 @@ import React39, {
|
|
|
3723
3724
|
useRef as useRef16,
|
|
3724
3725
|
useState as useState19
|
|
3725
3726
|
} from "react";
|
|
3726
|
-
var defaultRenderPreview = (props) => /* @__PURE__ */
|
|
3727
|
+
var defaultRenderPreview = (props) => /* @__PURE__ */ React40.createElement(BreadcrumbText, { ...props });
|
|
3727
3728
|
var EditableText = memo15(
|
|
3728
3729
|
forwardRef17(function EditableText2({
|
|
3729
3730
|
value,
|
|
@@ -3800,7 +3801,7 @@ var EditableText = memo15(
|
|
|
3800
3801
|
style: textStyle,
|
|
3801
3802
|
className: textClassName
|
|
3802
3803
|
});
|
|
3803
|
-
const input = /* @__PURE__ */
|
|
3804
|
+
const input = /* @__PURE__ */ React40.createElement("div", { className: "flex absolute inset-0 -mx-1.5 -my-1" }, /* @__PURE__ */ React40.createElement(InputField2.Root, { onFocusChange: setFocused }, /* @__PURE__ */ React40.createElement(
|
|
3804
3805
|
InputField2.Input,
|
|
3805
3806
|
{
|
|
3806
3807
|
ref: inputRef,
|
|
@@ -3840,12 +3841,12 @@ var EditableText = memo15(
|
|
|
3840
3841
|
}
|
|
3841
3842
|
}
|
|
3842
3843
|
)));
|
|
3843
|
-
return /* @__PURE__ */
|
|
3844
|
+
return /* @__PURE__ */ React40.createElement("div", { className: cx("flex relative", className), style: style2 }, preview, focused && !readOnly && input);
|
|
3844
3845
|
})
|
|
3845
3846
|
);
|
|
3846
3847
|
|
|
3847
3848
|
// src/components/GridView.tsx
|
|
3848
|
-
import
|
|
3849
|
+
import React43, {
|
|
3849
3850
|
createContext as createContext8,
|
|
3850
3851
|
forwardRef as forwardRef18,
|
|
3851
3852
|
memo as memo17,
|
|
@@ -3857,10 +3858,10 @@ import React42, {
|
|
|
3857
3858
|
// src/components/ContextMenu.tsx
|
|
3858
3859
|
import { useKeyboardShortcuts as useKeyboardShortcuts2 } from "@noya-app/noya-keymap";
|
|
3859
3860
|
import * as RadixContextMenu from "@radix-ui/react-context-menu";
|
|
3860
|
-
import
|
|
3861
|
+
import React41, { useCallback as useCallback18, useMemo as useMemo16 } from "react";
|
|
3861
3862
|
var Components2 = {
|
|
3862
3863
|
Separator: RadixContextMenu.Separator,
|
|
3863
|
-
ItemText:
|
|
3864
|
+
ItemText: React41.Fragment,
|
|
3864
3865
|
Item: RadixContextMenu.Item,
|
|
3865
3866
|
CheckboxItem: RadixContextMenu.CheckboxItem,
|
|
3866
3867
|
ItemIndicator: RadixContextMenu.ItemIndicator,
|
|
@@ -3892,13 +3893,13 @@ function ContextMenuRoot({
|
|
|
3892
3893
|
},
|
|
3893
3894
|
[onSelect]
|
|
3894
3895
|
);
|
|
3895
|
-
return /* @__PURE__ */
|
|
3896
|
+
return /* @__PURE__ */ React41.createElement(RadixContextMenu.Root, { onOpenChange }, /* @__PURE__ */ React41.createElement(RadixContextMenu.Trigger, { asChild: true, onPointerDown }, children), /* @__PURE__ */ React41.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ React41.createElement(
|
|
3896
3897
|
RadixContextMenu.Content,
|
|
3897
3898
|
{
|
|
3898
3899
|
...portalScopeProps(portalScopeId),
|
|
3899
3900
|
className: styles.contentStyle
|
|
3900
3901
|
},
|
|
3901
|
-
/* @__PURE__ */
|
|
3902
|
+
/* @__PURE__ */ React41.createElement(
|
|
3902
3903
|
MenuViewport,
|
|
3903
3904
|
{
|
|
3904
3905
|
items,
|
|
@@ -3912,26 +3913,26 @@ var ContextMenu = memoGeneric(ContextMenuRoot);
|
|
|
3912
3913
|
|
|
3913
3914
|
// src/components/ScrollArea.tsx
|
|
3914
3915
|
import * as RadixScrollArea from "@radix-ui/react-scroll-area";
|
|
3915
|
-
import * as
|
|
3916
|
-
var ScrollArea =
|
|
3917
|
-
const [scrollElementRef, setScrollElementRef] =
|
|
3918
|
-
return /* @__PURE__ */
|
|
3916
|
+
import * as React42 from "react";
|
|
3917
|
+
var ScrollArea = React42.memo(function ScrollArea2({ children }) {
|
|
3918
|
+
const [scrollElementRef, setScrollElementRef] = React42.useState(null);
|
|
3919
|
+
return /* @__PURE__ */ React42.createElement("div", { className: "flex-1 min-h-0" }, /* @__PURE__ */ React42.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ React42.createElement(
|
|
3919
3920
|
RadixScrollArea.Viewport,
|
|
3920
3921
|
{
|
|
3921
3922
|
className: "w-full h-full [&>div]:block",
|
|
3922
|
-
ref:
|
|
3923
|
+
ref: React42.useCallback(
|
|
3923
3924
|
(ref) => setScrollElementRef(ref),
|
|
3924
3925
|
[]
|
|
3925
3926
|
)
|
|
3926
3927
|
},
|
|
3927
3928
|
typeof children === "function" ? scrollElementRef ? children(scrollElementRef) : null : children
|
|
3928
|
-
), /* @__PURE__ */
|
|
3929
|
+
), /* @__PURE__ */ React42.createElement(
|
|
3929
3930
|
RadixScrollArea.Scrollbar,
|
|
3930
3931
|
{
|
|
3931
3932
|
orientation: "vertical",
|
|
3932
3933
|
className: "scroll-component flex p-[3px] data-[orientation=vertical]:w-[10px]"
|
|
3933
3934
|
},
|
|
3934
|
-
/* @__PURE__ */
|
|
3935
|
+
/* @__PURE__ */ React42.createElement(RadixScrollArea.Thumb, { className: "scroll-component flex-1 rounded-[10px] bg-scrollbar" })
|
|
3935
3936
|
)));
|
|
3936
3937
|
});
|
|
3937
3938
|
|
|
@@ -3940,7 +3941,7 @@ var ItemTitle = ({
|
|
|
3940
3941
|
showBackground,
|
|
3941
3942
|
children
|
|
3942
3943
|
}) => {
|
|
3943
|
-
return /* @__PURE__ */
|
|
3944
|
+
return /* @__PURE__ */ React43.createElement(
|
|
3944
3945
|
"span",
|
|
3945
3946
|
{
|
|
3946
3947
|
className: cx(
|
|
@@ -3955,7 +3956,7 @@ var ItemDescription = ({
|
|
|
3955
3956
|
showBackground,
|
|
3956
3957
|
children
|
|
3957
3958
|
}) => {
|
|
3958
|
-
return /* @__PURE__ */
|
|
3959
|
+
return /* @__PURE__ */ React43.createElement(
|
|
3959
3960
|
"span",
|
|
3960
3961
|
{
|
|
3961
3962
|
className: cx(
|
|
@@ -3970,7 +3971,7 @@ var SectionTitle = ({
|
|
|
3970
3971
|
last = false,
|
|
3971
3972
|
children
|
|
3972
3973
|
}) => {
|
|
3973
|
-
return /* @__PURE__ */
|
|
3974
|
+
return /* @__PURE__ */ React43.createElement(
|
|
3974
3975
|
"span",
|
|
3975
3976
|
{
|
|
3976
3977
|
className: `font-sans text-heading3 font-medium user-select-none truncate ${last ? "text-text" : "text-text-muted"}`
|
|
@@ -4026,7 +4027,7 @@ var GridViewItem = forwardRefGeneric(function GridViewItem2({
|
|
|
4026
4027
|
},
|
|
4027
4028
|
[onSelect, onKeyDown]
|
|
4028
4029
|
);
|
|
4029
|
-
let element = /* @__PURE__ */
|
|
4030
|
+
let element = /* @__PURE__ */ React43.createElement(
|
|
4030
4031
|
"div",
|
|
4031
4032
|
{
|
|
4032
4033
|
...props,
|
|
@@ -4049,7 +4050,7 @@ var GridViewItem = forwardRefGeneric(function GridViewItem2({
|
|
|
4049
4050
|
onDoubleClick,
|
|
4050
4051
|
onContextMenu
|
|
4051
4052
|
},
|
|
4052
|
-
/* @__PURE__ */
|
|
4053
|
+
/* @__PURE__ */ React43.createElement(
|
|
4053
4054
|
"div",
|
|
4054
4055
|
{
|
|
4055
4056
|
className: cx(
|
|
@@ -4060,13 +4061,13 @@ var GridViewItem = forwardRefGeneric(function GridViewItem2({
|
|
|
4060
4061
|
},
|
|
4061
4062
|
children
|
|
4062
4063
|
),
|
|
4063
|
-
textPosition === "below" && /* @__PURE__ */
|
|
4064
|
-
textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */
|
|
4065
|
-
action && /* @__PURE__ */
|
|
4066
|
-
loading && /* @__PURE__ */
|
|
4064
|
+
textPosition === "below" && /* @__PURE__ */ React43.createElement(React43.Fragment, null, /* @__PURE__ */ React43.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ React43.createElement(ItemTitle, null, title || " "), /* @__PURE__ */ React43.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ React43.createElement(ItemDescription, null, subtitle || " ")),
|
|
4065
|
+
textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ React43.createElement("div", { className: "absolute inset-0 flex flex-col justify-end items-start p-1 pointer-events-none truncate gap-0.5" }, title && /* @__PURE__ */ React43.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ React43.createElement(ItemDescription, { showBackground: true }, subtitle)),
|
|
4066
|
+
action && /* @__PURE__ */ React43.createElement("div", { className: "absolute top-[7px] right-[7px] flex flex-col justify-end items-start p-1 truncate gap-0.5" }, action),
|
|
4067
|
+
loading && /* @__PURE__ */ React43.createElement("div", { className: "flex flex-col justify-start items-end p-1 pointer-events-none animate-shimmer absolute inset-0 bg-gradient-to-r from-white/0 via-[rgb(226,232,240)]/50 to-white/0 bg-length:200%_100%]" }, /* @__PURE__ */ React43.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
|
|
4067
4068
|
);
|
|
4068
4069
|
if (menuItems && onSelectMenuItem) {
|
|
4069
|
-
element = /* @__PURE__ */
|
|
4070
|
+
element = /* @__PURE__ */ React43.createElement(
|
|
4070
4071
|
ContextMenu,
|
|
4071
4072
|
{
|
|
4072
4073
|
items: menuItems,
|
|
@@ -4077,10 +4078,10 @@ var GridViewItem = forwardRefGeneric(function GridViewItem2({
|
|
|
4077
4078
|
);
|
|
4078
4079
|
}
|
|
4079
4080
|
if (textPosition === "toolip") {
|
|
4080
|
-
element = /* @__PURE__ */
|
|
4081
|
+
element = /* @__PURE__ */ React43.createElement(
|
|
4081
4082
|
Tooltip,
|
|
4082
4083
|
{
|
|
4083
|
-
content: /* @__PURE__ */
|
|
4084
|
+
content: /* @__PURE__ */ React43.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ React43.createElement(ItemTitle, null, title), /* @__PURE__ */ React43.createElement(ItemDescription, null, subtitle))
|
|
4084
4085
|
},
|
|
4085
4086
|
element
|
|
4086
4087
|
);
|
|
@@ -4135,8 +4136,8 @@ var GridViewRoot = forwardRef18(function GridViewRoot2({
|
|
|
4135
4136
|
categories: ["flex"]
|
|
4136
4137
|
});
|
|
4137
4138
|
}, [className, scrollable]);
|
|
4138
|
-
const content = /* @__PURE__ */
|
|
4139
|
-
return /* @__PURE__ */
|
|
4139
|
+
const content = /* @__PURE__ */ React43.createElement("div", { className: cx("p-3", contentClassName) }, children);
|
|
4140
|
+
return /* @__PURE__ */ React43.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ React43.createElement(
|
|
4140
4141
|
"div",
|
|
4141
4142
|
{
|
|
4142
4143
|
onClick: handleClick,
|
|
@@ -4144,7 +4145,7 @@ var GridViewRoot = forwardRef18(function GridViewRoot2({
|
|
|
4144
4145
|
...props,
|
|
4145
4146
|
ref: forwardedRef
|
|
4146
4147
|
},
|
|
4147
|
-
scrollable ? /* @__PURE__ */
|
|
4148
|
+
scrollable ? /* @__PURE__ */ React43.createElement(ScrollArea, null, content) : content
|
|
4148
4149
|
));
|
|
4149
4150
|
});
|
|
4150
4151
|
function GridViewSection({
|
|
@@ -4157,8 +4158,8 @@ function GridViewSection({
|
|
|
4157
4158
|
gridTemplateColumns: `repeat(auto-fill, minmax(${minColumnWidth}, 1fr))`,
|
|
4158
4159
|
gap: `${gap}px`
|
|
4159
4160
|
};
|
|
4160
|
-
const isEmpty =
|
|
4161
|
-
return isEmpty && renderEmptyState ? renderEmptyState() : /* @__PURE__ */
|
|
4161
|
+
const isEmpty = React43.Children.count(children) === 0;
|
|
4162
|
+
return isEmpty && renderEmptyState ? renderEmptyState() : /* @__PURE__ */ React43.createElement(
|
|
4162
4163
|
"div",
|
|
4163
4164
|
{
|
|
4164
4165
|
role: "presentation",
|
|
@@ -4170,9 +4171,9 @@ function GridViewSection({
|
|
|
4170
4171
|
}
|
|
4171
4172
|
function GridViewSectionHeader({ title }) {
|
|
4172
4173
|
const grouped = title.split("/");
|
|
4173
|
-
return /* @__PURE__ */
|
|
4174
|
-
grouped.map((title2, index) => /* @__PURE__ */
|
|
4175
|
-
/* @__PURE__ */
|
|
4174
|
+
return /* @__PURE__ */ React43.createElement("div", { className: "px-5" }, /* @__PURE__ */ React43.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
|
|
4175
|
+
grouped.map((title2, index) => /* @__PURE__ */ React43.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
|
|
4176
|
+
/* @__PURE__ */ React43.createElement(SectionTitle, null, " / ")
|
|
4176
4177
|
));
|
|
4177
4178
|
}
|
|
4178
4179
|
var GridView;
|
|
@@ -4287,7 +4288,7 @@ var Grid = memoGeneric(
|
|
|
4287
4288
|
onFilesDrop
|
|
4288
4289
|
);
|
|
4289
4290
|
const { minColumnWidth, gap } = getGridSize(size2);
|
|
4290
|
-
return /* @__PURE__ */
|
|
4291
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4291
4292
|
GridView.Root,
|
|
4292
4293
|
{
|
|
4293
4294
|
role: "listbox",
|
|
@@ -4304,7 +4305,7 @@ var Grid = memoGeneric(
|
|
|
4304
4305
|
...dropTargetProps,
|
|
4305
4306
|
ref: fileDropTargetRef
|
|
4306
4307
|
},
|
|
4307
|
-
items.length > 0 ? /* @__PURE__ */
|
|
4308
|
+
items.length > 0 ? /* @__PURE__ */ React44.createElement(GridView.Section, null, items.map((item) => {
|
|
4308
4309
|
const id = getId(item);
|
|
4309
4310
|
const isDropdownOpen = dropdownOpenId === id;
|
|
4310
4311
|
const isHovered = testHoveredId === id || currentHoveredId === id || isDropdownOpen;
|
|
@@ -4323,7 +4324,7 @@ var Grid = memoGeneric(
|
|
|
4323
4324
|
handleSelect(id);
|
|
4324
4325
|
}
|
|
4325
4326
|
};
|
|
4326
|
-
const action = (isHovered || isSelected) && !isRenaming && (typeof renderAction === "function" ? renderAction({ item, selected: isSelected, onOpenChange }) : renderAction === "menu" && menuItems && /* @__PURE__ */
|
|
4327
|
+
const action = (isHovered || isSelected) && !isRenaming && (typeof renderAction === "function" ? renderAction({ item, selected: isSelected, onOpenChange }) : renderAction === "menu" && menuItems && /* @__PURE__ */ React44.createElement(
|
|
4327
4328
|
ActionMenu,
|
|
4328
4329
|
{
|
|
4329
4330
|
menuItems,
|
|
@@ -4332,7 +4333,7 @@ var Grid = memoGeneric(
|
|
|
4332
4333
|
onOpenChange
|
|
4333
4334
|
}
|
|
4334
4335
|
));
|
|
4335
|
-
return /* @__PURE__ */
|
|
4336
|
+
return /* @__PURE__ */ React44.createElement(
|
|
4336
4337
|
GridView.Item,
|
|
4337
4338
|
{
|
|
4338
4339
|
key: id,
|
|
@@ -4345,7 +4346,7 @@ var Grid = memoGeneric(
|
|
|
4345
4346
|
onHoverChange: (isHovering) => {
|
|
4346
4347
|
setHoveredId(isHovering ? id : void 0);
|
|
4347
4348
|
},
|
|
4348
|
-
title: /* @__PURE__ */
|
|
4349
|
+
title: /* @__PURE__ */ React44.createElement(
|
|
4349
4350
|
EditableText,
|
|
4350
4351
|
{
|
|
4351
4352
|
tabIndex: isRenaming ? void 0 : -1,
|
|
@@ -4362,7 +4363,7 @@ var Grid = memoGeneric(
|
|
|
4362
4363
|
},
|
|
4363
4364
|
textClassName: "bg-listview-editing-background max-h-input-height"
|
|
4364
4365
|
},
|
|
4365
|
-
(props2) => /* @__PURE__ */
|
|
4366
|
+
(props2) => /* @__PURE__ */ React44.createElement(
|
|
4366
4367
|
"span",
|
|
4367
4368
|
{
|
|
4368
4369
|
...props2,
|
|
@@ -4373,7 +4374,7 @@ var Grid = memoGeneric(
|
|
|
4373
4374
|
}
|
|
4374
4375
|
)
|
|
4375
4376
|
),
|
|
4376
|
-
subtitle: /* @__PURE__ */
|
|
4377
|
+
subtitle: /* @__PURE__ */ React44.createElement(
|
|
4377
4378
|
"span",
|
|
4378
4379
|
{
|
|
4379
4380
|
className: cx(
|
|
@@ -4407,7 +4408,7 @@ var Grid = memoGeneric(
|
|
|
4407
4408
|
}
|
|
4408
4409
|
}
|
|
4409
4410
|
},
|
|
4410
|
-
thumbnail && /* @__PURE__ */
|
|
4411
|
+
thumbnail && /* @__PURE__ */ React44.createElement(
|
|
4411
4412
|
"div",
|
|
4412
4413
|
{
|
|
4413
4414
|
className: cx(
|
|
@@ -4425,12 +4426,12 @@ var Grid = memoGeneric(
|
|
|
4425
4426
|
);
|
|
4426
4427
|
|
|
4427
4428
|
// src/components/List.tsx
|
|
4428
|
-
import
|
|
4429
|
+
import React51, { memo as memo19, useImperativeHandle as useImperativeHandle5, useRef as useRef20, useState as useState23 } from "react";
|
|
4429
4430
|
|
|
4430
4431
|
// src/components/ListView.tsx
|
|
4431
4432
|
import { range } from "@noya-app/noya-utils";
|
|
4432
4433
|
import { composeRefs as composeRefs2 } from "@radix-ui/react-compose-refs";
|
|
4433
|
-
import
|
|
4434
|
+
import React49, {
|
|
4434
4435
|
Children as Children3,
|
|
4435
4436
|
createContext as createContext11,
|
|
4436
4437
|
forwardRef as forwardRef19,
|
|
@@ -4439,7 +4440,7 @@ import React48, {
|
|
|
4439
4440
|
useCallback as useCallback23,
|
|
4440
4441
|
useContext as useContext11,
|
|
4441
4442
|
useImperativeHandle as useImperativeHandle4,
|
|
4442
|
-
useLayoutEffect as
|
|
4443
|
+
useLayoutEffect as useLayoutEffect5,
|
|
4443
4444
|
useMemo as useMemo21,
|
|
4444
4445
|
useRef as useRef19
|
|
4445
4446
|
} from "react";
|
|
@@ -4477,13 +4478,13 @@ import {
|
|
|
4477
4478
|
useSortable,
|
|
4478
4479
|
verticalListSortingStrategy
|
|
4479
4480
|
} from "@dnd-kit/sortable";
|
|
4480
|
-
import * as
|
|
4481
|
+
import * as React48 from "react";
|
|
4481
4482
|
|
|
4482
4483
|
// src/components/sorting/DragRegistration.tsx
|
|
4483
|
-
import
|
|
4484
|
-
var DragRegistrationContext =
|
|
4484
|
+
import React45 from "react";
|
|
4485
|
+
var DragRegistrationContext = React45.createContext(null);
|
|
4485
4486
|
function useDragRegistration(context) {
|
|
4486
|
-
const value =
|
|
4487
|
+
const value = React45.useContext(context);
|
|
4487
4488
|
if (!value) {
|
|
4488
4489
|
throw new Error(
|
|
4489
4490
|
"useDragRegistration must be used within a DragRegistrationProvider"
|
|
@@ -4492,11 +4493,11 @@ function useDragRegistration(context) {
|
|
|
4492
4493
|
return value;
|
|
4493
4494
|
}
|
|
4494
4495
|
function useDragRegistrationManager() {
|
|
4495
|
-
const [registeredLists, setRegisteredLists] =
|
|
4496
|
-
const registerList =
|
|
4496
|
+
const [registeredLists, setRegisteredLists] = React45.useState(/* @__PURE__ */ new Map());
|
|
4497
|
+
const registerList = React45.useCallback((list) => {
|
|
4497
4498
|
setRegisteredLists((prev) => new Map(prev).set(list.id, list));
|
|
4498
4499
|
}, []);
|
|
4499
|
-
const unregisterList =
|
|
4500
|
+
const unregisterList = React45.useCallback((listId) => {
|
|
4500
4501
|
setRegisteredLists((prev) => {
|
|
4501
4502
|
const newMap = new Map(prev);
|
|
4502
4503
|
newMap.delete(listId);
|
|
@@ -4505,15 +4506,15 @@ function useDragRegistrationManager() {
|
|
|
4505
4506
|
}, []);
|
|
4506
4507
|
return { registerList, unregisterList, registeredLists };
|
|
4507
4508
|
}
|
|
4508
|
-
var ActiveDragContext =
|
|
4509
|
+
var ActiveDragContext = React45.createContext(null);
|
|
4509
4510
|
function useActiveDrag(context) {
|
|
4510
|
-
const value =
|
|
4511
|
+
const value = React45.useContext(context);
|
|
4511
4512
|
if (!value) {
|
|
4512
4513
|
throw new Error("useActiveDrag must be used within a ActiveDragProvider");
|
|
4513
4514
|
}
|
|
4514
4515
|
return value;
|
|
4515
4516
|
}
|
|
4516
|
-
var AnyDragContext =
|
|
4517
|
+
var AnyDragContext = React45.createContext(false);
|
|
4517
4518
|
|
|
4518
4519
|
// src/components/sorting/SharedDragProvider.tsx
|
|
4519
4520
|
import {
|
|
@@ -4527,7 +4528,7 @@ import {
|
|
|
4527
4528
|
} from "@dnd-kit/core";
|
|
4528
4529
|
import { rectContainsPoint, unionRects } from "@noya-app/noya-geometry";
|
|
4529
4530
|
import { windowsOf } from "@noya-app/noya-utils";
|
|
4530
|
-
import * as
|
|
4531
|
+
import * as React46 from "react";
|
|
4531
4532
|
import { useMemo as useMemo19 } from "react";
|
|
4532
4533
|
import { createPortal as createPortal2 } from "react-dom";
|
|
4533
4534
|
function SharedDragProvider({
|
|
@@ -4546,14 +4547,14 @@ function SharedDragProvider({
|
|
|
4546
4547
|
})
|
|
4547
4548
|
);
|
|
4548
4549
|
const mounted = useMounted();
|
|
4549
|
-
const [dragState, setDragState] =
|
|
4550
|
+
const [dragState, setDragState] = React46.useState({
|
|
4550
4551
|
source: null,
|
|
4551
4552
|
target: null,
|
|
4552
4553
|
indicator: null
|
|
4553
4554
|
});
|
|
4554
4555
|
const { registerList, unregisterList, registeredLists } = useDragRegistrationManager();
|
|
4555
|
-
const activatorEventRef =
|
|
4556
|
-
const handleDragStart =
|
|
4556
|
+
const activatorEventRef = React46.useRef(null);
|
|
4557
|
+
const handleDragStart = React46.useCallback(
|
|
4557
4558
|
(event) => {
|
|
4558
4559
|
activatorEventRef.current = event.activatorEvent;
|
|
4559
4560
|
for (const [listId, list] of registeredLists) {
|
|
@@ -4575,7 +4576,7 @@ function SharedDragProvider({
|
|
|
4575
4576
|
},
|
|
4576
4577
|
[registeredLists]
|
|
4577
4578
|
);
|
|
4578
|
-
const handleDragMove =
|
|
4579
|
+
const handleDragMove = React46.useCallback(
|
|
4579
4580
|
(event) => {
|
|
4580
4581
|
const { active, over } = event;
|
|
4581
4582
|
if (!activatorEventRef.current || !dragState.source) return;
|
|
@@ -4599,7 +4600,7 @@ function SharedDragProvider({
|
|
|
4599
4600
|
[registeredLists, dragState.source]
|
|
4600
4601
|
);
|
|
4601
4602
|
const stableOnMoveItem = useStableCallback(onMoveItem);
|
|
4602
|
-
const handleDragEnd =
|
|
4603
|
+
const handleDragEnd = React46.useCallback(
|
|
4603
4604
|
(event) => {
|
|
4604
4605
|
const { active, over } = event;
|
|
4605
4606
|
if (!activatorEventRef.current || !dragState.source) return;
|
|
@@ -4639,7 +4640,7 @@ function SharedDragProvider({
|
|
|
4639
4640
|
},
|
|
4640
4641
|
[registeredLists, dragState.source, stableOnMoveItem]
|
|
4641
4642
|
);
|
|
4642
|
-
const contextValue =
|
|
4643
|
+
const contextValue = React46.useMemo(
|
|
4643
4644
|
() => ({
|
|
4644
4645
|
registerList,
|
|
4645
4646
|
unregisterList
|
|
@@ -4647,19 +4648,19 @@ function SharedDragProvider({
|
|
|
4647
4648
|
[registerList, unregisterList]
|
|
4648
4649
|
);
|
|
4649
4650
|
const activeList = dragState.source ? registeredLists.get(dragState.source.listId) : null;
|
|
4650
|
-
const activeDragContextValue =
|
|
4651
|
+
const activeDragContextValue = React46.useMemo(
|
|
4651
4652
|
() => dragState,
|
|
4652
4653
|
[dragState]
|
|
4653
4654
|
);
|
|
4654
4655
|
const collisionDetection = useMemo19(() => {
|
|
4655
4656
|
return getItemFirstCollisionDetection(registeredLists);
|
|
4656
4657
|
}, [registeredLists]);
|
|
4657
|
-
return /* @__PURE__ */
|
|
4658
|
+
return /* @__PURE__ */ React46.createElement(AnyDragContext.Provider, { value: true }, /* @__PURE__ */ React46.createElement(sharedDragProps.dragRegistrationContext.Provider, { value: contextValue }, /* @__PURE__ */ React46.createElement(
|
|
4658
4659
|
sharedDragProps.activeDragContext.Provider,
|
|
4659
4660
|
{
|
|
4660
4661
|
value: activeDragContextValue
|
|
4661
4662
|
},
|
|
4662
|
-
/* @__PURE__ */
|
|
4663
|
+
/* @__PURE__ */ React46.createElement(
|
|
4663
4664
|
DndContext,
|
|
4664
4665
|
{
|
|
4665
4666
|
sensors,
|
|
@@ -4670,26 +4671,26 @@ function SharedDragProvider({
|
|
|
4670
4671
|
},
|
|
4671
4672
|
children,
|
|
4672
4673
|
mounted && activeList?.renderOverlay && dragState.source && createPortal2(
|
|
4673
|
-
/* @__PURE__ */
|
|
4674
|
+
/* @__PURE__ */ React46.createElement(DragOverlay, { dropAnimation: null }, activeList.renderOverlay(dragState.source.itemId)),
|
|
4674
4675
|
document.body
|
|
4675
4676
|
)
|
|
4676
4677
|
)
|
|
4677
4678
|
)));
|
|
4678
4679
|
}
|
|
4679
4680
|
function useMounted() {
|
|
4680
|
-
const [mounted, setMounted] =
|
|
4681
|
-
|
|
4681
|
+
const [mounted, setMounted] = React46.useState(false);
|
|
4682
|
+
React46.useEffect(() => {
|
|
4682
4683
|
setMounted(true);
|
|
4683
4684
|
}, []);
|
|
4684
4685
|
return mounted;
|
|
4685
4686
|
}
|
|
4686
4687
|
function withDragProvider(Component) {
|
|
4687
4688
|
return function WithDragProvider(props) {
|
|
4688
|
-
const anyDragContext =
|
|
4689
|
+
const anyDragContext = React46.useContext(AnyDragContext);
|
|
4689
4690
|
if (!anyDragContext) {
|
|
4690
|
-
return /* @__PURE__ */
|
|
4691
|
+
return /* @__PURE__ */ React46.createElement(SharedDragProvider, null, /* @__PURE__ */ React46.createElement(Component, { ...props }));
|
|
4691
4692
|
}
|
|
4692
|
-
return /* @__PURE__ */
|
|
4693
|
+
return /* @__PURE__ */ React46.createElement(Component, { ...props });
|
|
4693
4694
|
};
|
|
4694
4695
|
}
|
|
4695
4696
|
var getItemFirstCollisionDetection = (registeredLists) => (parameters) => {
|
|
@@ -4814,7 +4815,7 @@ function findDropTarget({
|
|
|
4814
4815
|
}
|
|
4815
4816
|
|
|
4816
4817
|
// src/components/sorting/sorting.ts
|
|
4817
|
-
import * as
|
|
4818
|
+
import * as React47 from "react";
|
|
4818
4819
|
var normalizeListTargetIndex = (index, position) => {
|
|
4819
4820
|
return position === "above" ? index : index + 1;
|
|
4820
4821
|
};
|
|
@@ -4830,7 +4831,7 @@ var defaultAcceptsDrop = ({
|
|
|
4830
4831
|
}
|
|
4831
4832
|
return true;
|
|
4832
4833
|
};
|
|
4833
|
-
var SortableItemContext =
|
|
4834
|
+
var SortableItemContext = React47.createContext({
|
|
4834
4835
|
keys: [],
|
|
4835
4836
|
acceptsDrop: defaultAcceptsDrop,
|
|
4836
4837
|
axis: "y",
|
|
@@ -4899,7 +4900,7 @@ function parseDragItemKey(key) {
|
|
|
4899
4900
|
}
|
|
4900
4901
|
|
|
4901
4902
|
// src/components/sorting/Sortable.tsx
|
|
4902
|
-
var SortableItemContext2 =
|
|
4903
|
+
var SortableItemContext2 = React48.createContext({
|
|
4903
4904
|
acceptsDrop: defaultAcceptsDrop,
|
|
4904
4905
|
listId: "",
|
|
4905
4906
|
getDropTargetParentIndex: void 0,
|
|
@@ -4912,7 +4913,7 @@ function useSortableDropIndicator({
|
|
|
4912
4913
|
acceptsDrop: acceptsDrop2,
|
|
4913
4914
|
getDropTargetParentIndex
|
|
4914
4915
|
}) {
|
|
4915
|
-
const { activeDragContext } =
|
|
4916
|
+
const { activeDragContext } = React48.useContext(SortableItemContext2);
|
|
4916
4917
|
const activeDrag = useActiveDrag(activeDragContext);
|
|
4917
4918
|
const { source, target } = activeDrag;
|
|
4918
4919
|
if (!source || !target) return;
|
|
@@ -4943,13 +4944,13 @@ function SortableItem({
|
|
|
4943
4944
|
disabled,
|
|
4944
4945
|
children
|
|
4945
4946
|
}) {
|
|
4946
|
-
const { acceptsDrop: acceptsDrop2, listId, getDropTargetParentIndex } =
|
|
4947
|
+
const { acceptsDrop: acceptsDrop2, listId, getDropTargetParentIndex } = React48.useContext(SortableItemContext2);
|
|
4947
4948
|
const dragItemKey = createDragItemKey(listId, id);
|
|
4948
4949
|
const { attributes, listeners, setNodeRef, isDragging, index } = useSortable({
|
|
4949
4950
|
id: dragItemKey,
|
|
4950
4951
|
disabled
|
|
4951
4952
|
});
|
|
4952
|
-
const ref =
|
|
4953
|
+
const ref = React48.useCallback(
|
|
4953
4954
|
(node) => setNodeRef(node),
|
|
4954
4955
|
[setNodeRef]
|
|
4955
4956
|
);
|
|
@@ -4983,9 +4984,9 @@ function SortableRoot_({
|
|
|
4983
4984
|
sharedDragProps,
|
|
4984
4985
|
containerRef
|
|
4985
4986
|
}) {
|
|
4986
|
-
const defaultId =
|
|
4987
|
+
const defaultId = React48.useId();
|
|
4987
4988
|
const id = idProp ?? defaultId;
|
|
4988
|
-
const keys =
|
|
4989
|
+
const keys = React48.useMemo(() => {
|
|
4989
4990
|
return keysProp.map((key) => createDragItemKey(id, key));
|
|
4990
4991
|
}, [keysProp, id]);
|
|
4991
4992
|
const { registerList, unregisterList } = useDragRegistration(
|
|
@@ -4994,7 +4995,7 @@ function SortableRoot_({
|
|
|
4994
4995
|
const { setNodeRef: setDroppableRef } = useDroppable({
|
|
4995
4996
|
id
|
|
4996
4997
|
});
|
|
4997
|
-
|
|
4998
|
+
React48.useEffect(() => {
|
|
4998
4999
|
const listConfig = {
|
|
4999
5000
|
id,
|
|
5000
5001
|
keys,
|
|
@@ -5040,7 +5041,7 @@ function SortableRoot_({
|
|
|
5040
5041
|
unregisterList,
|
|
5041
5042
|
keys
|
|
5042
5043
|
]);
|
|
5043
|
-
const contextValue =
|
|
5044
|
+
const contextValue = React48.useMemo(
|
|
5044
5045
|
() => ({
|
|
5045
5046
|
keys,
|
|
5046
5047
|
acceptsDrop: acceptsDrop2,
|
|
@@ -5050,12 +5051,12 @@ function SortableRoot_({
|
|
|
5050
5051
|
}),
|
|
5051
5052
|
[keys, acceptsDrop2, id, getDropTargetParentIndex, sharedDragProps]
|
|
5052
5053
|
);
|
|
5053
|
-
|
|
5054
|
+
React48.useEffect(() => {
|
|
5054
5055
|
if (containerRef) {
|
|
5055
5056
|
setDroppableRef(containerRef.current);
|
|
5056
5057
|
}
|
|
5057
5058
|
});
|
|
5058
|
-
return /* @__PURE__ */
|
|
5059
|
+
return /* @__PURE__ */ React48.createElement(SortableItemContext2.Provider, { value: contextValue }, /* @__PURE__ */ React48.createElement(
|
|
5059
5060
|
SortableContext,
|
|
5060
5061
|
{
|
|
5061
5062
|
items: keys,
|
|
@@ -5072,11 +5073,11 @@ var Sortable_ = function Sortable_2({
|
|
|
5072
5073
|
renderItem,
|
|
5073
5074
|
...rest
|
|
5074
5075
|
}) {
|
|
5075
|
-
const keys =
|
|
5076
|
+
const keys = React48.useMemo(
|
|
5076
5077
|
() => items.map(keyExtractor),
|
|
5077
5078
|
[items, keyExtractor]
|
|
5078
5079
|
);
|
|
5079
|
-
const renderOverlay =
|
|
5080
|
+
const renderOverlay = React48.useCallback(
|
|
5080
5081
|
(index) => {
|
|
5081
5082
|
return renderItem(
|
|
5082
5083
|
items[index],
|
|
@@ -5096,14 +5097,14 @@ var Sortable_ = function Sortable_2({
|
|
|
5096
5097
|
},
|
|
5097
5098
|
[renderItem, items]
|
|
5098
5099
|
);
|
|
5099
|
-
return /* @__PURE__ */
|
|
5100
|
+
return /* @__PURE__ */ React48.createElement(
|
|
5100
5101
|
SortableRoot,
|
|
5101
5102
|
{
|
|
5102
5103
|
...rest,
|
|
5103
5104
|
keys,
|
|
5104
5105
|
renderOverlay: shouldRenderOverlay ? renderOverlay : void 0
|
|
5105
5106
|
},
|
|
5106
|
-
keys.map((key, index) => /* @__PURE__ */
|
|
5107
|
+
keys.map((key, index) => /* @__PURE__ */ React48.createElement(SortableItem, { key, id: key }, (props) => {
|
|
5107
5108
|
return renderItem(items[index], props, { isOverlay: false });
|
|
5108
5109
|
}))
|
|
5109
5110
|
);
|
|
@@ -5138,7 +5139,7 @@ var ListViewRowTitle = ({
|
|
|
5138
5139
|
className,
|
|
5139
5140
|
children,
|
|
5140
5141
|
...props
|
|
5141
|
-
}) => /* @__PURE__ */
|
|
5142
|
+
}) => /* @__PURE__ */ React49.createElement(
|
|
5142
5143
|
"span",
|
|
5143
5144
|
{
|
|
5144
5145
|
className: cx(
|
|
@@ -5158,7 +5159,7 @@ function ListViewEditableRowTitle({
|
|
|
5158
5159
|
onKeyDown
|
|
5159
5160
|
}) {
|
|
5160
5161
|
const inputRef = useRef19(null);
|
|
5161
|
-
|
|
5162
|
+
useLayoutEffect5(() => {
|
|
5162
5163
|
const element = inputRef.current;
|
|
5163
5164
|
if (!element || !autoFocus) return;
|
|
5164
5165
|
element.focus();
|
|
@@ -5166,7 +5167,7 @@ function ListViewEditableRowTitle({
|
|
|
5166
5167
|
element.select();
|
|
5167
5168
|
}, 1);
|
|
5168
5169
|
}, [autoFocus]);
|
|
5169
|
-
return /* @__PURE__ */
|
|
5170
|
+
return /* @__PURE__ */ React49.createElement(
|
|
5170
5171
|
InputField2.Input,
|
|
5171
5172
|
{
|
|
5172
5173
|
ref: inputRef,
|
|
@@ -5205,7 +5206,7 @@ var RowContainer = forwardRef19(
|
|
|
5205
5206
|
"aria-selected": ariaSelected,
|
|
5206
5207
|
...props
|
|
5207
5208
|
}, ref) => {
|
|
5208
|
-
return /* @__PURE__ */
|
|
5209
|
+
return /* @__PURE__ */ React49.createElement(
|
|
5209
5210
|
"div",
|
|
5210
5211
|
{
|
|
5211
5212
|
ref,
|
|
@@ -5283,7 +5284,7 @@ var ListViewDragIndicatorElement = forwardRef19(
|
|
|
5283
5284
|
style: style2,
|
|
5284
5285
|
...props
|
|
5285
5286
|
}, ref) => {
|
|
5286
|
-
return /* @__PURE__ */
|
|
5287
|
+
return /* @__PURE__ */ React49.createElement(
|
|
5287
5288
|
"div",
|
|
5288
5289
|
{
|
|
5289
5290
|
ref,
|
|
@@ -5384,7 +5385,7 @@ var ListViewRow = forwardRefGeneric(function ListViewRow2({
|
|
|
5384
5385
|
}, ref) => {
|
|
5385
5386
|
const Component = RowContainer;
|
|
5386
5387
|
const relativeDropPosition = testRelativeDropPosition ?? relativeDropPositionProp;
|
|
5387
|
-
const element = /* @__PURE__ */
|
|
5388
|
+
const element = /* @__PURE__ */ React49.createElement(
|
|
5388
5389
|
Component,
|
|
5389
5390
|
{
|
|
5390
5391
|
ref,
|
|
@@ -5418,7 +5419,7 @@ var ListViewRow = forwardRefGeneric(function ListViewRow2({
|
|
|
5418
5419
|
className,
|
|
5419
5420
|
$clickable: !!onPress
|
|
5420
5421
|
},
|
|
5421
|
-
relativeDropPosition && /* @__PURE__ */
|
|
5422
|
+
relativeDropPosition && /* @__PURE__ */ React49.createElement(
|
|
5422
5423
|
ListViewDragIndicatorElement,
|
|
5423
5424
|
{
|
|
5424
5425
|
key: relativeDropPosition,
|
|
@@ -5433,11 +5434,11 @@ var ListViewRow = forwardRefGeneric(function ListViewRow2({
|
|
|
5433
5434
|
}) : dragIndicatorStyle
|
|
5434
5435
|
}
|
|
5435
5436
|
),
|
|
5436
|
-
depth > 0 && /* @__PURE__ */
|
|
5437
|
+
depth > 0 && /* @__PURE__ */ React49.createElement(Spacer.Horizontal, { size: depth * indentation }),
|
|
5437
5438
|
children
|
|
5438
5439
|
);
|
|
5439
5440
|
if (menuItems && onSelectMenuItem) {
|
|
5440
|
-
return /* @__PURE__ */
|
|
5441
|
+
return /* @__PURE__ */ React49.createElement(
|
|
5441
5442
|
ContextMenu,
|
|
5442
5443
|
{
|
|
5443
5444
|
items: menuItems,
|
|
@@ -5450,7 +5451,7 @@ var ListViewRow = forwardRefGeneric(function ListViewRow2({
|
|
|
5450
5451
|
return element;
|
|
5451
5452
|
};
|
|
5452
5453
|
if (sortable && id) {
|
|
5453
|
-
return /* @__PURE__ */
|
|
5454
|
+
return /* @__PURE__ */ React49.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(
|
|
5454
5455
|
sortableProps,
|
|
5455
5456
|
composeRefs2(sortableRef, forwardedRef)
|
|
5456
5457
|
));
|
|
@@ -5466,7 +5467,7 @@ var VirtualizedListRow = memo18(function VirtualizedListRow2({
|
|
|
5466
5467
|
style: style2
|
|
5467
5468
|
}) {
|
|
5468
5469
|
const renderItem = useContext11(RenderItemContext);
|
|
5469
|
-
return /* @__PURE__ */
|
|
5470
|
+
return /* @__PURE__ */ React49.createElement("div", { key: index, style: style2 }, renderItem(index));
|
|
5470
5471
|
});
|
|
5471
5472
|
var VirtualizedListInner = forwardRefGeneric(function VirtualizedListInner2({
|
|
5472
5473
|
size: size2,
|
|
@@ -5482,7 +5483,7 @@ var VirtualizedListInner = forwardRefGeneric(function VirtualizedListInner2({
|
|
|
5482
5483
|
listRef.current?.scrollToItem(index);
|
|
5483
5484
|
}
|
|
5484
5485
|
}));
|
|
5485
|
-
|
|
5486
|
+
useLayoutEffect5(() => {
|
|
5486
5487
|
listRef.current?.resetAfterIndex(0);
|
|
5487
5488
|
}, [
|
|
5488
5489
|
// When items change, we need to re-render the virtualized list,
|
|
@@ -5497,7 +5498,7 @@ var VirtualizedListInner = forwardRefGeneric(function VirtualizedListInner2({
|
|
|
5497
5498
|
}),
|
|
5498
5499
|
[]
|
|
5499
5500
|
);
|
|
5500
|
-
return /* @__PURE__ */
|
|
5501
|
+
return /* @__PURE__ */ React49.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ React49.createElement(
|
|
5501
5502
|
WindowScroller,
|
|
5502
5503
|
{
|
|
5503
5504
|
scrollElement,
|
|
@@ -5508,7 +5509,7 @@ var VirtualizedListInner = forwardRefGeneric(function VirtualizedListInner2({
|
|
|
5508
5509
|
registerChild,
|
|
5509
5510
|
onChildScroll,
|
|
5510
5511
|
scrollTop
|
|
5511
|
-
}) => /* @__PURE__ */
|
|
5512
|
+
}) => /* @__PURE__ */ React49.createElement("div", { ref: registerChild }, /* @__PURE__ */ React49.createElement(
|
|
5512
5513
|
VariableSizeList,
|
|
5513
5514
|
{
|
|
5514
5515
|
ref: listRef,
|
|
@@ -5682,7 +5683,7 @@ var ListViewRootInner = forwardRefGeneric(function ListViewRootInner2({
|
|
|
5682
5683
|
[indentation]
|
|
5683
5684
|
);
|
|
5684
5685
|
const renderOverlay = useCallback23(
|
|
5685
|
-
(index) => /* @__PURE__ */
|
|
5686
|
+
(index) => /* @__PURE__ */ React49.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ React49.createElement(ListViewDraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragOverlay: true }))),
|
|
5686
5687
|
[draggingContextOverlayValue, renderItem, data]
|
|
5687
5688
|
);
|
|
5688
5689
|
const renderWrappedChild = useCallback23(
|
|
@@ -5690,12 +5691,12 @@ var ListViewRootInner = forwardRefGeneric(function ListViewRootInner2({
|
|
|
5690
5691
|
const contextValue = getItemContextValue(index);
|
|
5691
5692
|
const current = renderChild(index);
|
|
5692
5693
|
if (!contextValue || !isValidElement3(current)) return null;
|
|
5693
|
-
return /* @__PURE__ */
|
|
5694
|
+
return /* @__PURE__ */ React49.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
|
|
5694
5695
|
},
|
|
5695
5696
|
[getItemContextValue, renderChild]
|
|
5696
5697
|
);
|
|
5697
5698
|
const ids = useMemo21(() => data.map(keyExtractor), [keyExtractor, data]);
|
|
5698
|
-
const withSortable = (children) => sortable ? /* @__PURE__ */
|
|
5699
|
+
const withSortable = (children) => sortable ? /* @__PURE__ */ React49.createElement(
|
|
5699
5700
|
Sortable.Root,
|
|
5700
5701
|
{
|
|
5701
5702
|
id: sortableId,
|
|
@@ -5708,7 +5709,7 @@ var ListViewRootInner = forwardRefGeneric(function ListViewRootInner2({
|
|
|
5708
5709
|
},
|
|
5709
5710
|
children
|
|
5710
5711
|
) : children;
|
|
5711
|
-
const withScrollable = (children) => scrollable ? /* @__PURE__ */
|
|
5712
|
+
const withScrollable = (children) => scrollable ? /* @__PURE__ */ React49.createElement(ScrollArea, null, children) : children(null);
|
|
5712
5713
|
const getItemHeight = useCallback23(
|
|
5713
5714
|
(index) => {
|
|
5714
5715
|
const child = getItemContextValue(index);
|
|
@@ -5723,7 +5724,7 @@ var ListViewRootInner = forwardRefGeneric(function ListViewRootInner2({
|
|
|
5723
5724
|
);
|
|
5724
5725
|
const draggingContextValue = useMemo21(() => ({ indentation }), [indentation]);
|
|
5725
5726
|
const gapStyle = useMemo21(() => ({ gap: `${gap}px` }), [gap]);
|
|
5726
|
-
return /* @__PURE__ */
|
|
5727
|
+
return /* @__PURE__ */ React49.createElement(ListViewDraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ React49.createElement(
|
|
5727
5728
|
"div",
|
|
5728
5729
|
{
|
|
5729
5730
|
id,
|
|
@@ -5752,7 +5753,7 @@ var ListViewRootInner = forwardRefGeneric(function ListViewRootInner2({
|
|
|
5752
5753
|
},
|
|
5753
5754
|
data.length === 0 && renderEmptyState ? renderEmptyState() : withScrollable(
|
|
5754
5755
|
(scrollElementRef) => withSortable(
|
|
5755
|
-
virtualized ? /* @__PURE__ */
|
|
5756
|
+
virtualized ? /* @__PURE__ */ React49.createElement(
|
|
5756
5757
|
VirtualizedList,
|
|
5757
5758
|
{
|
|
5758
5759
|
ref: forwardedRef,
|
|
@@ -5776,7 +5777,7 @@ var ChildrenListViewInner = forwardRef19(function ChildrenListViewInner2({ child
|
|
|
5776
5777
|
),
|
|
5777
5778
|
[children]
|
|
5778
5779
|
);
|
|
5779
|
-
return /* @__PURE__ */
|
|
5780
|
+
return /* @__PURE__ */ React49.createElement(
|
|
5780
5781
|
ListViewRoot,
|
|
5781
5782
|
{
|
|
5782
5783
|
ref: forwardedRef,
|
|
@@ -5793,9 +5794,9 @@ var ChildrenListViewInner = forwardRef19(function ChildrenListViewInner2({ child
|
|
|
5793
5794
|
var ChildrenListView = memo18(ChildrenListViewInner);
|
|
5794
5795
|
var SimpleListViewInner = forwardRefGeneric(function SimpleListViewInner2(props, forwardedRef) {
|
|
5795
5796
|
if ("children" in props) {
|
|
5796
|
-
return /* @__PURE__ */
|
|
5797
|
+
return /* @__PURE__ */ React49.createElement(ChildrenListView, { ref: forwardedRef, ...props });
|
|
5797
5798
|
} else {
|
|
5798
|
-
return /* @__PURE__ */
|
|
5799
|
+
return /* @__PURE__ */ React49.createElement(ListViewRoot, { ref: forwardedRef, ...props });
|
|
5799
5800
|
}
|
|
5800
5801
|
});
|
|
5801
5802
|
var SimpleListView = memoGeneric(SimpleListViewInner);
|
|
@@ -5819,7 +5820,7 @@ var ListView;
|
|
|
5819
5820
|
})(ListView || (ListView = {}));
|
|
5820
5821
|
|
|
5821
5822
|
// src/components/TreeView.tsx
|
|
5822
|
-
import
|
|
5823
|
+
import React50, { useCallback as useCallback24, useContext as useContext12 } from "react";
|
|
5823
5824
|
var TreeRow = forwardRefGeneric(function TreeRow2({
|
|
5824
5825
|
icon,
|
|
5825
5826
|
expanded,
|
|
@@ -5836,7 +5837,7 @@ var TreeRow = forwardRefGeneric(function TreeRow2({
|
|
|
5836
5837
|
},
|
|
5837
5838
|
[onClickChevron]
|
|
5838
5839
|
);
|
|
5839
|
-
return /* @__PURE__ */
|
|
5840
|
+
return /* @__PURE__ */ React50.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ React50.createElement(React50.Fragment, null, expanded === void 0 ? /* @__PURE__ */ React50.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ React50.createElement(
|
|
5840
5841
|
IconButton,
|
|
5841
5842
|
{
|
|
5842
5843
|
className: chevronClassName,
|
|
@@ -5844,7 +5845,7 @@ var TreeRow = forwardRefGeneric(function TreeRow2({
|
|
|
5844
5845
|
onClick: handleClickChevron,
|
|
5845
5846
|
selected: rest.selected
|
|
5846
5847
|
}
|
|
5847
|
-
), /* @__PURE__ */
|
|
5848
|
+
), /* @__PURE__ */ React50.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ React50.createElement(React50.Fragment, null, renderIcon(icon), /* @__PURE__ */ React50.createElement(Spacer.Horizontal, { size: 10 })), children);
|
|
5848
5849
|
});
|
|
5849
5850
|
var TreeView;
|
|
5850
5851
|
((TreeView2) => {
|
|
@@ -5938,7 +5939,7 @@ var List = memoGeneric(
|
|
|
5938
5939
|
setRenamingId(id);
|
|
5939
5940
|
}
|
|
5940
5941
|
}));
|
|
5941
|
-
return /* @__PURE__ */
|
|
5942
|
+
return /* @__PURE__ */ React51.createElement(
|
|
5942
5943
|
ViewComponent.Root,
|
|
5943
5944
|
{
|
|
5944
5945
|
variant: "bare",
|
|
@@ -5983,7 +5984,7 @@ var List = memoGeneric(
|
|
|
5983
5984
|
handleSelect(id);
|
|
5984
5985
|
}
|
|
5985
5986
|
};
|
|
5986
|
-
const action = (isHovered || isSelected) && !isRenaming && (typeof renderAction === "function" ? renderAction({ item, selected: isSelected, onOpenChange }) : renderAction === "menu" && menuItems && /* @__PURE__ */
|
|
5987
|
+
const action = (isHovered || isSelected) && !isRenaming && (typeof renderAction === "function" ? renderAction({ item, selected: isSelected, onOpenChange }) : renderAction === "menu" && menuItems && /* @__PURE__ */ React51.createElement(
|
|
5987
5988
|
ActionMenu,
|
|
5988
5989
|
{
|
|
5989
5990
|
menuItems,
|
|
@@ -5999,7 +6000,7 @@ var List = memoGeneric(
|
|
|
5999
6000
|
));
|
|
6000
6001
|
const end = action || detailPosition === "end" && renderDetail?.(item, isSelected);
|
|
6001
6002
|
const below = detailPosition === "below" && renderDetail?.(item, isSelected);
|
|
6002
|
-
return /* @__PURE__ */
|
|
6003
|
+
return /* @__PURE__ */ React51.createElement(
|
|
6003
6004
|
ViewComponent.Row,
|
|
6004
6005
|
{
|
|
6005
6006
|
id,
|
|
@@ -6047,12 +6048,12 @@ var List = memoGeneric(
|
|
|
6047
6048
|
},
|
|
6048
6049
|
dragIndicatorStyle
|
|
6049
6050
|
},
|
|
6050
|
-
/* @__PURE__ */
|
|
6051
|
+
/* @__PURE__ */ React51.createElement(
|
|
6051
6052
|
"div",
|
|
6052
6053
|
{
|
|
6053
6054
|
className: cx("flex flex-1 items-center px-2", rowGapMap[size2])
|
|
6054
6055
|
},
|
|
6055
|
-
thumbnail && /* @__PURE__ */
|
|
6056
|
+
thumbnail && /* @__PURE__ */ React51.createElement(
|
|
6056
6057
|
"div",
|
|
6057
6058
|
{
|
|
6058
6059
|
className: cx(
|
|
@@ -6065,7 +6066,7 @@ var List = memoGeneric(
|
|
|
6065
6066
|
},
|
|
6066
6067
|
thumbnail
|
|
6067
6068
|
),
|
|
6068
|
-
/* @__PURE__ */
|
|
6069
|
+
/* @__PURE__ */ React51.createElement("div", { className: "flex flex-col flex-1 w-0" }, /* @__PURE__ */ React51.createElement("div", { className: "flex items-center min-h-input-height flex-1 gap-2" }, /* @__PURE__ */ React51.createElement("div", { className: "flex-1 w-0 flex items-center", tabIndex: -1 }, isRenaming ? /* @__PURE__ */ React51.createElement(
|
|
6069
6070
|
ViewComponent.EditableRowTitle,
|
|
6070
6071
|
{
|
|
6071
6072
|
value: getName(item),
|
|
@@ -6080,7 +6081,7 @@ var List = memoGeneric(
|
|
|
6080
6081
|
e.stopPropagation();
|
|
6081
6082
|
}
|
|
6082
6083
|
}
|
|
6083
|
-
) : /* @__PURE__ */
|
|
6084
|
+
) : /* @__PURE__ */ React51.createElement(
|
|
6084
6085
|
ViewComponent.RowTitle,
|
|
6085
6086
|
{
|
|
6086
6087
|
className: cx(
|
|
@@ -6089,8 +6090,8 @@ var List = memoGeneric(
|
|
|
6089
6090
|
)
|
|
6090
6091
|
},
|
|
6091
6092
|
getName(item)
|
|
6092
|
-
)), end && detailPosition === "end" && /* @__PURE__ */
|
|
6093
|
-
end && detailPosition === "below" && /* @__PURE__ */
|
|
6093
|
+
)), end && detailPosition === "end" && /* @__PURE__ */ React51.createElement(DetailContainer, { selected: isSelected }, end)), below && /* @__PURE__ */ React51.createElement(DetailContainer, { selected: isSelected }, below)),
|
|
6094
|
+
end && detailPosition === "below" && /* @__PURE__ */ React51.createElement(DetailContainer, { selected: isSelected }, end)
|
|
6094
6095
|
)
|
|
6095
6096
|
);
|
|
6096
6097
|
}
|
|
@@ -6102,7 +6103,7 @@ var DetailContainer = memo19(function DetailContainer2({
|
|
|
6102
6103
|
children,
|
|
6103
6104
|
selected
|
|
6104
6105
|
}) {
|
|
6105
|
-
return /* @__PURE__ */
|
|
6106
|
+
return /* @__PURE__ */ React51.createElement(
|
|
6106
6107
|
"div",
|
|
6107
6108
|
{
|
|
6108
6109
|
className: cx("flex items-center gap-2", selected && "text-primary"),
|
|
@@ -6147,11 +6148,11 @@ var fontStyleMap = {
|
|
|
6147
6148
|
// src/components/Collection.tsx
|
|
6148
6149
|
var Collection = forwardRefGeneric(function Collection2(props, ref) {
|
|
6149
6150
|
const { viewType, ...rest } = props;
|
|
6150
|
-
return viewType === "grid" ? /* @__PURE__ */
|
|
6151
|
+
return viewType === "grid" ? /* @__PURE__ */ React52.createElement(Grid, { ref, ...rest }) : /* @__PURE__ */ React52.createElement(List, { ref, ...rest });
|
|
6151
6152
|
});
|
|
6152
6153
|
|
|
6153
6154
|
// src/components/ColorSwatch.tsx
|
|
6154
|
-
import
|
|
6155
|
+
import React53, { forwardRef as forwardRef20 } from "react";
|
|
6155
6156
|
var colorSwatchSizeMap = {
|
|
6156
6157
|
xsmall: 21,
|
|
6157
6158
|
small: 27,
|
|
@@ -6160,7 +6161,7 @@ var colorSwatchSizeMap = {
|
|
|
6160
6161
|
};
|
|
6161
6162
|
var ColorSwatch = forwardRef20(function ColorSwatch2({ color, size: size2 = "small", checked, style: style2, ...props }, ref) {
|
|
6162
6163
|
const sizePx = colorSwatchSizeMap[size2];
|
|
6163
|
-
return /* @__PURE__ */
|
|
6164
|
+
return /* @__PURE__ */ React53.createElement(
|
|
6164
6165
|
"button",
|
|
6165
6166
|
{
|
|
6166
6167
|
...props,
|
|
@@ -6181,7 +6182,7 @@ var ColorSwatch = forwardRef20(function ColorSwatch2({ color, size: size2 = "sma
|
|
|
6181
6182
|
|
|
6182
6183
|
// src/components/ColorSwatchControl.tsx
|
|
6183
6184
|
import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
|
|
6184
|
-
import
|
|
6185
|
+
import React54, { useMemo as useMemo22 } from "react";
|
|
6185
6186
|
function ColorSwatchControl(props) {
|
|
6186
6187
|
const {
|
|
6187
6188
|
options,
|
|
@@ -6204,8 +6205,8 @@ function ColorSwatchControl(props) {
|
|
|
6204
6205
|
...style2
|
|
6205
6206
|
};
|
|
6206
6207
|
}, [size2, style2]);
|
|
6207
|
-
const content = /* @__PURE__ */
|
|
6208
|
-
const item = /* @__PURE__ */
|
|
6208
|
+
const content = /* @__PURE__ */ React54.createElement("div", { className, id, style: styles3 }, options.map((option) => {
|
|
6209
|
+
const item = /* @__PURE__ */ React54.createElement(
|
|
6209
6210
|
ColorSwatch,
|
|
6210
6211
|
{
|
|
6211
6212
|
key: option,
|
|
@@ -6218,7 +6219,7 @@ function ColorSwatchControl(props) {
|
|
|
6218
6219
|
checked: value === option
|
|
6219
6220
|
}
|
|
6220
6221
|
);
|
|
6221
|
-
return /* @__PURE__ */
|
|
6222
|
+
return /* @__PURE__ */ React54.createElement(
|
|
6222
6223
|
ToggleGroupPrimitive.Item,
|
|
6223
6224
|
{
|
|
6224
6225
|
asChild: true,
|
|
@@ -6229,7 +6230,7 @@ function ColorSwatchControl(props) {
|
|
|
6229
6230
|
item
|
|
6230
6231
|
);
|
|
6231
6232
|
}));
|
|
6232
|
-
return /* @__PURE__ */
|
|
6233
|
+
return /* @__PURE__ */ React54.createElement(
|
|
6233
6234
|
ToggleGroupPrimitive.Root,
|
|
6234
6235
|
{
|
|
6235
6236
|
type: "single",
|
|
@@ -6244,7 +6245,7 @@ function ColorSwatchControl(props) {
|
|
|
6244
6245
|
|
|
6245
6246
|
// src/components/Combobox.tsx
|
|
6246
6247
|
import { DropdownChevronIcon as DropdownChevronIcon2 } from "@noya-app/noya-icons";
|
|
6247
|
-
import
|
|
6248
|
+
import React56, {
|
|
6248
6249
|
useCallback as useCallback25,
|
|
6249
6250
|
useEffect as useEffect19,
|
|
6250
6251
|
useImperativeHandle as useImperativeHandle6,
|
|
@@ -6586,7 +6587,7 @@ function useComboboxState(state) {
|
|
|
6586
6587
|
|
|
6587
6588
|
// src/components/ComboboxMenu.tsx
|
|
6588
6589
|
import { CheckIcon } from "@noya-app/noya-icons";
|
|
6589
|
-
import
|
|
6590
|
+
import React55 from "react";
|
|
6590
6591
|
var ComboboxMenu = memoGeneric(
|
|
6591
6592
|
forwardRefGeneric(function ComboboxMenu2({
|
|
6592
6593
|
items,
|
|
@@ -6598,7 +6599,7 @@ var ComboboxMenu = memoGeneric(
|
|
|
6598
6599
|
indented,
|
|
6599
6600
|
iconPosition = "right"
|
|
6600
6601
|
}, forwardedRef) {
|
|
6601
|
-
return /* @__PURE__ */
|
|
6602
|
+
return /* @__PURE__ */ React55.createElement(
|
|
6602
6603
|
ListView.Root,
|
|
6603
6604
|
{
|
|
6604
6605
|
ref: forwardedRef,
|
|
@@ -6614,7 +6615,7 @@ var ComboboxMenu = memoGeneric(
|
|
|
6614
6615
|
style: style2,
|
|
6615
6616
|
renderItem: (item, i) => {
|
|
6616
6617
|
if (item.type === "sectionHeader") {
|
|
6617
|
-
return /* @__PURE__ */
|
|
6618
|
+
return /* @__PURE__ */ React55.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, indented && /* @__PURE__ */ React55.createElement(
|
|
6618
6619
|
Spacer.Horizontal,
|
|
6619
6620
|
{
|
|
6620
6621
|
size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET + CHECKBOX_INDENT_WIDTH
|
|
@@ -6625,7 +6626,7 @@ var ComboboxMenu = memoGeneric(
|
|
|
6625
6626
|
item: typeof item.title === "string" ? item.title : item.value,
|
|
6626
6627
|
itemScore: item
|
|
6627
6628
|
});
|
|
6628
|
-
return /* @__PURE__ */
|
|
6629
|
+
return /* @__PURE__ */ React55.createElement(
|
|
6629
6630
|
ListView.Row,
|
|
6630
6631
|
{
|
|
6631
6632
|
key: item.value,
|
|
@@ -6638,12 +6639,12 @@ var ComboboxMenu = memoGeneric(
|
|
|
6638
6639
|
}
|
|
6639
6640
|
}
|
|
6640
6641
|
},
|
|
6641
|
-
/* @__PURE__ */
|
|
6642
|
+
/* @__PURE__ */ React55.createElement("div", { className: "flex flex-1 min-w-0 items-center" }, indented && /* @__PURE__ */ React55.createElement(Spacer.Horizontal, { size: CHECKBOX_INDENT_WIDTH }), item.checked ? /* @__PURE__ */ React55.createElement("div", { ...styles.itemIndicator }, /* @__PURE__ */ React55.createElement(CheckIcon, null)) : indented ? /* @__PURE__ */ React55.createElement(
|
|
6642
6643
|
Spacer.Horizontal,
|
|
6643
6644
|
{
|
|
6644
6645
|
size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET
|
|
6645
6646
|
}
|
|
6646
|
-
) : null, iconPosition === "left" && item.icon && /* @__PURE__ */
|
|
6647
|
+
) : null, iconPosition === "left" && item.icon && /* @__PURE__ */ React55.createElement(React55.Fragment, null, renderIcon(item.icon), /* @__PURE__ */ React55.createElement(Spacer.Horizontal, { size: 8 })), tokens.map((token, j) => /* @__PURE__ */ React55.createElement(
|
|
6647
6648
|
"span",
|
|
6648
6649
|
{
|
|
6649
6650
|
key: `${item.value}-token-${j}`,
|
|
@@ -6654,7 +6655,7 @@ var ComboboxMenu = memoGeneric(
|
|
|
6654
6655
|
},
|
|
6655
6656
|
token.text
|
|
6656
6657
|
))),
|
|
6657
|
-
(item.shortcut || item.icon && iconPosition === "right") && /* @__PURE__ */
|
|
6658
|
+
(item.shortcut || item.icon && iconPosition === "right") && /* @__PURE__ */ React55.createElement(React55.Fragment, null, item.shortcut ? /* @__PURE__ */ React55.createElement(KeyboardShortcut, { shortcut: item.shortcut }) : item.icon && renderIcon(item.icon))
|
|
6658
6659
|
);
|
|
6659
6660
|
}
|
|
6660
6661
|
}
|
|
@@ -6976,19 +6977,19 @@ var Combobox = memoGeneric(
|
|
|
6976
6977
|
const hasCheckedItems = items.some(
|
|
6977
6978
|
(item) => isSelectableMenuItem(item) && item.checked
|
|
6978
6979
|
);
|
|
6979
|
-
return /* @__PURE__ */
|
|
6980
|
+
return /* @__PURE__ */ React56.createElement(
|
|
6980
6981
|
InputField2.Root,
|
|
6981
6982
|
{
|
|
6982
6983
|
id,
|
|
6983
6984
|
size: size2,
|
|
6984
6985
|
sideOffset: 6,
|
|
6985
|
-
end: /* @__PURE__ */
|
|
6986
|
+
end: /* @__PURE__ */ React56.createElement(React56.Fragment, null, loading && /* @__PURE__ */ React56.createElement("div", { className: "pr-1.5" }, /* @__PURE__ */ React56.createElement(ActivityIndicator, null)), !readOnly && /* @__PURE__ */ React56.createElement(
|
|
6986
6987
|
InputField2.Button,
|
|
6987
6988
|
{
|
|
6988
6989
|
variant: "floating",
|
|
6989
6990
|
onClick: handleChevronClick
|
|
6990
6991
|
},
|
|
6991
|
-
/* @__PURE__ */
|
|
6992
|
+
/* @__PURE__ */ React56.createElement(
|
|
6992
6993
|
DropdownChevronIcon2,
|
|
6993
6994
|
{
|
|
6994
6995
|
className: cx(
|
|
@@ -7007,7 +7008,7 @@ var Combobox = memoGeneric(
|
|
|
7007
7008
|
ListView.rowHeight * 10.5
|
|
7008
7009
|
);
|
|
7009
7010
|
const listSize = { width, height };
|
|
7010
|
-
return /* @__PURE__ */
|
|
7011
|
+
return /* @__PURE__ */ React56.createElement(
|
|
7011
7012
|
"div",
|
|
7012
7013
|
{
|
|
7013
7014
|
className: cx(
|
|
@@ -7015,7 +7016,7 @@ var Combobox = memoGeneric(
|
|
|
7015
7016
|
shouldShowMenu && !readOnly ? "flex" : "hidden"
|
|
7016
7017
|
)
|
|
7017
7018
|
},
|
|
7018
|
-
filteredItems.length > 0 && !loading ? /* @__PURE__ */
|
|
7019
|
+
filteredItems.length > 0 && !loading ? /* @__PURE__ */ React56.createElement(
|
|
7019
7020
|
ComboboxMenu,
|
|
7020
7021
|
{
|
|
7021
7022
|
ref: listRef,
|
|
@@ -7029,11 +7030,11 @@ var Combobox = memoGeneric(
|
|
|
7029
7030
|
},
|
|
7030
7031
|
indented: hasCheckedItems
|
|
7031
7032
|
}
|
|
7032
|
-
) : /* @__PURE__ */
|
|
7033
|
+
) : /* @__PURE__ */ React56.createElement("div", { className: "flex flex-col h-[50px] p-5 items-center justify-center" }, /* @__PURE__ */ React56.createElement(Small, { className: "text-text-disabled" }, loading ? "Loading..." : "No results"))
|
|
7033
7034
|
);
|
|
7034
7035
|
}
|
|
7035
7036
|
},
|
|
7036
|
-
/* @__PURE__ */
|
|
7037
|
+
/* @__PURE__ */ React56.createElement(
|
|
7037
7038
|
InputField2.Input,
|
|
7038
7039
|
{
|
|
7039
7040
|
ref,
|
|
@@ -7058,7 +7059,7 @@ var Combobox = memoGeneric(
|
|
|
7058
7059
|
...readOnly ? { readOnly: true } : {}
|
|
7059
7060
|
}
|
|
7060
7061
|
),
|
|
7061
|
-
filter && typeaheadValue && typeaheadValue.toLowerCase().startsWith(filter.toLowerCase()) && /* @__PURE__ */
|
|
7062
|
+
filter && typeaheadValue && typeaheadValue.toLowerCase().startsWith(filter.toLowerCase()) && /* @__PURE__ */ React56.createElement(
|
|
7062
7063
|
InputField2.Typeahead,
|
|
7063
7064
|
{
|
|
7064
7065
|
value: typeaheadValue,
|
|
@@ -7072,11 +7073,11 @@ var Combobox = memoGeneric(
|
|
|
7072
7073
|
);
|
|
7073
7074
|
|
|
7074
7075
|
// src/components/CommandPalette.tsx
|
|
7075
|
-
import
|
|
7076
|
+
import React59, { memo as memo21 } from "react";
|
|
7076
7077
|
|
|
7077
7078
|
// src/components/SearchCompletionMenu.tsx
|
|
7078
7079
|
import { getCurrentPlatform as getCurrentPlatform2, handleKeyboardEvent } from "@noya-app/noya-keymap";
|
|
7079
|
-
import
|
|
7080
|
+
import React58, {
|
|
7080
7081
|
forwardRef as forwardRef21,
|
|
7081
7082
|
useCallback as useCallback26,
|
|
7082
7083
|
useEffect as useEffect20,
|
|
@@ -7087,7 +7088,7 @@ import React57, {
|
|
|
7087
7088
|
} from "react";
|
|
7088
7089
|
|
|
7089
7090
|
// src/components/Divider.tsx
|
|
7090
|
-
import
|
|
7091
|
+
import React57, { memo as memo20 } from "react";
|
|
7091
7092
|
var Divider = memo20(function Divider2({
|
|
7092
7093
|
variant = "normal",
|
|
7093
7094
|
overflow = 0,
|
|
@@ -7095,7 +7096,7 @@ var Divider = memo20(function Divider2({
|
|
|
7095
7096
|
style: style2,
|
|
7096
7097
|
...props
|
|
7097
7098
|
}) {
|
|
7098
|
-
return /* @__PURE__ */
|
|
7099
|
+
return /* @__PURE__ */ React57.createElement(
|
|
7099
7100
|
"div",
|
|
7100
7101
|
{
|
|
7101
7102
|
className: cx(
|
|
@@ -7122,7 +7123,7 @@ var DividerVertical = memo20(function DividerVertical2({
|
|
|
7122
7123
|
style: style2,
|
|
7123
7124
|
...props
|
|
7124
7125
|
}) {
|
|
7125
|
-
return /* @__PURE__ */
|
|
7126
|
+
return /* @__PURE__ */ React57.createElement(
|
|
7126
7127
|
"div",
|
|
7127
7128
|
{
|
|
7128
7129
|
className: cx(`
|
|
@@ -7156,7 +7157,7 @@ var SearchCompletionMenu = forwardRef21(function SearchCompletionMenu2({
|
|
|
7156
7157
|
index: 0
|
|
7157
7158
|
});
|
|
7158
7159
|
const { index, search } = state;
|
|
7159
|
-
const listRef =
|
|
7160
|
+
const listRef = React58.useRef(null);
|
|
7160
7161
|
const hasCheckedItems = items.some((item) => item.checked);
|
|
7161
7162
|
useEffect20(() => {
|
|
7162
7163
|
listRef.current?.scrollToIndex(index);
|
|
@@ -7235,7 +7236,7 @@ var SearchCompletionMenu = forwardRef21(function SearchCompletionMenu2({
|
|
|
7235
7236
|
inputRef.current?.focus();
|
|
7236
7237
|
}
|
|
7237
7238
|
}));
|
|
7238
|
-
return /* @__PURE__ */
|
|
7239
|
+
return /* @__PURE__ */ React58.createElement("div", { ...elementSize, className: "flex flex-col overflow-hidden" }, /* @__PURE__ */ React58.createElement(InputField2.Root, { className: "flex flex-0" }, /* @__PURE__ */ React58.createElement(
|
|
7239
7240
|
InputField2.Input,
|
|
7240
7241
|
{
|
|
7241
7242
|
ref: inputRef,
|
|
@@ -7255,7 +7256,7 @@ var SearchCompletionMenu = forwardRef21(function SearchCompletionMenu2({
|
|
|
7255
7256
|
onChange: setSearch,
|
|
7256
7257
|
onKeyDown: handleKeyDown
|
|
7257
7258
|
}
|
|
7258
|
-
)), /* @__PURE__ */
|
|
7259
|
+
)), /* @__PURE__ */ React58.createElement(Divider, null), results.length > 0 ? /* @__PURE__ */ React58.createElement(
|
|
7259
7260
|
ComboboxMenu,
|
|
7260
7261
|
{
|
|
7261
7262
|
ref: listRef,
|
|
@@ -7270,13 +7271,13 @@ var SearchCompletionMenu = forwardRef21(function SearchCompletionMenu2({
|
|
|
7270
7271
|
onHoverIndex: setIndex,
|
|
7271
7272
|
indented: hasCheckedItems
|
|
7272
7273
|
}
|
|
7273
|
-
) : /* @__PURE__ */
|
|
7274
|
+
) : /* @__PURE__ */ React58.createElement(
|
|
7274
7275
|
"div",
|
|
7275
7276
|
{
|
|
7276
7277
|
...listSize,
|
|
7277
7278
|
className: "flex flex-col p-20 items-center justify-center"
|
|
7278
7279
|
},
|
|
7279
|
-
/* @__PURE__ */
|
|
7280
|
+
/* @__PURE__ */ React58.createElement(Small, { color: "textDisabled" }, "No results")
|
|
7280
7281
|
));
|
|
7281
7282
|
});
|
|
7282
7283
|
|
|
@@ -7288,11 +7289,11 @@ var CommandPalette = memo21(function CommandPalette2({
|
|
|
7288
7289
|
onSelect,
|
|
7289
7290
|
onHover
|
|
7290
7291
|
}) {
|
|
7291
|
-
const menuRef =
|
|
7292
|
-
const handleClose =
|
|
7292
|
+
const menuRef = React59.useRef(null);
|
|
7293
|
+
const handleClose = React59.useCallback(() => {
|
|
7293
7294
|
setShowCommandPalette(false);
|
|
7294
7295
|
}, [setShowCommandPalette]);
|
|
7295
|
-
return /* @__PURE__ */
|
|
7296
|
+
return /* @__PURE__ */ React59.createElement(
|
|
7296
7297
|
Dialog,
|
|
7297
7298
|
{
|
|
7298
7299
|
style: {
|
|
@@ -7318,7 +7319,7 @@ var CommandPalette = memo21(function CommandPalette2({
|
|
|
7318
7319
|
}, 0);
|
|
7319
7320
|
}
|
|
7320
7321
|
},
|
|
7321
|
-
/* @__PURE__ */
|
|
7322
|
+
/* @__PURE__ */ React59.createElement("div", { className: "flex flex-col flex-1" }, /* @__PURE__ */ React59.createElement(AutoSizer, null, (size2) => /* @__PURE__ */ React59.createElement(
|
|
7322
7323
|
SearchCompletionMenu,
|
|
7323
7324
|
{
|
|
7324
7325
|
ref: menuRef,
|
|
@@ -7333,21 +7334,21 @@ var CommandPalette = memo21(function CommandPalette2({
|
|
|
7333
7334
|
});
|
|
7334
7335
|
|
|
7335
7336
|
// src/components/connected-users-menu/ConnectedUsersMenuLayout.tsx
|
|
7336
|
-
import
|
|
7337
|
-
var UserAvatar = ({ userId, name, image }) => /* @__PURE__ */
|
|
7337
|
+
import React60 from "react";
|
|
7338
|
+
var UserAvatar = ({ userId, name, image }) => /* @__PURE__ */ React60.createElement(
|
|
7338
7339
|
Tooltip,
|
|
7339
7340
|
{
|
|
7340
7341
|
key: userId,
|
|
7341
|
-
content: /* @__PURE__ */
|
|
7342
|
+
content: /* @__PURE__ */ React60.createElement("div", { className: "flex flex-col" }, /* @__PURE__ */ React60.createElement(Small, null, name))
|
|
7342
7343
|
},
|
|
7343
|
-
/* @__PURE__ */
|
|
7344
|
+
/* @__PURE__ */ React60.createElement(Avatar, { size: INPUT_HEIGHT, userId, name, image })
|
|
7344
7345
|
);
|
|
7345
7346
|
var ConnectedUsersMenuLayout = ({
|
|
7346
7347
|
renderUsers,
|
|
7347
7348
|
launchAIAssistant,
|
|
7348
7349
|
isAssistantOpen
|
|
7349
7350
|
}) => {
|
|
7350
|
-
return /* @__PURE__ */
|
|
7351
|
+
return /* @__PURE__ */ React60.createElement("div", { className: "flex gap-1.5" }, /* @__PURE__ */ React60.createElement(AvatarStack, { size: INPUT_HEIGHT, className: "mr-1" }, renderUsers()), launchAIAssistant && /* @__PURE__ */ React60.createElement(Tooltip, { content: "AI Assistant" }, /* @__PURE__ */ React60.createElement(
|
|
7351
7352
|
Button_default,
|
|
7352
7353
|
{
|
|
7353
7354
|
active: isAssistantOpen,
|
|
@@ -7360,7 +7361,7 @@ var ConnectedUsersMenuLayout = ({
|
|
|
7360
7361
|
|
|
7361
7362
|
// src/components/DraggableMenuButton.tsx
|
|
7362
7363
|
import { DragHandleDots2Icon } from "@noya-app/noya-icons";
|
|
7363
|
-
import
|
|
7364
|
+
import React61, { useCallback as useCallback27, useState as useState26 } from "react";
|
|
7364
7365
|
var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
|
|
7365
7366
|
items,
|
|
7366
7367
|
onSelect,
|
|
@@ -7406,7 +7407,7 @@ var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
|
|
|
7406
7407
|
},
|
|
7407
7408
|
[setOpen]
|
|
7408
7409
|
);
|
|
7409
|
-
return /* @__PURE__ */
|
|
7410
|
+
return /* @__PURE__ */ React61.createElement(
|
|
7410
7411
|
"div",
|
|
7411
7412
|
{
|
|
7412
7413
|
className: cx(
|
|
@@ -7422,7 +7423,7 @@ var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
|
|
|
7422
7423
|
onClick?.();
|
|
7423
7424
|
}
|
|
7424
7425
|
},
|
|
7425
|
-
items && onSelect ? /* @__PURE__ */
|
|
7426
|
+
items && onSelect ? /* @__PURE__ */ React61.createElement(
|
|
7426
7427
|
DropdownMenu,
|
|
7427
7428
|
{
|
|
7428
7429
|
open,
|
|
@@ -7431,13 +7432,13 @@ var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
|
|
|
7431
7432
|
onSelect,
|
|
7432
7433
|
shouldBindKeyboardShortcuts: false
|
|
7433
7434
|
},
|
|
7434
|
-
/* @__PURE__ */
|
|
7435
|
+
/* @__PURE__ */ React61.createElement("div", { className: "pointer-events-none h-[15px]" }, /* @__PURE__ */ React61.createElement(
|
|
7435
7436
|
DragHandleDots2Icon,
|
|
7436
7437
|
{
|
|
7437
7438
|
color: isVisible || open ? cssVars.colors.icon : "transparent"
|
|
7438
7439
|
}
|
|
7439
7440
|
))
|
|
7440
|
-
) : /* @__PURE__ */
|
|
7441
|
+
) : /* @__PURE__ */ React61.createElement(
|
|
7441
7442
|
DragHandleDots2Icon,
|
|
7442
7443
|
{
|
|
7443
7444
|
color: isVisible || open ? cssVars.colors.icon : "transparent"
|
|
@@ -7448,10 +7449,10 @@ var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
|
|
|
7448
7449
|
|
|
7449
7450
|
// src/components/Drawer.tsx
|
|
7450
7451
|
import * as Dialog3 from "@radix-ui/react-dialog";
|
|
7451
|
-
import * as
|
|
7452
|
+
import * as React62 from "react";
|
|
7452
7453
|
import { useImperativeHandle as useImperativeHandle8 } from "react";
|
|
7453
|
-
var Drawer =
|
|
7454
|
-
|
|
7454
|
+
var Drawer = React62.memo(
|
|
7455
|
+
React62.forwardRef(function Drawer2({
|
|
7455
7456
|
open,
|
|
7456
7457
|
onOpenChange,
|
|
7457
7458
|
trigger,
|
|
@@ -7481,7 +7482,7 @@ var Drawer = React61.memo(
|
|
|
7481
7482
|
return internalOpen;
|
|
7482
7483
|
}
|
|
7483
7484
|
}));
|
|
7484
|
-
const inner = /* @__PURE__ */
|
|
7485
|
+
const inner = /* @__PURE__ */ React62.createElement(React62.Fragment, null, /* @__PURE__ */ React62.createElement(
|
|
7485
7486
|
Dialog3.Overlay,
|
|
7486
7487
|
{
|
|
7487
7488
|
className: cx(
|
|
@@ -7489,7 +7490,7 @@ var Drawer = React61.memo(
|
|
|
7489
7490
|
positioning === "absolute" ? "absolute" : "fixed"
|
|
7490
7491
|
)
|
|
7491
7492
|
}
|
|
7492
|
-
), /* @__PURE__ */
|
|
7493
|
+
), /* @__PURE__ */ React62.createElement(
|
|
7493
7494
|
Dialog3.Content,
|
|
7494
7495
|
{
|
|
7495
7496
|
id,
|
|
@@ -7501,24 +7502,24 @@ var Drawer = React61.memo(
|
|
|
7501
7502
|
className
|
|
7502
7503
|
)
|
|
7503
7504
|
},
|
|
7504
|
-
title && /* @__PURE__ */
|
|
7505
|
+
title && /* @__PURE__ */ React62.createElement(Dialog3.Title, null, title),
|
|
7505
7506
|
children
|
|
7506
7507
|
));
|
|
7507
|
-
return /* @__PURE__ */
|
|
7508
|
+
return /* @__PURE__ */ React62.createElement(
|
|
7508
7509
|
Dialog3.Root,
|
|
7509
7510
|
{
|
|
7510
7511
|
key: "dialog",
|
|
7511
7512
|
open: internalOpen,
|
|
7512
7513
|
onOpenChange: setInternalOpen
|
|
7513
7514
|
},
|
|
7514
|
-
/* @__PURE__ */
|
|
7515
|
-
portalled ? /* @__PURE__ */
|
|
7515
|
+
/* @__PURE__ */ React62.createElement(Dialog3.Trigger, { key: "trigger" }, trigger),
|
|
7516
|
+
portalled ? /* @__PURE__ */ React62.createElement(Dialog3.Portal, { container: portalContainer }, inner) : inner
|
|
7516
7517
|
);
|
|
7517
7518
|
})
|
|
7518
7519
|
);
|
|
7519
7520
|
|
|
7520
7521
|
// src/components/Fade.tsx
|
|
7521
|
-
import
|
|
7522
|
+
import React63 from "react";
|
|
7522
7523
|
var Fade = ({
|
|
7523
7524
|
children,
|
|
7524
7525
|
direction = "right",
|
|
@@ -7540,7 +7541,7 @@ var Fade = ({
|
|
|
7540
7541
|
top: "left-0 right-0 top-0",
|
|
7541
7542
|
bottom: "left-0 right-0 bottom-0"
|
|
7542
7543
|
}[direction];
|
|
7543
|
-
return /* @__PURE__ */
|
|
7544
|
+
return /* @__PURE__ */ React63.createElement("div", { className: cx("relative", className), style: { height } }, position === "front" ? children : null, /* @__PURE__ */ React63.createElement(
|
|
7544
7545
|
"div",
|
|
7545
7546
|
{
|
|
7546
7547
|
className: cx(
|
|
@@ -7559,17 +7560,17 @@ var Fade = ({
|
|
|
7559
7560
|
};
|
|
7560
7561
|
|
|
7561
7562
|
// src/components/file-explorer/FileExplorerLayout.tsx
|
|
7562
|
-
import
|
|
7563
|
+
import React64 from "react";
|
|
7563
7564
|
var FileExplorerLayout = ({
|
|
7564
7565
|
children,
|
|
7565
7566
|
className,
|
|
7566
7567
|
...props
|
|
7567
|
-
}) => /* @__PURE__ */
|
|
7568
|
+
}) => /* @__PURE__ */ React64.createElement(Section, { className: cx(className, "px-3 flex-1"), ...props }, children);
|
|
7568
7569
|
var FileExplorerUploadButton = ({
|
|
7569
7570
|
showUploadButton,
|
|
7570
7571
|
onUpload,
|
|
7571
7572
|
children
|
|
7572
|
-
}) => /* @__PURE__ */
|
|
7573
|
+
}) => /* @__PURE__ */ React64.createElement("div", { className: "flex items-center gap-2" }, showUploadButton && /* @__PURE__ */ React64.createElement(
|
|
7573
7574
|
IconButton,
|
|
7574
7575
|
{
|
|
7575
7576
|
iconName: "UploadIcon",
|
|
@@ -7580,14 +7581,14 @@ var FileExplorerUploadButton = ({
|
|
|
7580
7581
|
), children);
|
|
7581
7582
|
var FileExplorerCollection = forwardRefGeneric(
|
|
7582
7583
|
function FileExplorerCollection2({ ...props }, ref) {
|
|
7583
|
-
return /* @__PURE__ */
|
|
7584
|
+
return /* @__PURE__ */ React64.createElement(Collection, { ref, className: "-mx-3 flex-1", ...props });
|
|
7584
7585
|
}
|
|
7585
7586
|
);
|
|
7586
7587
|
var FileExplorerDetail = ({
|
|
7587
7588
|
selected,
|
|
7588
7589
|
size: size2,
|
|
7589
7590
|
children
|
|
7590
|
-
}) => /* @__PURE__ */
|
|
7591
|
+
}) => /* @__PURE__ */ React64.createElement(
|
|
7591
7592
|
"span",
|
|
7592
7593
|
{
|
|
7593
7594
|
className: cx(
|
|
@@ -7600,10 +7601,10 @@ var FileExplorerDetail = ({
|
|
|
7600
7601
|
var FileExplorerEmptyState = ({
|
|
7601
7602
|
label = "No files",
|
|
7602
7603
|
...props
|
|
7603
|
-
}) => /* @__PURE__ */
|
|
7604
|
+
}) => /* @__PURE__ */ React64.createElement(Banner, { label, className: "mx-3", ...props });
|
|
7604
7605
|
|
|
7605
7606
|
// src/components/FillInputField.tsx
|
|
7606
|
-
import
|
|
7607
|
+
import React67, { forwardRef as forwardRef23, memo as memo25 } from "react";
|
|
7607
7608
|
|
|
7608
7609
|
// ../noya-file-format/src/types.ts
|
|
7609
7610
|
var types_exports = {};
|
|
@@ -7928,25 +7929,25 @@ var ClassValue = /* @__PURE__ */ ((ClassValue2) => {
|
|
|
7928
7929
|
})(ClassValue || {});
|
|
7929
7930
|
|
|
7930
7931
|
// src/components/FillPreviewBackground.tsx
|
|
7931
|
-
import * as
|
|
7932
|
+
import * as React66 from "react";
|
|
7932
7933
|
|
|
7933
7934
|
// src/contexts/ImageDataContext.tsx
|
|
7934
|
-
import * as
|
|
7935
|
-
var ImageDataContext =
|
|
7935
|
+
import * as React65 from "react";
|
|
7936
|
+
var ImageDataContext = React65.createContext(
|
|
7936
7937
|
void 0
|
|
7937
7938
|
);
|
|
7938
|
-
var ImageDataProvider =
|
|
7939
|
+
var ImageDataProvider = React65.memo(function ImageDataProvider2({
|
|
7939
7940
|
children,
|
|
7940
7941
|
getImageData
|
|
7941
7942
|
}) {
|
|
7942
|
-
const contextValue =
|
|
7943
|
+
const contextValue = React65.useMemo(
|
|
7943
7944
|
() => ({ getImageData: getImageData ?? (() => void 0) }),
|
|
7944
7945
|
[getImageData]
|
|
7945
7946
|
);
|
|
7946
|
-
return /* @__PURE__ */
|
|
7947
|
+
return /* @__PURE__ */ React65.createElement(ImageDataContext.Provider, { value: contextValue }, children);
|
|
7947
7948
|
});
|
|
7948
7949
|
function useImageData(ref) {
|
|
7949
|
-
const value =
|
|
7950
|
+
const value = React65.useContext(ImageDataContext);
|
|
7950
7951
|
if (!value) {
|
|
7951
7952
|
throw new Error("Missing ImageDataProvider");
|
|
7952
7953
|
}
|
|
@@ -7954,14 +7955,14 @@ function useImageData(ref) {
|
|
|
7954
7955
|
}
|
|
7955
7956
|
|
|
7956
7957
|
// src/hooks/useObjectURL.ts
|
|
7957
|
-
import { useLayoutEffect as
|
|
7958
|
+
import { useLayoutEffect as useLayoutEffect6, useMemo as useMemo26 } from "react";
|
|
7958
7959
|
function useObjectURL(object) {
|
|
7959
7960
|
const objectURL = useMemo26(() => {
|
|
7960
7961
|
if (object instanceof Blob) return URL.createObjectURL(object);
|
|
7961
7962
|
const bytes = object instanceof Uint8Array ? object : object !== void 0 ? new Uint8Array(object) : new Uint8Array();
|
|
7962
7963
|
return URL.createObjectURL(new Blob([bytes]));
|
|
7963
7964
|
}, [object]);
|
|
7964
|
-
|
|
7965
|
+
useLayoutEffect6(() => {
|
|
7965
7966
|
return () => URL.revokeObjectURL(objectURL);
|
|
7966
7967
|
}, [objectURL]);
|
|
7967
7968
|
return objectURL;
|
|
@@ -8016,10 +8017,10 @@ var dotsHorizontalSvg = (fillColor) => `
|
|
|
8016
8017
|
<path d='M3.625 7.5C3.625 8.12132 3.12132 8.625 2.5 8.625C1.87868 8.625 1.375 8.12132 1.375 7.5C1.375 6.87868 1.87868 6.375 2.5 6.375C3.12132 6.375 3.625 6.87868 3.625 7.5ZM8.625 7.5C8.625 8.12132 8.12132 8.625 7.5 8.625C6.87868 8.625 6.375 8.12132 6.375 7.5C6.375 6.87868 6.87868 6.375 7.5 6.375C8.12132 6.375 8.625 6.87868 8.625 7.5ZM12.5 8.625C13.1213 8.625 13.625 8.12132 13.625 7.5C13.625 6.87868 13.1213 6.375 12.5 6.375C11.8787 6.375 11.375 6.87868 11.375 7.5C11.375 8.12132 11.8787 8.625 12.5 8.625Z'></path>
|
|
8017
8018
|
</svg>
|
|
8018
8019
|
`;
|
|
8019
|
-
var Background =
|
|
8020
|
+
var Background = React66.memo(function Background2({
|
|
8020
8021
|
background: background2
|
|
8021
8022
|
}) {
|
|
8022
|
-
return /* @__PURE__ */
|
|
8023
|
+
return /* @__PURE__ */ React66.createElement(
|
|
8023
8024
|
"span",
|
|
8024
8025
|
{
|
|
8025
8026
|
className: `${background2 ? `bg-[${background2}]` : "bg-input-background"} absolute inset-0`
|
|
@@ -8038,7 +8039,7 @@ function getPatternSizeAndPosition(fillType, tileScale) {
|
|
|
8038
8039
|
return "center / 100% 100%";
|
|
8039
8040
|
}
|
|
8040
8041
|
}
|
|
8041
|
-
var PatternPreviewBackground =
|
|
8042
|
+
var PatternPreviewBackground = React66.memo(
|
|
8042
8043
|
function PatternPreviewBackground2({
|
|
8043
8044
|
fillType,
|
|
8044
8045
|
tileScale,
|
|
@@ -8047,7 +8048,7 @@ var PatternPreviewBackground = React65.memo(
|
|
|
8047
8048
|
const image = useImageData(imageRef);
|
|
8048
8049
|
const url = useObjectURL(image);
|
|
8049
8050
|
const size2 = getPatternSizeAndPosition(fillType, tileScale);
|
|
8050
|
-
const background2 =
|
|
8051
|
+
const background2 = React66.useMemo(
|
|
8051
8052
|
() => [
|
|
8052
8053
|
size2,
|
|
8053
8054
|
`url(${url})`,
|
|
@@ -8055,44 +8056,44 @@ var PatternPreviewBackground = React65.memo(
|
|
|
8055
8056
|
].join(" "),
|
|
8056
8057
|
[fillType, size2, url]
|
|
8057
8058
|
);
|
|
8058
|
-
return /* @__PURE__ */
|
|
8059
|
+
return /* @__PURE__ */ React66.createElement(Background, { background: background2 });
|
|
8059
8060
|
}
|
|
8060
8061
|
);
|
|
8061
|
-
var ColorPreviewBackground =
|
|
8062
|
+
var ColorPreviewBackground = React66.memo(function ColorPreviewBackground2({
|
|
8062
8063
|
color
|
|
8063
8064
|
}) {
|
|
8064
|
-
const background2 =
|
|
8065
|
+
const background2 = React66.useMemo(
|
|
8065
8066
|
() => sketchColorToRgbaString(color),
|
|
8066
8067
|
[color]
|
|
8067
8068
|
);
|
|
8068
|
-
return /* @__PURE__ */
|
|
8069
|
+
return /* @__PURE__ */ React66.createElement(Background, { background: background2 });
|
|
8069
8070
|
});
|
|
8070
|
-
var GradientPreviewBackground =
|
|
8071
|
+
var GradientPreviewBackground = React66.memo(
|
|
8071
8072
|
function GradientPreviewBackground2({
|
|
8072
8073
|
gradient
|
|
8073
8074
|
}) {
|
|
8074
|
-
const background2 =
|
|
8075
|
+
const background2 = React66.useMemo(
|
|
8075
8076
|
() => getGradientBackground(gradient.stops, gradient.gradientType, 180),
|
|
8076
8077
|
[gradient.gradientType, gradient.stops]
|
|
8077
8078
|
);
|
|
8078
|
-
return /* @__PURE__ */
|
|
8079
|
+
return /* @__PURE__ */ React66.createElement(Background, { background: background2 });
|
|
8079
8080
|
}
|
|
8080
8081
|
);
|
|
8081
8082
|
var background = `center url("data:image/svg+xml;utf8,${dotsHorizontalSvg(
|
|
8082
8083
|
cssVars.colors.placeholderDots
|
|
8083
8084
|
)}") no-repeat`;
|
|
8084
|
-
var FillPreviewBackground =
|
|
8085
|
+
var FillPreviewBackground = React66.memo(function FillPreviewBackground2({
|
|
8085
8086
|
value
|
|
8086
8087
|
}) {
|
|
8087
|
-
if (!value) return /* @__PURE__ */
|
|
8088
|
+
if (!value) return /* @__PURE__ */ React66.createElement(Background, { background });
|
|
8088
8089
|
switch (value._class) {
|
|
8089
8090
|
case "color":
|
|
8090
|
-
return /* @__PURE__ */
|
|
8091
|
+
return /* @__PURE__ */ React66.createElement(ColorPreviewBackground, { color: value });
|
|
8091
8092
|
case "gradient":
|
|
8092
|
-
return /* @__PURE__ */
|
|
8093
|
+
return /* @__PURE__ */ React66.createElement(GradientPreviewBackground, { gradient: value });
|
|
8093
8094
|
case "pattern":
|
|
8094
8095
|
if (!value.image) return null;
|
|
8095
|
-
return /* @__PURE__ */
|
|
8096
|
+
return /* @__PURE__ */ React66.createElement(
|
|
8096
8097
|
PatternPreviewBackground,
|
|
8097
8098
|
{
|
|
8098
8099
|
fillType: value.patternFillType,
|
|
@@ -8104,7 +8105,7 @@ var FillPreviewBackground = React65.memo(function FillPreviewBackground2({
|
|
|
8104
8105
|
});
|
|
8105
8106
|
|
|
8106
8107
|
// src/components/FillInputField.tsx
|
|
8107
|
-
var FillButton = forwardRef23(({ className, ...props }, ref) => /* @__PURE__ */
|
|
8108
|
+
var FillButton = forwardRef23(({ className, ...props }, ref) => /* @__PURE__ */ React67.createElement(
|
|
8108
8109
|
"button",
|
|
8109
8110
|
{
|
|
8110
8111
|
ref,
|
|
@@ -8117,12 +8118,12 @@ var FillButton = forwardRef23(({ className, ...props }, ref) => /* @__PURE__ */
|
|
|
8117
8118
|
));
|
|
8118
8119
|
var FillInputField = memo25(
|
|
8119
8120
|
forwardRef23(function FillInputField2({ id, value, ...rest }, ref) {
|
|
8120
|
-
return /* @__PURE__ */
|
|
8121
|
+
return /* @__PURE__ */ React67.createElement(FillButton, { ref, id, ...rest }, /* @__PURE__ */ React67.createElement(FillPreviewBackground, { value }));
|
|
8121
8122
|
})
|
|
8122
8123
|
);
|
|
8123
8124
|
|
|
8124
8125
|
// src/components/FloatingWindow.tsx
|
|
8125
|
-
import
|
|
8126
|
+
import React68, { useCallback as useCallback28, useRef as useRef23, useState as useState27 } from "react";
|
|
8126
8127
|
var styles2 = {
|
|
8127
8128
|
noSelect: {
|
|
8128
8129
|
userSelect: "none",
|
|
@@ -8215,7 +8216,7 @@ function defaultRenderToolbar({
|
|
|
8215
8216
|
toolbarContent,
|
|
8216
8217
|
onClose
|
|
8217
8218
|
}) {
|
|
8218
|
-
return /* @__PURE__ */
|
|
8219
|
+
return /* @__PURE__ */ React68.createElement(React68.Fragment, null, /* @__PURE__ */ React68.createElement(Small, { className: "flex-1 font-medium text-text" }, title), toolbarContent, /* @__PURE__ */ React68.createElement(
|
|
8219
8220
|
IconButton,
|
|
8220
8221
|
{
|
|
8221
8222
|
iconName: "Cross3Icon",
|
|
@@ -8337,7 +8338,7 @@ var FloatingWindow = ({
|
|
|
8337
8338
|
setResizeDirection(null);
|
|
8338
8339
|
toggleGlobalTextSelection(false);
|
|
8339
8340
|
}, []);
|
|
8340
|
-
|
|
8341
|
+
React68.useEffect(() => {
|
|
8341
8342
|
document.addEventListener("mousemove", handleMouseMove);
|
|
8342
8343
|
document.addEventListener("mouseup", handleMouseUp);
|
|
8343
8344
|
return () => {
|
|
@@ -8351,7 +8352,7 @@ var FloatingWindow = ({
|
|
|
8351
8352
|
if (onClose) onClose();
|
|
8352
8353
|
floatingWindowManager.closeWindow(currentFloatingWindow.id);
|
|
8353
8354
|
}, [currentFloatingWindow.id, floatingWindowManager, onClose]);
|
|
8354
|
-
return /* @__PURE__ */
|
|
8355
|
+
return /* @__PURE__ */ React68.createElement(
|
|
8355
8356
|
"div",
|
|
8356
8357
|
{
|
|
8357
8358
|
ref: wrapperRef,
|
|
@@ -8366,7 +8367,7 @@ var FloatingWindow = ({
|
|
|
8366
8367
|
zIndex: cssVars.zIndex.menu
|
|
8367
8368
|
}
|
|
8368
8369
|
},
|
|
8369
|
-
/* @__PURE__ */
|
|
8370
|
+
/* @__PURE__ */ React68.createElement(
|
|
8370
8371
|
"div",
|
|
8371
8372
|
{
|
|
8372
8373
|
style: {
|
|
@@ -8377,9 +8378,9 @@ var FloatingWindow = ({
|
|
|
8377
8378
|
},
|
|
8378
8379
|
renderToolbar({ title, toolbarContent, onClose: handleClose })
|
|
8379
8380
|
),
|
|
8380
|
-
/* @__PURE__ */
|
|
8381
|
-
/* @__PURE__ */
|
|
8382
|
-
Object.entries(resizeHandlePositions).map(([direction, style2]) => /* @__PURE__ */
|
|
8381
|
+
/* @__PURE__ */ React68.createElement(Divider, null),
|
|
8382
|
+
/* @__PURE__ */ React68.createElement("div", { style: styles2.content }, children),
|
|
8383
|
+
Object.entries(resizeHandlePositions).map(([direction, style2]) => /* @__PURE__ */ React68.createElement(
|
|
8383
8384
|
"div",
|
|
8384
8385
|
{
|
|
8385
8386
|
key: direction,
|
|
@@ -8401,8 +8402,8 @@ import {
|
|
|
8401
8402
|
hsvaToRgba,
|
|
8402
8403
|
rgbaToHsva as rgbaToHsva2
|
|
8403
8404
|
} from "@noya-app/noya-colorpicker";
|
|
8404
|
-
import * as
|
|
8405
|
-
var GradientPicker =
|
|
8405
|
+
import * as React69 from "react";
|
|
8406
|
+
var GradientPicker = React69.memo(function GradientPicker2({
|
|
8406
8407
|
value,
|
|
8407
8408
|
selectedStop,
|
|
8408
8409
|
onChangeColor,
|
|
@@ -8411,7 +8412,7 @@ var GradientPicker = React68.memo(function GradientPicker2({
|
|
|
8411
8412
|
onDelete,
|
|
8412
8413
|
onSelectStop
|
|
8413
8414
|
}) {
|
|
8414
|
-
const colorModel =
|
|
8415
|
+
const colorModel = React69.useMemo(
|
|
8415
8416
|
() => ({
|
|
8416
8417
|
defaultColor: { r: 0, g: 0, b: 0, a: 1 },
|
|
8417
8418
|
toHsva: rgbaToHsva2,
|
|
@@ -8420,30 +8421,30 @@ var GradientPicker = React68.memo(function GradientPicker2({
|
|
|
8420
8421
|
}),
|
|
8421
8422
|
[]
|
|
8422
8423
|
);
|
|
8423
|
-
const rgbaColor =
|
|
8424
|
+
const rgbaColor = React69.useMemo(
|
|
8424
8425
|
() => sketchColorToRgba(value[selectedStop].color),
|
|
8425
8426
|
[value, selectedStop]
|
|
8426
8427
|
);
|
|
8427
|
-
const handleChangeColor =
|
|
8428
|
+
const handleChangeColor = React69.useCallback(
|
|
8428
8429
|
(value2) => {
|
|
8429
8430
|
onChangeColor(rgbaToSketchColor(value2));
|
|
8430
8431
|
},
|
|
8431
8432
|
[onChangeColor]
|
|
8432
8433
|
);
|
|
8433
|
-
const handleAddGradientStop =
|
|
8434
|
+
const handleAddGradientStop = React69.useCallback(
|
|
8434
8435
|
(value2, position) => {
|
|
8435
8436
|
onAdd(rgbaToSketchColor(value2), position);
|
|
8436
8437
|
},
|
|
8437
8438
|
[onAdd]
|
|
8438
8439
|
);
|
|
8439
|
-
return /* @__PURE__ */
|
|
8440
|
+
return /* @__PURE__ */ React69.createElement(
|
|
8440
8441
|
NoyaColorPicker,
|
|
8441
8442
|
{
|
|
8442
8443
|
onChange: handleChangeColor,
|
|
8443
8444
|
colorModel,
|
|
8444
8445
|
color: rgbaColor
|
|
8445
8446
|
},
|
|
8446
|
-
/* @__PURE__ */
|
|
8447
|
+
/* @__PURE__ */ React69.createElement(
|
|
8447
8448
|
Gradient,
|
|
8448
8449
|
{
|
|
8449
8450
|
gradients: value,
|
|
@@ -8454,17 +8455,17 @@ var GradientPicker = React68.memo(function GradientPicker2({
|
|
|
8454
8455
|
onDelete
|
|
8455
8456
|
}
|
|
8456
8457
|
),
|
|
8457
|
-
/* @__PURE__ */
|
|
8458
|
-
/* @__PURE__ */
|
|
8459
|
-
/* @__PURE__ */
|
|
8460
|
-
/* @__PURE__ */
|
|
8461
|
-
/* @__PURE__ */
|
|
8462
|
-
/* @__PURE__ */
|
|
8458
|
+
/* @__PURE__ */ React69.createElement(Spacer.Vertical, { size: 10 }),
|
|
8459
|
+
/* @__PURE__ */ React69.createElement(Saturation, null),
|
|
8460
|
+
/* @__PURE__ */ React69.createElement(Spacer.Vertical, { size: 12 }),
|
|
8461
|
+
/* @__PURE__ */ React69.createElement(Hue, null),
|
|
8462
|
+
/* @__PURE__ */ React69.createElement(Spacer.Vertical, { size: 5 }),
|
|
8463
|
+
/* @__PURE__ */ React69.createElement(Alpha, null)
|
|
8463
8464
|
);
|
|
8464
8465
|
});
|
|
8465
8466
|
|
|
8466
8467
|
// src/components/InspectorContainer.tsx
|
|
8467
|
-
import
|
|
8468
|
+
import React70, { forwardRef as forwardRef24, memo as memo27 } from "react";
|
|
8468
8469
|
var InspectorContainer = memo27(
|
|
8469
8470
|
forwardRef24(function InspectorContainer2({
|
|
8470
8471
|
header,
|
|
@@ -8475,7 +8476,7 @@ var InspectorContainer = memo27(
|
|
|
8475
8476
|
className,
|
|
8476
8477
|
style: style2
|
|
8477
8478
|
}, forwardedRef) {
|
|
8478
|
-
return /* @__PURE__ */
|
|
8479
|
+
return /* @__PURE__ */ React70.createElement(
|
|
8479
8480
|
"div",
|
|
8480
8481
|
{
|
|
8481
8482
|
ref: forwardedRef,
|
|
@@ -8490,32 +8491,32 @@ var InspectorContainer = memo27(
|
|
|
8490
8491
|
}
|
|
8491
8492
|
},
|
|
8492
8493
|
header,
|
|
8493
|
-
children ? /* @__PURE__ */
|
|
8494
|
+
children ? /* @__PURE__ */ React70.createElement(ScrollArea, null, /* @__PURE__ */ React70.createElement("div", { className: "flex flex-col relative" }, showDividers ? withSeparatorElements(children, /* @__PURE__ */ React70.createElement(Divider, null)) : children)) : fallback ? /* @__PURE__ */ React70.createElement("div", { className: "flex flex-col relative h-full" }, fallback) : null
|
|
8494
8495
|
);
|
|
8495
8496
|
})
|
|
8496
8497
|
);
|
|
8497
8498
|
|
|
8498
8499
|
// src/components/LabeledElementView.tsx
|
|
8499
8500
|
import * as kiwi from "kiwi.js";
|
|
8500
|
-
import * as
|
|
8501
|
-
var LabeledElementView =
|
|
8501
|
+
import * as React71 from "react";
|
|
8502
|
+
var LabeledElementView = React71.memo(function LabeledElementView2({
|
|
8502
8503
|
children,
|
|
8503
8504
|
renderLabel
|
|
8504
8505
|
}) {
|
|
8505
|
-
const elementIds =
|
|
8506
|
-
(child) =>
|
|
8506
|
+
const elementIds = React71.Children.toArray(children).flatMap(
|
|
8507
|
+
(child) => React71.isValidElement(child) && child.type === React71.Fragment ? child.props.children : [child]
|
|
8507
8508
|
).map(
|
|
8508
|
-
(child) =>
|
|
8509
|
+
(child) => React71.isValidElement(child) && "id" in child.props ? child.props.id : null
|
|
8509
8510
|
).filter((id) => !!id);
|
|
8510
8511
|
const serializedIds = elementIds.join(",");
|
|
8511
|
-
const containerRef =
|
|
8512
|
-
const refs =
|
|
8512
|
+
const containerRef = React71.useRef(null);
|
|
8513
|
+
const refs = React71.useMemo(() => {
|
|
8513
8514
|
return Object.fromEntries(
|
|
8514
|
-
serializedIds.split(",").map((id) => [id,
|
|
8515
|
+
serializedIds.split(",").map((id) => [id, React71.createRef()])
|
|
8515
8516
|
);
|
|
8516
8517
|
}, [serializedIds]);
|
|
8517
|
-
const labelElements =
|
|
8518
|
-
return serializedIds.split(",").map((id, index) => /* @__PURE__ */
|
|
8518
|
+
const labelElements = React71.useMemo(() => {
|
|
8519
|
+
return serializedIds.split(",").map((id, index) => /* @__PURE__ */ React71.createElement(
|
|
8519
8520
|
"span",
|
|
8520
8521
|
{
|
|
8521
8522
|
key: id,
|
|
@@ -8528,7 +8529,7 @@ var LabeledElementView = React70.memo(function LabeledElementView2({
|
|
|
8528
8529
|
})
|
|
8529
8530
|
));
|
|
8530
8531
|
}, [refs, serializedIds, renderLabel]);
|
|
8531
|
-
|
|
8532
|
+
React71.useLayoutEffect(() => {
|
|
8532
8533
|
if (!containerRef.current) return;
|
|
8533
8534
|
const containerRect = containerRef.current.getBoundingClientRect();
|
|
8534
8535
|
const solver = new kiwi.Solver();
|
|
@@ -8590,19 +8591,19 @@ var LabeledElementView = React70.memo(function LabeledElementView2({
|
|
|
8590
8591
|
`${Math.max(...heights)}px`
|
|
8591
8592
|
);
|
|
8592
8593
|
}, [refs, labelElements]);
|
|
8593
|
-
return /* @__PURE__ */
|
|
8594
|
+
return /* @__PURE__ */ React71.createElement("div", { className: "flex flex-1 flex-col relative", ref: containerRef }, /* @__PURE__ */ React71.createElement("div", { className: "flex flex-1 items-center" }, children), /* @__PURE__ */ React71.createElement("div", { className: "relative overflow-hidden select-none" }, labelElements));
|
|
8594
8595
|
});
|
|
8595
8596
|
|
|
8596
8597
|
// src/components/LabeledField.tsx
|
|
8597
|
-
import
|
|
8598
|
+
import React73, { memo as memo29, useMemo as useMemo30 } from "react";
|
|
8598
8599
|
|
|
8599
8600
|
// src/hooks/useIndent.ts
|
|
8600
|
-
import
|
|
8601
|
-
var IndentContext =
|
|
8601
|
+
import React72 from "react";
|
|
8602
|
+
var IndentContext = React72.createContext({
|
|
8602
8603
|
indentLevel: 0
|
|
8603
8604
|
});
|
|
8604
8605
|
var useIndent = () => {
|
|
8605
|
-
const { indentLevel } =
|
|
8606
|
+
const { indentLevel } = React72.useContext(IndentContext);
|
|
8606
8607
|
return indentLevel;
|
|
8607
8608
|
};
|
|
8608
8609
|
|
|
@@ -8661,7 +8662,7 @@ var LabeledField = memo29(function LabeledField2({
|
|
|
8661
8662
|
}),
|
|
8662
8663
|
[labelWidth, indentLevel, labelStyleProp]
|
|
8663
8664
|
);
|
|
8664
|
-
return /* @__PURE__ */
|
|
8665
|
+
return /* @__PURE__ */ React73.createElement(LabelContext.Provider, { value: labelContextValue }, labelPosition === "inset" ? /* @__PURE__ */ React73.createElement(LabelPositionContext.Provider, { value: labelPositionInset }, children) : /* @__PURE__ */ React73.createElement("div", { className: cx("flex relative flex-1", className), style: style2 }, Boolean(indentLevel) && /* @__PURE__ */ React73.createElement("div", { style: indentStyle }), /* @__PURE__ */ React73.createElement("div", { className: labeledFieldClasses }, /* @__PURE__ */ React73.createElement(
|
|
8665
8666
|
Label,
|
|
8666
8667
|
{
|
|
8667
8668
|
htmlFor: fieldId,
|
|
@@ -8670,7 +8671,7 @@ var LabeledField = memo29(function LabeledField2({
|
|
|
8670
8671
|
...props
|
|
8671
8672
|
},
|
|
8672
8673
|
label
|
|
8673
|
-
), labelPosition === "start" ? /* @__PURE__ */
|
|
8674
|
+
), labelPosition === "start" ? /* @__PURE__ */ React73.createElement("div", { className: "flex-auto flex", style: fieldStyle }, children) : children)));
|
|
8674
8675
|
});
|
|
8675
8676
|
|
|
8676
8677
|
// src/components/MediaThumbnail.tsx
|
|
@@ -8680,7 +8681,7 @@ import {
|
|
|
8680
8681
|
SpeakerLoudIcon,
|
|
8681
8682
|
VideoIcon
|
|
8682
8683
|
} from "@noya-app/noya-icons";
|
|
8683
|
-
import
|
|
8684
|
+
import React74, { memo as memo30, useMemo as useMemo31 } from "react";
|
|
8684
8685
|
|
|
8685
8686
|
// src/components/catppuccin/fileIcons.ts
|
|
8686
8687
|
var fileIcons = {
|
|
@@ -11145,8 +11146,8 @@ var MediaThumbnail = memo30(function MediaThumbnail2({
|
|
|
11145
11146
|
const content = useMemo31(() => {
|
|
11146
11147
|
switch (contentType) {
|
|
11147
11148
|
case "image":
|
|
11148
|
-
if (!url) return /* @__PURE__ */
|
|
11149
|
-
return /* @__PURE__ */
|
|
11149
|
+
if (!url) return /* @__PURE__ */ React74.createElement(ImageIcon, { color: iconColor, style: iconStyles });
|
|
11150
|
+
return /* @__PURE__ */ React74.createElement(
|
|
11150
11151
|
"img",
|
|
11151
11152
|
{
|
|
11152
11153
|
src: url,
|
|
@@ -11156,18 +11157,18 @@ var MediaThumbnail = memo30(function MediaThumbnail2({
|
|
|
11156
11157
|
}
|
|
11157
11158
|
);
|
|
11158
11159
|
case "video":
|
|
11159
|
-
return /* @__PURE__ */
|
|
11160
|
+
return /* @__PURE__ */ React74.createElement(VideoIcon, { color: iconColor, style: iconStyles });
|
|
11160
11161
|
case "audio":
|
|
11161
|
-
return /* @__PURE__ */
|
|
11162
|
+
return /* @__PURE__ */ React74.createElement(SpeakerLoudIcon, { color: iconColor, style: iconStyles });
|
|
11162
11163
|
default:
|
|
11163
11164
|
if (iconName) {
|
|
11164
11165
|
const Icon = Icons[iconName];
|
|
11165
|
-
return /* @__PURE__ */
|
|
11166
|
+
return /* @__PURE__ */ React74.createElement(Icon, { color: iconColor, style: iconStyles });
|
|
11166
11167
|
}
|
|
11167
11168
|
if (fileName) {
|
|
11168
11169
|
const fileIcon = findFileIcon(fileName);
|
|
11169
11170
|
if (fileIcon) {
|
|
11170
|
-
return /* @__PURE__ */
|
|
11171
|
+
return /* @__PURE__ */ React74.createElement(
|
|
11171
11172
|
"img",
|
|
11172
11173
|
{
|
|
11173
11174
|
src: `https://api.iconify.design/catppuccin/${fileIcon}.svg?height=none&box=1`,
|
|
@@ -11177,10 +11178,10 @@ var MediaThumbnail = memo30(function MediaThumbnail2({
|
|
|
11177
11178
|
);
|
|
11178
11179
|
}
|
|
11179
11180
|
}
|
|
11180
|
-
return /* @__PURE__ */
|
|
11181
|
+
return /* @__PURE__ */ React74.createElement(FileIcon, { color: iconColor, style: iconStyles });
|
|
11181
11182
|
}
|
|
11182
11183
|
}, [contentType, url, iconColor, iconStyles, iconName, fileName]);
|
|
11183
|
-
return /* @__PURE__ */
|
|
11184
|
+
return /* @__PURE__ */ React74.createElement(
|
|
11184
11185
|
"div",
|
|
11185
11186
|
{
|
|
11186
11187
|
className: cx(
|
|
@@ -11211,7 +11212,7 @@ function findFileIcon(fileName) {
|
|
|
11211
11212
|
}
|
|
11212
11213
|
|
|
11213
11214
|
// src/components/Message.tsx
|
|
11214
|
-
import
|
|
11215
|
+
import React75, { forwardRef as forwardRef25, memo as memo31, useMemo as useMemo32 } from "react";
|
|
11215
11216
|
var Message = memo31(
|
|
11216
11217
|
forwardRef25(function Message2({ role, children, user, avatarSize = INPUT_HEIGHT }, ref) {
|
|
11217
11218
|
const randomId = crypto.randomUUID();
|
|
@@ -11222,7 +11223,7 @@ var Message = memo31(
|
|
|
11222
11223
|
} : void 0,
|
|
11223
11224
|
[userMessageBackgroundColor, role]
|
|
11224
11225
|
);
|
|
11225
|
-
return /* @__PURE__ */
|
|
11226
|
+
return /* @__PURE__ */ React75.createElement(
|
|
11226
11227
|
"div",
|
|
11227
11228
|
{
|
|
11228
11229
|
className: cx(
|
|
@@ -11230,15 +11231,15 @@ var Message = memo31(
|
|
|
11230
11231
|
role === "user" ? "flex-row-reverse" : "flex-row"
|
|
11231
11232
|
)
|
|
11232
11233
|
},
|
|
11233
|
-
role === "assistant" ? /* @__PURE__ */
|
|
11234
|
+
role === "assistant" ? /* @__PURE__ */ React75.createElement(
|
|
11234
11235
|
Avatar,
|
|
11235
11236
|
{
|
|
11236
11237
|
name: "Assistant",
|
|
11237
11238
|
size: avatarSize,
|
|
11238
11239
|
backgroundColor: cssVars.colors.primaryPastel
|
|
11239
11240
|
},
|
|
11240
|
-
/* @__PURE__ */
|
|
11241
|
-
) : /* @__PURE__ */
|
|
11241
|
+
/* @__PURE__ */ React75.createElement(Logo, { style: { width: 15 }, fill: cssVars.colors.primary })
|
|
11242
|
+
) : /* @__PURE__ */ React75.createElement(
|
|
11242
11243
|
Avatar,
|
|
11243
11244
|
{
|
|
11244
11245
|
userId: !user ? randomId : user?.id,
|
|
@@ -11247,7 +11248,7 @@ var Message = memo31(
|
|
|
11247
11248
|
size: avatarSize
|
|
11248
11249
|
}
|
|
11249
11250
|
),
|
|
11250
|
-
/* @__PURE__ */
|
|
11251
|
+
/* @__PURE__ */ React75.createElement(
|
|
11251
11252
|
"div",
|
|
11252
11253
|
{
|
|
11253
11254
|
className: cx(
|
|
@@ -11257,7 +11258,7 @@ var Message = memo31(
|
|
|
11257
11258
|
style: styles3,
|
|
11258
11259
|
ref
|
|
11259
11260
|
},
|
|
11260
|
-
/* @__PURE__ */
|
|
11261
|
+
/* @__PURE__ */ React75.createElement(
|
|
11261
11262
|
Text,
|
|
11262
11263
|
{
|
|
11263
11264
|
variant: "small",
|
|
@@ -11272,9 +11273,9 @@ var Message = memo31(
|
|
|
11272
11273
|
|
|
11273
11274
|
// src/components/pipeline/PipelineResultLayout.tsx
|
|
11274
11275
|
import { Link1Icon } from "@noya-app/noya-icons";
|
|
11275
|
-
import
|
|
11276
|
+
import React76 from "react";
|
|
11276
11277
|
var PipelineResultLink = ({ url }) => {
|
|
11277
|
-
return /* @__PURE__ */
|
|
11278
|
+
return /* @__PURE__ */ React76.createElement("div", { className: "flex flex-col gap-0.5" }, /* @__PURE__ */ React76.createElement(
|
|
11278
11279
|
"a",
|
|
11279
11280
|
{
|
|
11280
11281
|
href: url,
|
|
@@ -11282,15 +11283,15 @@ var PipelineResultLink = ({ url }) => {
|
|
|
11282
11283
|
rel: "noopener noreferrer",
|
|
11283
11284
|
className: "flex text-primary hover:opacity-80 border border-divider rounded-md"
|
|
11284
11285
|
},
|
|
11285
|
-
/* @__PURE__ */
|
|
11286
|
-
/* @__PURE__ */
|
|
11287
|
-
/* @__PURE__ */
|
|
11286
|
+
/* @__PURE__ */ React76.createElement("div", { className: "flex gap-1 items-center p-2" }, /* @__PURE__ */ React76.createElement(Link1Icon, { className: "w-[15px] h-[15px] flex-shrink-0" })),
|
|
11287
|
+
/* @__PURE__ */ React76.createElement(DividerVertical, null),
|
|
11288
|
+
/* @__PURE__ */ React76.createElement(Small, { className: "truncate p-2 flex-1" }, url)
|
|
11288
11289
|
));
|
|
11289
11290
|
};
|
|
11290
11291
|
var PipelineResultLayout = ({
|
|
11291
11292
|
children
|
|
11292
11293
|
}) => {
|
|
11293
|
-
return /* @__PURE__ */
|
|
11294
|
+
return /* @__PURE__ */ React76.createElement("div", { className: "flex flex-col gap-2" }, children);
|
|
11294
11295
|
};
|
|
11295
11296
|
function getPipelineResultLink(value) {
|
|
11296
11297
|
if (typeof value !== "object" || value === null) return void 0;
|
|
@@ -11306,27 +11307,27 @@ function getPipelineResultLink(value) {
|
|
|
11306
11307
|
// src/components/Progress.tsx
|
|
11307
11308
|
import { clamp } from "@noya-app/noya-utils";
|
|
11308
11309
|
import * as ProgressPrimitive from "@radix-ui/react-progress";
|
|
11309
|
-
import * as
|
|
11310
|
+
import * as React77 from "react";
|
|
11310
11311
|
function Progress({
|
|
11311
11312
|
value,
|
|
11312
11313
|
variant = "normal",
|
|
11313
11314
|
className
|
|
11314
11315
|
}) {
|
|
11315
11316
|
const clampedValue = clamp(value, 0, 100);
|
|
11316
|
-
const transformStyles =
|
|
11317
|
+
const transformStyles = React77.useMemo(
|
|
11317
11318
|
() => ({
|
|
11318
11319
|
transform: `translateX(-${100 - clampedValue}%)`
|
|
11319
11320
|
}),
|
|
11320
11321
|
[clampedValue]
|
|
11321
11322
|
);
|
|
11322
|
-
return /* @__PURE__ */
|
|
11323
|
+
return /* @__PURE__ */ React77.createElement(
|
|
11323
11324
|
ProgressPrimitive.Root,
|
|
11324
11325
|
{
|
|
11325
11326
|
className: cx(`relative hidden bg-input-background h-[5px] `, className),
|
|
11326
11327
|
style: { transform: "translateZ(0)" },
|
|
11327
11328
|
value: clampedValue
|
|
11328
11329
|
},
|
|
11329
|
-
/* @__PURE__ */
|
|
11330
|
+
/* @__PURE__ */ React77.createElement(
|
|
11330
11331
|
ProgressPrimitive.Indicator,
|
|
11331
11332
|
{
|
|
11332
11333
|
className: `${variant === "primary" ? "bg-primary" : variant === "secondary" ? "bg-secondary" : variant === "warning" ? "bg-warning" : "bg-text"} transition-[transform_660ms_cubic-bezier(0.65,0,0.35,1) w-full h-full`,
|
|
@@ -11337,7 +11338,7 @@ function Progress({
|
|
|
11337
11338
|
}
|
|
11338
11339
|
|
|
11339
11340
|
// src/components/Section.tsx
|
|
11340
|
-
import
|
|
11341
|
+
import React78, { memo as memo32, useMemo as useMemo34 } from "react";
|
|
11341
11342
|
var titleIconStyle = {
|
|
11342
11343
|
marginRight: "8px",
|
|
11343
11344
|
alignSelf: "flex-start",
|
|
@@ -11372,7 +11373,7 @@ var SectionInternal = ({
|
|
|
11372
11373
|
}),
|
|
11373
11374
|
[titleTextStyle, title, extraPadding, styleProp]
|
|
11374
11375
|
);
|
|
11375
|
-
const hasChildren =
|
|
11376
|
+
const hasChildren = React78.Children.toArray(children).some((child) => !!child);
|
|
11376
11377
|
const headerStyle = useMemo34(
|
|
11377
11378
|
() => ({
|
|
11378
11379
|
marginBottom: hasChildren ? "4px" : void 0,
|
|
@@ -11380,7 +11381,7 @@ var SectionInternal = ({
|
|
|
11380
11381
|
}),
|
|
11381
11382
|
[hasChildren]
|
|
11382
11383
|
);
|
|
11383
|
-
return /* @__PURE__ */
|
|
11384
|
+
return /* @__PURE__ */ React78.createElement("div", { style: style2, className }, (title || titleIcon || right) && /* @__PURE__ */ React78.createElement(InspectorPrimitives_exports.SectionHeader, { style: headerStyle }, titleIcon && /* @__PURE__ */ React78.createElement("div", { style: titleIconStyle, className: textStyles[titleTextStyle] }, titleIconOptions.inlineBlockWrapper ? /* @__PURE__ */ React78.createElement("div", { style: titleIconWrapperStyle }, titleIcon) : titleIcon), title && /* @__PURE__ */ React78.createElement(React78.Fragment, null, onClickTitle ? /* @__PURE__ */ React78.createElement(Button, { variant: "none", onClick: onClickTitle }, /* @__PURE__ */ React78.createElement(InspectorPrimitives_exports.Title, { $textStyle: titleTextStyle }, title)) : /* @__PURE__ */ React78.createElement(InspectorPrimitives_exports.Title, { $textStyle: titleTextStyle }, title)), /* @__PURE__ */ React78.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ React78.createElement(IndentContext.Provider, { value: { indentLevel: 1 } }, children));
|
|
11384
11385
|
};
|
|
11385
11386
|
var ExpandableSection = ({
|
|
11386
11387
|
storageKey,
|
|
@@ -11393,12 +11394,12 @@ var ExpandableSection = ({
|
|
|
11393
11394
|
initialVisibility
|
|
11394
11395
|
);
|
|
11395
11396
|
const expanded = visibility === "show";
|
|
11396
|
-
return /* @__PURE__ */
|
|
11397
|
+
return /* @__PURE__ */ React78.createElement(
|
|
11397
11398
|
SectionInternal,
|
|
11398
11399
|
{
|
|
11399
11400
|
...props,
|
|
11400
11401
|
right: !props.hideRightWhenCollapsed || expanded ? props.right : null,
|
|
11401
|
-
title: /* @__PURE__ */
|
|
11402
|
+
title: /* @__PURE__ */ React78.createElement("div", { className: "flex gap-1 items-center" }, props.title, /* @__PURE__ */ React78.createElement(
|
|
11402
11403
|
IconButton,
|
|
11403
11404
|
{
|
|
11404
11405
|
iconName: expanded ? "ChevronDownIcon2" : "ChevronRightIcon2",
|
|
@@ -11413,12 +11414,12 @@ var Section = memo32(function InspectorSection({
|
|
|
11413
11414
|
storageKey,
|
|
11414
11415
|
...props
|
|
11415
11416
|
}) {
|
|
11416
|
-
return storageKey ? /* @__PURE__ */
|
|
11417
|
+
return storageKey ? /* @__PURE__ */ React78.createElement(ExpandableSection, { ...props, storageKey }) : /* @__PURE__ */ React78.createElement(SectionInternal, { ...props });
|
|
11417
11418
|
});
|
|
11418
11419
|
|
|
11419
11420
|
// src/components/SegmentedControl.tsx
|
|
11420
11421
|
import * as ToggleGroupPrimitive2 from "@radix-ui/react-toggle-group";
|
|
11421
|
-
import
|
|
11422
|
+
import React79, {
|
|
11422
11423
|
createContext as createContext13,
|
|
11423
11424
|
forwardRef as forwardRef26,
|
|
11424
11425
|
useCallback as useCallback30,
|
|
@@ -11439,7 +11440,7 @@ var SegmentedControlItem = forwardRef26(function SegmentedControlItem2({
|
|
|
11439
11440
|
...props
|
|
11440
11441
|
}, forwardedRef) {
|
|
11441
11442
|
const { colorScheme } = useContext14(SegmentedControlContext);
|
|
11442
|
-
const itemElement = /* @__PURE__ */
|
|
11443
|
+
const itemElement = /* @__PURE__ */ React79.createElement(
|
|
11443
11444
|
ToggleGroupPrimitive2.Item,
|
|
11444
11445
|
{
|
|
11445
11446
|
ref: forwardedRef,
|
|
@@ -11459,7 +11460,7 @@ var SegmentedControlItem = forwardRef26(function SegmentedControlItem2({
|
|
|
11459
11460
|
),
|
|
11460
11461
|
...props
|
|
11461
11462
|
},
|
|
11462
|
-
/* @__PURE__ */
|
|
11463
|
+
/* @__PURE__ */ React79.createElement(
|
|
11463
11464
|
"span",
|
|
11464
11465
|
{
|
|
11465
11466
|
className: cx(
|
|
@@ -11471,7 +11472,7 @@ var SegmentedControlItem = forwardRef26(function SegmentedControlItem2({
|
|
|
11471
11472
|
title
|
|
11472
11473
|
)
|
|
11473
11474
|
);
|
|
11474
|
-
return tooltip ? /* @__PURE__ */
|
|
11475
|
+
return tooltip ? /* @__PURE__ */ React79.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
|
|
11475
11476
|
});
|
|
11476
11477
|
var SegmentedControl = memoGeneric(function SegmentedControl2({
|
|
11477
11478
|
id: idProp,
|
|
@@ -11493,7 +11494,7 @@ var SegmentedControl = memoGeneric(function SegmentedControl2({
|
|
|
11493
11494
|
},
|
|
11494
11495
|
[allowEmpty, onValueChange]
|
|
11495
11496
|
);
|
|
11496
|
-
return /* @__PURE__ */
|
|
11497
|
+
return /* @__PURE__ */ React79.createElement(SegmentedControlContext.Provider, { value: contextValue }, /* @__PURE__ */ React79.createElement(
|
|
11497
11498
|
ToggleGroupPrimitive2.Root,
|
|
11498
11499
|
{
|
|
11499
11500
|
id,
|
|
@@ -11511,13 +11512,13 @@ var SegmentedControl = memoGeneric(function SegmentedControl2({
|
|
|
11511
11512
|
gridTemplateColumns: `repeat(${items.length}, 1fr)`
|
|
11512
11513
|
}
|
|
11513
11514
|
},
|
|
11514
|
-
items.map((item, index) => /* @__PURE__ */
|
|
11515
|
+
items.map((item, index) => /* @__PURE__ */ React79.createElement(SegmentedControlItem, { key: index, ...item, variant }))
|
|
11515
11516
|
));
|
|
11516
11517
|
});
|
|
11517
11518
|
|
|
11518
11519
|
// src/components/SelectionToolbar.tsx
|
|
11519
11520
|
import * as PopperPrimitive from "@radix-ui/react-popper";
|
|
11520
|
-
import
|
|
11521
|
+
import React80, { memo as memo33, useMemo as useMemo36 } from "react";
|
|
11521
11522
|
import { createPortal as createPortal3 } from "react-dom";
|
|
11522
11523
|
var createVirtualElement = (rect) => ({
|
|
11523
11524
|
getBoundingClientRect: () => ({
|
|
@@ -11539,7 +11540,7 @@ var SelectionToolbarContainer = memo33(
|
|
|
11539
11540
|
portalContainer
|
|
11540
11541
|
}) {
|
|
11541
11542
|
const portalScopeId = usePortalScopeId();
|
|
11542
|
-
const containerRef =
|
|
11543
|
+
const containerRef = React80.useRef(null);
|
|
11543
11544
|
const size2 = useSize(containerRef, "width");
|
|
11544
11545
|
const virtualRef = useMemo36(
|
|
11545
11546
|
() => ({
|
|
@@ -11547,7 +11548,7 @@ var SelectionToolbarContainer = memo33(
|
|
|
11547
11548
|
}),
|
|
11548
11549
|
[rect]
|
|
11549
11550
|
);
|
|
11550
|
-
const popperContent = /* @__PURE__ */
|
|
11551
|
+
const popperContent = /* @__PURE__ */ React80.createElement(
|
|
11551
11552
|
PopperPrimitive.Content,
|
|
11552
11553
|
{
|
|
11553
11554
|
...portalScopeProps(portalScopeId),
|
|
@@ -11564,7 +11565,7 @@ var SelectionToolbarContainer = memo33(
|
|
|
11564
11565
|
["--n-input-background"]: "transparent"
|
|
11565
11566
|
}
|
|
11566
11567
|
},
|
|
11567
|
-
/* @__PURE__ */
|
|
11568
|
+
/* @__PURE__ */ React80.createElement(
|
|
11568
11569
|
"div",
|
|
11569
11570
|
{
|
|
11570
11571
|
ref: containerRef,
|
|
@@ -11577,7 +11578,7 @@ var SelectionToolbarContainer = memo33(
|
|
|
11577
11578
|
children
|
|
11578
11579
|
)
|
|
11579
11580
|
);
|
|
11580
|
-
return /* @__PURE__ */
|
|
11581
|
+
return /* @__PURE__ */ React80.createElement(PopperPrimitive.Root, null, /* @__PURE__ */ React80.createElement(PopperPrimitive.Anchor, { virtualRef }), portalContainer ? createPortal3(popperContent, portalContainer) : popperContent);
|
|
11581
11582
|
}
|
|
11582
11583
|
);
|
|
11583
11584
|
|
|
@@ -11588,7 +11589,7 @@ import {
|
|
|
11588
11589
|
DropdownChevronIcon as DropdownChevronIcon3
|
|
11589
11590
|
} from "@noya-app/noya-icons";
|
|
11590
11591
|
import * as Select from "@radix-ui/react-select";
|
|
11591
|
-
import
|
|
11592
|
+
import React81, {
|
|
11592
11593
|
useMemo as useMemo37,
|
|
11593
11594
|
useState as useState28
|
|
11594
11595
|
} from "react";
|
|
@@ -11622,7 +11623,7 @@ var SelectMenuTrigger = memoGeneric(function SelectMenuTrigger2({
|
|
|
11622
11623
|
fieldId: props.id
|
|
11623
11624
|
});
|
|
11624
11625
|
const labelPosition = useLabelPosition();
|
|
11625
|
-
return /* @__PURE__ */
|
|
11626
|
+
return /* @__PURE__ */ React81.createElement(Select.SelectTrigger, { asChild: true, onFocus, onBlur }, /* @__PURE__ */ React81.createElement(
|
|
11626
11627
|
Button,
|
|
11627
11628
|
{
|
|
11628
11629
|
id,
|
|
@@ -11634,10 +11635,10 @@ var SelectMenuTrigger = memoGeneric(function SelectMenuTrigger2({
|
|
|
11634
11635
|
),
|
|
11635
11636
|
disabled
|
|
11636
11637
|
},
|
|
11637
|
-
icon && /* @__PURE__ */
|
|
11638
|
-
label && labelPosition === "inset" && /* @__PURE__ */
|
|
11639
|
-
/* @__PURE__ */
|
|
11640
|
-
/* @__PURE__ */
|
|
11638
|
+
icon && /* @__PURE__ */ React81.createElement("span", { className: "pr-1.5" }, renderIcon(icon)),
|
|
11639
|
+
label && labelPosition === "inset" && /* @__PURE__ */ React81.createElement("div", { className: insetEndStyles }, /* @__PURE__ */ React81.createElement(Label, { className: "pr-4 text-text-disabled", htmlFor: id }, label)),
|
|
11640
|
+
/* @__PURE__ */ React81.createElement("span", { className: "flex-1 flex" }, /* @__PURE__ */ React81.createElement(Select.Value, { placeholder })),
|
|
11641
|
+
/* @__PURE__ */ React81.createElement(
|
|
11641
11642
|
DropdownChevronIcon3,
|
|
11642
11643
|
{
|
|
11643
11644
|
className: cx(
|
|
@@ -11686,7 +11687,7 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11686
11687
|
setInternalOpen(open2);
|
|
11687
11688
|
};
|
|
11688
11689
|
const readOnlyButton = useMemo37(
|
|
11689
|
-
() => /* @__PURE__ */
|
|
11690
|
+
() => /* @__PURE__ */ React81.createElement(
|
|
11690
11691
|
Button,
|
|
11691
11692
|
{
|
|
11692
11693
|
id,
|
|
@@ -11696,7 +11697,7 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11696
11697
|
disabled
|
|
11697
11698
|
},
|
|
11698
11699
|
icon && renderIcon(icon),
|
|
11699
|
-
/* @__PURE__ */
|
|
11700
|
+
/* @__PURE__ */ React81.createElement("span", { className: "flex flex-1" }, selectedItem?.title ?? value)
|
|
11700
11701
|
),
|
|
11701
11702
|
[icon, id, style2, className, disabled, value, selectedItem]
|
|
11702
11703
|
);
|
|
@@ -11708,7 +11709,7 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11708
11709
|
...contentStyleProp
|
|
11709
11710
|
};
|
|
11710
11711
|
}, [contentStyleProp]);
|
|
11711
|
-
const content = /* @__PURE__ */
|
|
11712
|
+
const content = /* @__PURE__ */ React81.createElement(
|
|
11712
11713
|
Select.Root,
|
|
11713
11714
|
{
|
|
11714
11715
|
value,
|
|
@@ -11716,7 +11717,7 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11716
11717
|
open,
|
|
11717
11718
|
onOpenChange: handleOpenChange
|
|
11718
11719
|
},
|
|
11719
|
-
/* @__PURE__ */
|
|
11720
|
+
/* @__PURE__ */ React81.createElement(
|
|
11720
11721
|
SelectMenuTrigger,
|
|
11721
11722
|
{
|
|
11722
11723
|
id,
|
|
@@ -11731,7 +11732,7 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11731
11732
|
label
|
|
11732
11733
|
}
|
|
11733
11734
|
),
|
|
11734
|
-
/* @__PURE__ */
|
|
11735
|
+
/* @__PURE__ */ React81.createElement(Select.Portal, null, /* @__PURE__ */ React81.createElement(
|
|
11735
11736
|
Select.Content,
|
|
11736
11737
|
{
|
|
11737
11738
|
...portalScopeProps(portalScopeId),
|
|
@@ -11742,14 +11743,14 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11742
11743
|
align: "center",
|
|
11743
11744
|
style: contentStyle
|
|
11744
11745
|
},
|
|
11745
|
-
/* @__PURE__ */
|
|
11746
|
+
/* @__PURE__ */ React81.createElement(Select.ScrollUpButton, { className: scrollButtonStyles }, /* @__PURE__ */ React81.createElement(
|
|
11746
11747
|
ChevronUpIcon,
|
|
11747
11748
|
{
|
|
11748
11749
|
className: cx("transition-transform duration-100")
|
|
11749
11750
|
}
|
|
11750
11751
|
)),
|
|
11751
|
-
/* @__PURE__ */
|
|
11752
|
-
/* @__PURE__ */
|
|
11752
|
+
/* @__PURE__ */ React81.createElement(Select.Viewport, null, /* @__PURE__ */ React81.createElement(MenuViewport, { items, Components: Components3 })),
|
|
11753
|
+
/* @__PURE__ */ React81.createElement(Select.ScrollDownButton, { className: scrollButtonStyles }, /* @__PURE__ */ React81.createElement(ChevronDownIcon, null))
|
|
11753
11754
|
))
|
|
11754
11755
|
);
|
|
11755
11756
|
return readOnly ? readOnlyButton : content;
|
|
@@ -11757,7 +11758,7 @@ var SelectMenu = memoGeneric(function SelectMenu2({
|
|
|
11757
11758
|
|
|
11758
11759
|
// src/components/Slider.tsx
|
|
11759
11760
|
import * as RadixSlider from "@radix-ui/react-slider";
|
|
11760
|
-
import
|
|
11761
|
+
import React82, { memo as memo34, useCallback as useCallback31, useMemo as useMemo38 } from "react";
|
|
11761
11762
|
var THUMB_WIDTH = 8;
|
|
11762
11763
|
var thumbStyle = {
|
|
11763
11764
|
width: THUMB_WIDTH
|
|
@@ -11812,7 +11813,7 @@ var Slider = memo34(function Slider2({
|
|
|
11812
11813
|
}),
|
|
11813
11814
|
[percentage.raw]
|
|
11814
11815
|
);
|
|
11815
|
-
return /* @__PURE__ */
|
|
11816
|
+
return /* @__PURE__ */ React82.createElement(
|
|
11816
11817
|
RadixSlider.Root,
|
|
11817
11818
|
{
|
|
11818
11819
|
min,
|
|
@@ -11830,7 +11831,7 @@ var Slider = memo34(function Slider2({
|
|
|
11830
11831
|
onBlur,
|
|
11831
11832
|
disabled: readOnly
|
|
11832
11833
|
},
|
|
11833
|
-
/* @__PURE__ */
|
|
11834
|
+
/* @__PURE__ */ React82.createElement(RadixSlider.Track, { className: "flex-grow h-full rounded overflow-hidden bg-input-background" }, label && labelPosition === "inset" && /* @__PURE__ */ React82.createElement("div", { className: insetEndStyles2 }, /* @__PURE__ */ React82.createElement(Label, { htmlFor: id, className: "text-text-disabled" }, label)), /* @__PURE__ */ React82.createElement(
|
|
11834
11835
|
"div",
|
|
11835
11836
|
{
|
|
11836
11837
|
style: trackFillStyle,
|
|
@@ -11841,8 +11842,8 @@ var Slider = memo34(function Slider2({
|
|
|
11841
11842
|
)
|
|
11842
11843
|
}
|
|
11843
11844
|
)),
|
|
11844
|
-
label && labelPosition === "inset" && colorScheme !== void 0 && /* @__PURE__ */
|
|
11845
|
-
/* @__PURE__ */
|
|
11845
|
+
label && labelPosition === "inset" && colorScheme !== void 0 && /* @__PURE__ */ React82.createElement("div", { className: insetEndStyles2 }, /* @__PURE__ */ React82.createElement(Label, { className: "text-white overflow-hidden", style: labelStyle }, label)),
|
|
11846
|
+
/* @__PURE__ */ React82.createElement(
|
|
11846
11847
|
RadixSlider.Thumb,
|
|
11847
11848
|
{
|
|
11848
11849
|
style: thumbStyle,
|
|
@@ -11858,27 +11859,27 @@ var Slider = memo34(function Slider2({
|
|
|
11858
11859
|
});
|
|
11859
11860
|
|
|
11860
11861
|
// src/components/sorting/createSharedDrag.tsx
|
|
11861
|
-
import * as
|
|
11862
|
+
import * as React83 from "react";
|
|
11862
11863
|
function createSharedDrag() {
|
|
11863
|
-
const dragRegistrationContext =
|
|
11864
|
-
const activeDragContext =
|
|
11864
|
+
const dragRegistrationContext = React83.createContext(null);
|
|
11865
|
+
const activeDragContext = React83.createContext(
|
|
11865
11866
|
null
|
|
11866
11867
|
);
|
|
11867
11868
|
const sharedDragProps = {
|
|
11868
11869
|
dragRegistrationContext,
|
|
11869
11870
|
activeDragContext
|
|
11870
11871
|
};
|
|
11871
|
-
const Provider3 = ({ children }) => /* @__PURE__ */
|
|
11872
|
+
const Provider3 = ({ children }) => /* @__PURE__ */ React83.createElement(SharedDragProvider, { sharedDragProps }, children);
|
|
11872
11873
|
return {
|
|
11873
11874
|
Provider: Provider3,
|
|
11874
|
-
Sortable: (props) => /* @__PURE__ */
|
|
11875
|
+
Sortable: (props) => /* @__PURE__ */ React83.createElement(Sortable, { sharedDragProps, ...props }),
|
|
11875
11876
|
props: sharedDragProps
|
|
11876
11877
|
};
|
|
11877
11878
|
}
|
|
11878
11879
|
|
|
11879
11880
|
// src/components/Switch.tsx
|
|
11880
11881
|
import * as SwitchPrimitive from "@radix-ui/react-switch";
|
|
11881
|
-
import * as
|
|
11882
|
+
import * as React84 from "react";
|
|
11882
11883
|
var Switch = function Switch2({
|
|
11883
11884
|
id,
|
|
11884
11885
|
value,
|
|
@@ -11890,7 +11891,7 @@ var Switch = function Switch2({
|
|
|
11890
11891
|
style: style2,
|
|
11891
11892
|
className
|
|
11892
11893
|
}) {
|
|
11893
|
-
return /* @__PURE__ */
|
|
11894
|
+
return /* @__PURE__ */ React84.createElement(
|
|
11894
11895
|
SwitchPrimitive.Root,
|
|
11895
11896
|
{
|
|
11896
11897
|
id,
|
|
@@ -11909,12 +11910,12 @@ var Switch = function Switch2({
|
|
|
11909
11910
|
onFocus,
|
|
11910
11911
|
onBlur
|
|
11911
11912
|
},
|
|
11912
|
-
/* @__PURE__ */
|
|
11913
|
+
/* @__PURE__ */ React84.createElement(SwitchPrimitive.Thumb, { className: "block w-[15px] h-[15px] bg-background rounded-full transition-transform translate-x-[2px] data-[state=checked]:translate-x-[15px]" })
|
|
11913
11914
|
);
|
|
11914
11915
|
};
|
|
11915
11916
|
|
|
11916
11917
|
// src/components/UserPointer.tsx
|
|
11917
|
-
import
|
|
11918
|
+
import React85, { memo as memo35, useMemo as useMemo39 } from "react";
|
|
11918
11919
|
var UserPointerContainer = memo35(function UserPointerContainer2({
|
|
11919
11920
|
point,
|
|
11920
11921
|
visible,
|
|
@@ -11922,7 +11923,7 @@ var UserPointerContainer = memo35(function UserPointerContainer2({
|
|
|
11922
11923
|
className,
|
|
11923
11924
|
style: style2
|
|
11924
11925
|
}) {
|
|
11925
|
-
return /* @__PURE__ */
|
|
11926
|
+
return /* @__PURE__ */ React85.createElement(
|
|
11926
11927
|
"div",
|
|
11927
11928
|
{
|
|
11928
11929
|
style: {
|
|
@@ -11945,7 +11946,7 @@ var UserNameTag = memo35(function UserNameTag2({
|
|
|
11945
11946
|
style: style2,
|
|
11946
11947
|
children
|
|
11947
11948
|
}) {
|
|
11948
|
-
return /* @__PURE__ */
|
|
11949
|
+
return /* @__PURE__ */ React85.createElement(
|
|
11949
11950
|
"span",
|
|
11950
11951
|
{
|
|
11951
11952
|
className: cx(
|
|
@@ -11968,7 +11969,7 @@ var UserPointerIcon = memo35(function PointerIcon({
|
|
|
11968
11969
|
style: style2
|
|
11969
11970
|
}) {
|
|
11970
11971
|
const points = "0,5 10,0 10,10";
|
|
11971
|
-
return /* @__PURE__ */
|
|
11972
|
+
return /* @__PURE__ */ React85.createElement(
|
|
11972
11973
|
"svg",
|
|
11973
11974
|
{
|
|
11974
11975
|
width: size2,
|
|
@@ -11983,7 +11984,7 @@ var UserPointerIcon = memo35(function PointerIcon({
|
|
|
11983
11984
|
...style2
|
|
11984
11985
|
}
|
|
11985
11986
|
},
|
|
11986
|
-
/* @__PURE__ */
|
|
11987
|
+
/* @__PURE__ */ React85.createElement(
|
|
11987
11988
|
"polygon",
|
|
11988
11989
|
{
|
|
11989
11990
|
points,
|
|
@@ -12020,7 +12021,7 @@ var UserPointer = memo35(function UserPointer2({
|
|
|
12020
12021
|
() => ({ marginLeft: `${POINTER_SIZE - POINTER_OVERLAP + 1}px` }),
|
|
12021
12022
|
[]
|
|
12022
12023
|
);
|
|
12023
|
-
return /* @__PURE__ */
|
|
12024
|
+
return /* @__PURE__ */ React85.createElement(
|
|
12024
12025
|
UserPointerContainer,
|
|
12025
12026
|
{
|
|
12026
12027
|
point,
|
|
@@ -12028,14 +12029,14 @@ var UserPointer = memo35(function UserPointer2({
|
|
|
12028
12029
|
className,
|
|
12029
12030
|
style: style2
|
|
12030
12031
|
},
|
|
12031
|
-
name && /* @__PURE__ */
|
|
12032
|
+
name && /* @__PURE__ */ React85.createElement("div", { className: "relative" }, /* @__PURE__ */ React85.createElement(
|
|
12032
12033
|
UserPointerIcon,
|
|
12033
12034
|
{
|
|
12034
12035
|
size: POINTER_SIZE,
|
|
12035
12036
|
color: userBackgroundColor,
|
|
12036
12037
|
style: pointerOverlapStyle
|
|
12037
12038
|
}
|
|
12038
|
-
), /* @__PURE__ */
|
|
12039
|
+
), /* @__PURE__ */ React85.createElement(
|
|
12039
12040
|
UserNameTag,
|
|
12040
12041
|
{
|
|
12041
12042
|
backgroundColor: userBackgroundColor,
|
|
@@ -12048,7 +12049,7 @@ var UserPointer = memo35(function UserPointer2({
|
|
|
12048
12049
|
|
|
12049
12050
|
// src/components/workspace/WorkspaceLayout.tsx
|
|
12050
12051
|
import { useKeyboardShortcuts as useKeyboardShortcuts3 } from "@noya-app/noya-keymap";
|
|
12051
|
-
import
|
|
12052
|
+
import React89, {
|
|
12052
12053
|
forwardRef as forwardRef27,
|
|
12053
12054
|
memo as memo38,
|
|
12054
12055
|
useCallback as useCallback32,
|
|
@@ -12078,10 +12079,10 @@ function useWindowSize() {
|
|
|
12078
12079
|
}
|
|
12079
12080
|
|
|
12080
12081
|
// src/components/workspace/DrawerWorkspaceLayout.tsx
|
|
12081
|
-
import
|
|
12082
|
+
import React87, { memo as memo36, useLayoutEffect as useLayoutEffect9, useRef as useRef26, useState as useState30 } from "react";
|
|
12082
12083
|
|
|
12083
12084
|
// src/hooks/usePreservePanelSize.tsx
|
|
12084
|
-
import { useLayoutEffect as
|
|
12085
|
+
import { useLayoutEffect as useLayoutEffect8, useRef as useRef25 } from "react";
|
|
12085
12086
|
var EDITOR_PANEL_GROUP_ID = "editor-panel-group";
|
|
12086
12087
|
var LEFT_SIDEBAR_ID = "editor-left-sidebar";
|
|
12087
12088
|
var RIGHT_SIDEBAR_ID = "editor-right-sidebar";
|
|
@@ -12089,7 +12090,7 @@ var CONTENT_AREA_ID = "editor-content-area";
|
|
|
12089
12090
|
function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
|
|
12090
12091
|
const windowSize = useWindowSize();
|
|
12091
12092
|
const layoutRef = useRef25();
|
|
12092
|
-
|
|
12093
|
+
useLayoutEffect8(() => {
|
|
12093
12094
|
const panelGroup = document.querySelector(
|
|
12094
12095
|
`[data-panel-group-id="${EDITOR_PANEL_GROUP_ID}"]`
|
|
12095
12096
|
);
|
|
@@ -12132,7 +12133,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
|
|
|
12132
12133
|
panelGroupObserver.disconnect();
|
|
12133
12134
|
};
|
|
12134
12135
|
}, [panelGroupRef, setPanelLayoutState]);
|
|
12135
|
-
|
|
12136
|
+
useLayoutEffect8(() => {
|
|
12136
12137
|
if (!layoutRef.current) return;
|
|
12137
12138
|
const {
|
|
12138
12139
|
windowWidth: oldWindowWidth,
|
|
@@ -12229,7 +12230,7 @@ var DrawerWorkspaceLayout = memo36(function DrawerWorkspaceLayout2({
|
|
|
12229
12230
|
}) {
|
|
12230
12231
|
const portalContainer = useRef26(null);
|
|
12231
12232
|
const [mounted, setMounted] = useState30(false);
|
|
12232
|
-
|
|
12233
|
+
useLayoutEffect9(() => {
|
|
12233
12234
|
if (mounted) return;
|
|
12234
12235
|
setMounted(true);
|
|
12235
12236
|
handleChangeLayoutState({
|
|
@@ -12239,14 +12240,14 @@ var DrawerWorkspaceLayout = memo36(function DrawerWorkspaceLayout2({
|
|
|
12239
12240
|
}, [handleChangeLayoutState, mounted]);
|
|
12240
12241
|
const leftSidebarCollapsed = internalLayoutState?.leftSidebarCollapsed ?? false;
|
|
12241
12242
|
const rightSidebarCollapsed = internalLayoutState?.rightSidebarCollapsed ?? false;
|
|
12242
|
-
return /* @__PURE__ */
|
|
12243
|
+
return /* @__PURE__ */ React87.createElement(
|
|
12243
12244
|
"div",
|
|
12244
12245
|
{
|
|
12245
12246
|
ref: portalContainer,
|
|
12246
12247
|
id: EDITOR_PANEL_GROUP_ID,
|
|
12247
12248
|
className: "flex flex-1 relative focus:outline-none"
|
|
12248
12249
|
},
|
|
12249
|
-
leftPanel && /* @__PURE__ */
|
|
12250
|
+
leftPanel && /* @__PURE__ */ React87.createElement(
|
|
12250
12251
|
Drawer,
|
|
12251
12252
|
{
|
|
12252
12253
|
id: LEFT_SIDEBAR_ID,
|
|
@@ -12267,7 +12268,7 @@ var DrawerWorkspaceLayout = memo36(function DrawerWorkspaceLayout2({
|
|
|
12267
12268
|
leftPanel
|
|
12268
12269
|
),
|
|
12269
12270
|
centerPanel,
|
|
12270
|
-
rightPanel && /* @__PURE__ */
|
|
12271
|
+
rightPanel && /* @__PURE__ */ React87.createElement(
|
|
12271
12272
|
Drawer,
|
|
12272
12273
|
{
|
|
12273
12274
|
id: RIGHT_SIDEBAR_ID,
|
|
@@ -12291,7 +12292,7 @@ var DrawerWorkspaceLayout = memo36(function DrawerWorkspaceLayout2({
|
|
|
12291
12292
|
});
|
|
12292
12293
|
|
|
12293
12294
|
// src/components/workspace/PanelWorkspaceLayout.tsx
|
|
12294
|
-
import
|
|
12295
|
+
import React88, { memo as memo37, useRef as useRef27 } from "react";
|
|
12295
12296
|
import {
|
|
12296
12297
|
Panel,
|
|
12297
12298
|
PanelGroup,
|
|
@@ -12312,7 +12313,7 @@ var PanelWorkspaceLayout = memo37(function PanelWorkspaceLayout2({
|
|
|
12312
12313
|
}) {
|
|
12313
12314
|
const panelGroupRef = useRef27(null);
|
|
12314
12315
|
usePreservePanelSize(panelGroupRef, handleChangeLayoutState);
|
|
12315
|
-
return /* @__PURE__ */
|
|
12316
|
+
return /* @__PURE__ */ React88.createElement(
|
|
12316
12317
|
PanelGroup,
|
|
12317
12318
|
{
|
|
12318
12319
|
ref: panelGroupRef,
|
|
@@ -12321,7 +12322,7 @@ var PanelWorkspaceLayout = memo37(function PanelWorkspaceLayout2({
|
|
|
12321
12322
|
direction: "horizontal",
|
|
12322
12323
|
autoSaveId: autoSavePrefix ? `${autoSavePrefix}--${EDITOR_PANEL_GROUP_ID}` : void 0
|
|
12323
12324
|
},
|
|
12324
|
-
leftPanel && /* @__PURE__ */
|
|
12325
|
+
leftPanel && /* @__PURE__ */ React88.createElement(React88.Fragment, null, /* @__PURE__ */ React88.createElement(
|
|
12325
12326
|
Panel,
|
|
12326
12327
|
{
|
|
12327
12328
|
id: LEFT_SIDEBAR_ID,
|
|
@@ -12334,8 +12335,8 @@ var PanelWorkspaceLayout = memo37(function PanelWorkspaceLayout2({
|
|
|
12334
12335
|
collapsible: true
|
|
12335
12336
|
},
|
|
12336
12337
|
internalLayoutState?.leftSidebarCollapsed ? null : leftPanel
|
|
12337
|
-
), /* @__PURE__ */
|
|
12338
|
-
/* @__PURE__ */
|
|
12338
|
+
), /* @__PURE__ */ React88.createElement(PanelResizeHandle, { className: "cursor-col-resize w-px h-full bg-divider" })),
|
|
12339
|
+
/* @__PURE__ */ React88.createElement(
|
|
12339
12340
|
Panel,
|
|
12340
12341
|
{
|
|
12341
12342
|
id: CONTENT_AREA_ID,
|
|
@@ -12346,7 +12347,7 @@ var PanelWorkspaceLayout = memo37(function PanelWorkspaceLayout2({
|
|
|
12346
12347
|
},
|
|
12347
12348
|
centerPanel
|
|
12348
12349
|
),
|
|
12349
|
-
rightPanel && /* @__PURE__ */
|
|
12350
|
+
rightPanel && /* @__PURE__ */ React88.createElement(React88.Fragment, null, /* @__PURE__ */ React88.createElement(PanelResizeHandle, { className: "cursor-col-resize w-px h-full bg-divider" }), /* @__PURE__ */ React88.createElement(
|
|
12350
12351
|
Panel,
|
|
12351
12352
|
{
|
|
12352
12353
|
id: RIGHT_SIDEBAR_ID,
|
|
@@ -12395,7 +12396,7 @@ var WorkspaceLayout = forwardRef27(function WorkspaceLayout2({
|
|
|
12395
12396
|
} = {},
|
|
12396
12397
|
theme
|
|
12397
12398
|
}, forwardedRef) {
|
|
12398
|
-
const containerRef =
|
|
12399
|
+
const containerRef = React89.useRef(null);
|
|
12399
12400
|
const containerSize = useSize(containerRef);
|
|
12400
12401
|
const windowSize = useWindowSize();
|
|
12401
12402
|
const parentSize = detectSize === "window" ? windowSize : containerSize && containerSize.width > 0 ? containerSize : windowSize;
|
|
@@ -12493,7 +12494,7 @@ var WorkspaceLayout = forwardRef27(function WorkspaceLayout2({
|
|
|
12493
12494
|
}
|
|
12494
12495
|
});
|
|
12495
12496
|
const centerPanelPercentage = 100 - (left ? leftSidebarPercentage : 0) - (right ? rightSidebarPercentage : 0);
|
|
12496
|
-
const leftPanel = left ? /* @__PURE__ */
|
|
12497
|
+
const leftPanel = left ? /* @__PURE__ */ React89.createElement(
|
|
12497
12498
|
PanelInner,
|
|
12498
12499
|
{
|
|
12499
12500
|
style: leftStyle,
|
|
@@ -12501,7 +12502,7 @@ var WorkspaceLayout = forwardRef27(function WorkspaceLayout2({
|
|
|
12501
12502
|
},
|
|
12502
12503
|
left
|
|
12503
12504
|
) : null;
|
|
12504
|
-
const rightPanel = right ? /* @__PURE__ */
|
|
12505
|
+
const rightPanel = right ? /* @__PURE__ */ React89.createElement(
|
|
12505
12506
|
PanelInner,
|
|
12506
12507
|
{
|
|
12507
12508
|
style: rightStyle,
|
|
@@ -12509,7 +12510,7 @@ var WorkspaceLayout = forwardRef27(function WorkspaceLayout2({
|
|
|
12509
12510
|
},
|
|
12510
12511
|
right
|
|
12511
12512
|
) : null;
|
|
12512
|
-
const centerPanel = /* @__PURE__ */
|
|
12513
|
+
const centerPanel = /* @__PURE__ */ React89.createElement(PanelInner, { className: "bg-canvas-background" }, children);
|
|
12513
12514
|
const leftSidebarOptions = {
|
|
12514
12515
|
minSize: leftSidebarMinPercentage,
|
|
12515
12516
|
maxSize: leftSidebarMaxPercentage,
|
|
@@ -12524,7 +12525,7 @@ var WorkspaceLayout = forwardRef27(function WorkspaceLayout2({
|
|
|
12524
12525
|
};
|
|
12525
12526
|
const LayoutComponent = sideType === "panel" ? PanelWorkspaceLayout : sideType === "drawer" ? DrawerWorkspaceLayout : parentSize.width > sideTypeBreakpoint ? PanelWorkspaceLayout : DrawerWorkspaceLayout;
|
|
12526
12527
|
const readyToRender = detectSize === "window" || containerSize && containerSize.width > 0;
|
|
12527
|
-
return /* @__PURE__ */
|
|
12528
|
+
return /* @__PURE__ */ React89.createElement(
|
|
12528
12529
|
"div",
|
|
12529
12530
|
{
|
|
12530
12531
|
ref: containerRef,
|
|
@@ -12534,7 +12535,7 @@ var WorkspaceLayout = forwardRef27(function WorkspaceLayout2({
|
|
|
12534
12535
|
"data-theme": theme
|
|
12535
12536
|
},
|
|
12536
12537
|
toolbar,
|
|
12537
|
-
/* @__PURE__ */
|
|
12538
|
+
/* @__PURE__ */ React89.createElement("div", { className: "flex flex-row flex-1 relative" }, readyToRender && /* @__PURE__ */ React89.createElement(
|
|
12538
12539
|
LayoutComponent,
|
|
12539
12540
|
{
|
|
12540
12541
|
leftPanel,
|
|
@@ -12557,7 +12558,7 @@ var PanelInner = memo38(function PanelInner2({
|
|
|
12557
12558
|
style: style2,
|
|
12558
12559
|
className
|
|
12559
12560
|
}) {
|
|
12560
|
-
return /* @__PURE__ */
|
|
12561
|
+
return /* @__PURE__ */ React89.createElement("div", { style: style2, className: cx("absolute inset-0 flex", className) }, children);
|
|
12561
12562
|
});
|
|
12562
12563
|
|
|
12563
12564
|
// src/hooks/usePlatform.ts
|
|
@@ -12712,11 +12713,11 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
|
|
|
12712
12713
|
|
|
12713
12714
|
// src/components/DimensionInput.tsx
|
|
12714
12715
|
import { round } from "@noya-app/noya-utils";
|
|
12715
|
-
import * as
|
|
12716
|
+
import * as React90 from "react";
|
|
12716
12717
|
function getNewValue(value, mode, delta) {
|
|
12717
12718
|
return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
|
|
12718
12719
|
}
|
|
12719
|
-
var DimensionInput =
|
|
12720
|
+
var DimensionInput = React90.memo(function DimensionInput2({
|
|
12720
12721
|
id,
|
|
12721
12722
|
value,
|
|
12722
12723
|
onSetValue,
|
|
@@ -12726,15 +12727,15 @@ var DimensionInput = React89.memo(function DimensionInput2({
|
|
|
12726
12727
|
disabled,
|
|
12727
12728
|
trigger = "submit"
|
|
12728
12729
|
}) {
|
|
12729
|
-
const handleNudgeValue =
|
|
12730
|
+
const handleNudgeValue = React90.useCallback(
|
|
12730
12731
|
(value2) => onSetValue(value2, "adjust"),
|
|
12731
12732
|
[onSetValue]
|
|
12732
12733
|
);
|
|
12733
|
-
const handleSetValue =
|
|
12734
|
+
const handleSetValue = React90.useCallback(
|
|
12734
12735
|
(value2) => onSetValue(value2, "replace"),
|
|
12735
12736
|
[onSetValue]
|
|
12736
12737
|
);
|
|
12737
|
-
return /* @__PURE__ */
|
|
12738
|
+
return /* @__PURE__ */ React90.createElement(LabeledField, { label, labelPosition: "inset" }, /* @__PURE__ */ React90.createElement(InputField2.Root, { id, width: size2 }, /* @__PURE__ */ React90.createElement(
|
|
12738
12739
|
InputField2.NumberInput,
|
|
12739
12740
|
{
|
|
12740
12741
|
value: value === void 0 ? value : round(value, 2),
|
|
@@ -12761,11 +12762,11 @@ __export(InspectorPrimitives_exports, {
|
|
|
12761
12762
|
Title: () => Title4,
|
|
12762
12763
|
VerticalSeparator: () => VerticalSeparator
|
|
12763
12764
|
});
|
|
12764
|
-
import
|
|
12765
|
+
import React91, {
|
|
12765
12766
|
forwardRef as forwardRef28,
|
|
12766
12767
|
memo as memo40
|
|
12767
12768
|
} from "react";
|
|
12768
|
-
var Section2 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */
|
|
12769
|
+
var Section2 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React91.createElement(
|
|
12769
12770
|
"div",
|
|
12770
12771
|
{
|
|
12771
12772
|
ref,
|
|
@@ -12773,8 +12774,8 @@ var Section2 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ Re
|
|
|
12773
12774
|
...props
|
|
12774
12775
|
}
|
|
12775
12776
|
));
|
|
12776
|
-
var SectionHeader3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */
|
|
12777
|
-
var Title4 = forwardRef28(({ className, $textStyle, ...props }, ref) => /* @__PURE__ */
|
|
12777
|
+
var SectionHeader3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React91.createElement("div", { ref, className: cx(`flex items-center `, className), ...props }));
|
|
12778
|
+
var Title4 = forwardRef28(({ className, $textStyle, ...props }, ref) => /* @__PURE__ */ React91.createElement(
|
|
12778
12779
|
"div",
|
|
12779
12780
|
{
|
|
12780
12781
|
ref,
|
|
@@ -12785,7 +12786,7 @@ var Title4 = forwardRef28(({ className, $textStyle, ...props }, ref) => /* @__PU
|
|
|
12785
12786
|
...props
|
|
12786
12787
|
}
|
|
12787
12788
|
));
|
|
12788
|
-
var Row = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */
|
|
12789
|
+
var Row = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React91.createElement(
|
|
12789
12790
|
"div",
|
|
12790
12791
|
{
|
|
12791
12792
|
ref,
|
|
@@ -12793,7 +12794,7 @@ var Row = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React90
|
|
|
12793
12794
|
...props
|
|
12794
12795
|
}
|
|
12795
12796
|
));
|
|
12796
|
-
var Column = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */
|
|
12797
|
+
var Column = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React91.createElement(
|
|
12797
12798
|
"div",
|
|
12798
12799
|
{
|
|
12799
12800
|
ref,
|
|
@@ -12801,7 +12802,7 @@ var Column = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ Reac
|
|
|
12801
12802
|
...props
|
|
12802
12803
|
}
|
|
12803
12804
|
));
|
|
12804
|
-
var Checkbox3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */
|
|
12805
|
+
var Checkbox3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React91.createElement(
|
|
12805
12806
|
"input",
|
|
12806
12807
|
{
|
|
12807
12808
|
ref,
|
|
@@ -12810,7 +12811,7 @@ var Checkbox3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ R
|
|
|
12810
12811
|
...props
|
|
12811
12812
|
}
|
|
12812
12813
|
));
|
|
12813
|
-
var Text3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */
|
|
12814
|
+
var Text3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React91.createElement(
|
|
12814
12815
|
"span",
|
|
12815
12816
|
{
|
|
12816
12817
|
ref,
|
|
@@ -12818,14 +12819,14 @@ var Text3 = forwardRef28(({ className, ...props }, ref) => /* @__PURE__ */ React
|
|
|
12818
12819
|
...props
|
|
12819
12820
|
}
|
|
12820
12821
|
));
|
|
12821
|
-
var VerticalSeparator = () => /* @__PURE__ */
|
|
12822
|
-
var HorizontalSeparator = () => /* @__PURE__ */
|
|
12822
|
+
var VerticalSeparator = () => /* @__PURE__ */ React91.createElement(Spacer.Vertical, { size: "inspector-v-separator" });
|
|
12823
|
+
var HorizontalSeparator = () => /* @__PURE__ */ React91.createElement(Spacer.Horizontal, { size: "inspector-h-separator" });
|
|
12823
12824
|
var RowLabel = forwardRef28(function RowLabel2({
|
|
12824
12825
|
className,
|
|
12825
12826
|
$textStyle,
|
|
12826
12827
|
...props
|
|
12827
12828
|
}, ref) {
|
|
12828
|
-
return /* @__PURE__ */
|
|
12829
|
+
return /* @__PURE__ */ React91.createElement(
|
|
12829
12830
|
"label",
|
|
12830
12831
|
{
|
|
12831
12832
|
ref,
|
|
@@ -12845,11 +12846,11 @@ var LabeledRow = memo40(function LabeledRow2({
|
|
|
12845
12846
|
right,
|
|
12846
12847
|
className
|
|
12847
12848
|
}) {
|
|
12848
|
-
return /* @__PURE__ */
|
|
12849
|
+
return /* @__PURE__ */ React91.createElement(Row, { id, className }, /* @__PURE__ */ React91.createElement(Column, null, /* @__PURE__ */ React91.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ React91.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ React91.createElement(Row, null, children)));
|
|
12849
12850
|
});
|
|
12850
12851
|
|
|
12851
12852
|
// src/components/BaseToolbar.tsx
|
|
12852
|
-
import
|
|
12853
|
+
import React92 from "react";
|
|
12853
12854
|
var toolbarStyle = {
|
|
12854
12855
|
[cssVarNames.colors.inputBackground]: "transparent"
|
|
12855
12856
|
};
|
|
@@ -12860,7 +12861,7 @@ function BaseToolbar({
|
|
|
12860
12861
|
logo,
|
|
12861
12862
|
showDivider = true
|
|
12862
12863
|
}) {
|
|
12863
|
-
return /* @__PURE__ */
|
|
12864
|
+
return /* @__PURE__ */ React92.createElement("div", { className: "flex flex-col", style: toolbarStyle }, /* @__PURE__ */ React92.createElement(
|
|
12864
12865
|
"div",
|
|
12865
12866
|
{
|
|
12866
12867
|
className: "flex items-center pr-2.5 bg-sidebar-background flex-none relative @container/toolbar",
|
|
@@ -12868,10 +12869,10 @@ function BaseToolbar({
|
|
|
12868
12869
|
flex: `0 0 ${cssVars.spacing.toolbarHeight}`
|
|
12869
12870
|
}
|
|
12870
12871
|
},
|
|
12871
|
-
logo && /* @__PURE__ */
|
|
12872
|
-
/* @__PURE__ */
|
|
12873
|
-
left && /* @__PURE__ */
|
|
12874
|
-
/* @__PURE__ */
|
|
12872
|
+
logo && /* @__PURE__ */ React92.createElement(React92.Fragment, null, logo, /* @__PURE__ */ React92.createElement(DividerVertical, null)),
|
|
12873
|
+
/* @__PURE__ */ React92.createElement(Spacer.Horizontal, { size: 10 }),
|
|
12874
|
+
left && /* @__PURE__ */ React92.createElement(React92.Fragment, null, /* @__PURE__ */ React92.createElement("div", { className: "flex gap-toolbar-separator" }, left), /* @__PURE__ */ React92.createElement(Spacer.Horizontal, { size: 10 })),
|
|
12875
|
+
/* @__PURE__ */ React92.createElement("div", { className: "flex items-center justify-center text-text-muted pointer-events-none @2xl/toolbar:absolute inset-0" }, /* @__PURE__ */ React92.createElement(
|
|
12875
12876
|
"div",
|
|
12876
12877
|
{
|
|
12877
12878
|
style: {
|
|
@@ -12883,15 +12884,15 @@ function BaseToolbar({
|
|
|
12883
12884
|
},
|
|
12884
12885
|
children
|
|
12885
12886
|
)),
|
|
12886
|
-
/* @__PURE__ */
|
|
12887
|
-
/* @__PURE__ */
|
|
12888
|
-
/* @__PURE__ */
|
|
12889
|
-
), showDivider && /* @__PURE__ */
|
|
12887
|
+
/* @__PURE__ */ React92.createElement(Spacer.Horizontal, null),
|
|
12888
|
+
/* @__PURE__ */ React92.createElement(Spacer.Horizontal, { size: 10 }),
|
|
12889
|
+
/* @__PURE__ */ React92.createElement("div", { className: "flex gap-toolbar-separator" }, right)
|
|
12890
|
+
), showDivider && /* @__PURE__ */ React92.createElement(Divider, { variant: "strong" }));
|
|
12890
12891
|
}
|
|
12891
12892
|
|
|
12892
12893
|
// src/components/Toolbar.tsx
|
|
12893
12894
|
import { useKeyboardShortcuts as useKeyboardShortcuts4 } from "@noya-app/noya-keymap";
|
|
12894
|
-
import
|
|
12895
|
+
import React93 from "react";
|
|
12895
12896
|
var iconButtonStyle = {
|
|
12896
12897
|
height: 27,
|
|
12897
12898
|
width: 27,
|
|
@@ -12901,8 +12902,8 @@ var ToolbarMenuDropdown = memoGeneric(function ToolbarMenuDropdown2({
|
|
|
12901
12902
|
item,
|
|
12902
12903
|
onSelectMenuItem
|
|
12903
12904
|
}) {
|
|
12904
|
-
const [open, setOpen] =
|
|
12905
|
-
return /* @__PURE__ */
|
|
12905
|
+
const [open, setOpen] = React93.useState(false);
|
|
12906
|
+
return /* @__PURE__ */ React93.createElement(
|
|
12906
12907
|
DropdownMenu,
|
|
12907
12908
|
{
|
|
12908
12909
|
open,
|
|
@@ -12914,7 +12915,7 @@ var ToolbarMenuDropdown = memoGeneric(function ToolbarMenuDropdown2({
|
|
|
12914
12915
|
}
|
|
12915
12916
|
}
|
|
12916
12917
|
},
|
|
12917
|
-
/* @__PURE__ */
|
|
12918
|
+
/* @__PURE__ */ React93.createElement(
|
|
12918
12919
|
Button,
|
|
12919
12920
|
{
|
|
12920
12921
|
disabled: item.disabled,
|
|
@@ -12931,7 +12932,7 @@ var ToolbarMenuButton = memoGeneric(function ToolbarMenuButton2({
|
|
|
12931
12932
|
onSelectMenuItem,
|
|
12932
12933
|
as
|
|
12933
12934
|
}) {
|
|
12934
|
-
const content = /* @__PURE__ */
|
|
12935
|
+
const content = /* @__PURE__ */ React93.createElement(
|
|
12935
12936
|
Button,
|
|
12936
12937
|
{
|
|
12937
12938
|
as,
|
|
@@ -12948,7 +12949,7 @@ var ToolbarMenuButton = memoGeneric(function ToolbarMenuButton2({
|
|
|
12948
12949
|
},
|
|
12949
12950
|
item.title
|
|
12950
12951
|
);
|
|
12951
|
-
return item.tooltip ? /* @__PURE__ */
|
|
12952
|
+
return item.tooltip ? /* @__PURE__ */ React93.createElement(Tooltip, { sideOffset: 10, content: item.tooltip }, content) : content;
|
|
12952
12953
|
});
|
|
12953
12954
|
var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
|
|
12954
12955
|
item,
|
|
@@ -12957,10 +12958,10 @@ var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
|
|
|
12957
12958
|
}) {
|
|
12958
12959
|
if (item.type === "sectionHeader") return null;
|
|
12959
12960
|
if (item.type === "separator") {
|
|
12960
|
-
return /* @__PURE__ */
|
|
12961
|
+
return /* @__PURE__ */ React93.createElement(DividerVertical, { overflow: 4 });
|
|
12961
12962
|
}
|
|
12962
12963
|
if (isSelectableMenuItem(item)) {
|
|
12963
|
-
return /* @__PURE__ */
|
|
12964
|
+
return /* @__PURE__ */ React93.createElement(
|
|
12964
12965
|
ToolbarMenuButton,
|
|
12965
12966
|
{
|
|
12966
12967
|
item,
|
|
@@ -12969,15 +12970,15 @@ var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
|
|
|
12969
12970
|
}
|
|
12970
12971
|
);
|
|
12971
12972
|
}
|
|
12972
|
-
return /* @__PURE__ */
|
|
12973
|
+
return /* @__PURE__ */ React93.createElement(ToolbarMenuDropdown, { item, onSelectMenuItem });
|
|
12973
12974
|
});
|
|
12974
12975
|
var ToolbarMenu = memoGeneric(function ToolbarMenu2({
|
|
12975
12976
|
items,
|
|
12976
12977
|
onSelectMenuItem,
|
|
12977
12978
|
buttonAs
|
|
12978
12979
|
}) {
|
|
12979
|
-
return /* @__PURE__ */
|
|
12980
|
-
return /* @__PURE__ */
|
|
12980
|
+
return /* @__PURE__ */ React93.createElement(React93.Fragment, null, items.map((item, i) => {
|
|
12981
|
+
return /* @__PURE__ */ React93.createElement(
|
|
12981
12982
|
ToolbarMenuItem,
|
|
12982
12983
|
{
|
|
12983
12984
|
key: i,
|
|
@@ -12996,28 +12997,28 @@ function Toolbar({
|
|
|
12996
12997
|
onSelectMenuItem,
|
|
12997
12998
|
shouldBindKeyboardShortcuts = true
|
|
12998
12999
|
}) {
|
|
12999
|
-
const allMenuItems =
|
|
13000
|
+
const allMenuItems = React93.useMemo(
|
|
13000
13001
|
() => [...leftMenuItems, ...rightMenuItems],
|
|
13001
13002
|
[leftMenuItems, rightMenuItems]
|
|
13002
13003
|
);
|
|
13003
13004
|
useKeyboardShortcuts4(
|
|
13004
|
-
|
|
13005
|
+
React93.useMemo(
|
|
13005
13006
|
() => onSelectMenuItem && shouldBindKeyboardShortcuts ? getKeyboardShortcutsForMenuItems(allMenuItems, onSelectMenuItem) : {},
|
|
13006
13007
|
[allMenuItems, onSelectMenuItem, shouldBindKeyboardShortcuts]
|
|
13007
13008
|
)
|
|
13008
13009
|
);
|
|
13009
|
-
return /* @__PURE__ */
|
|
13010
|
+
return /* @__PURE__ */ React93.createElement(
|
|
13010
13011
|
BaseToolbar,
|
|
13011
13012
|
{
|
|
13012
13013
|
logo,
|
|
13013
|
-
left: leftMenuItems.length > 0 && /* @__PURE__ */
|
|
13014
|
+
left: leftMenuItems.length > 0 && /* @__PURE__ */ React93.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React93.createElement(
|
|
13014
13015
|
ToolbarMenu,
|
|
13015
13016
|
{
|
|
13016
13017
|
items: leftMenuItems,
|
|
13017
13018
|
onSelectMenuItem
|
|
13018
13019
|
}
|
|
13019
13020
|
)),
|
|
13020
|
-
right: rightMenuItems.length > 0 && /* @__PURE__ */
|
|
13021
|
+
right: rightMenuItems.length > 0 && /* @__PURE__ */ React93.createElement("div", { className: "flex gap-2" }, /* @__PURE__ */ React93.createElement(
|
|
13021
13022
|
ToolbarMenu,
|
|
13022
13023
|
{
|
|
13023
13024
|
items: rightMenuItems,
|