@noya-app/noya-designsystem 0.1.15 → 0.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -140,14 +140,14 @@ var Spinner = import_styled_components.default.div`
140
140
  display: flex;
141
141
  justify-content: center;
142
142
  align-items: center;
143
- opacity: ${({ opacity }) => opacity};
143
+ opacity: ${({ $opacity }) => $opacity};
144
144
  `;
145
145
  var SpinnerCircle = import_styled_components.default.div`
146
- border: 2px solid ${({ trackColor }) => trackColor};
147
- border-top: 2px solid ${({ color }) => color};
146
+ border: 2px solid ${({ $trackColor }) => $trackColor};
147
+ border-top: 2px solid ${({ $color }) => $color};
148
148
  border-radius: 50%;
149
- width: ${({ size: size2 }) => `${size2}px`};
150
- height: ${({ size: size2 }) => `${size2}px`};
149
+ width: ${({ $size }) => `${$size}px`};
150
+ height: ${({ $size }) => `${$size}px`};
151
151
  animation: ${spin} 1s linear infinite;
152
152
  `;
153
153
  var ActivityIndicator = (0, import_react.memo)(function ActivityIndicator2({
@@ -156,7 +156,7 @@ var ActivityIndicator = (0, import_react.memo)(function ActivityIndicator2({
156
156
  color = "black",
157
157
  trackColor = "rgba(0, 0, 0, 0.1)"
158
158
  }) {
159
- return /* @__PURE__ */ import_react.default.createElement(Spinner, { opacity }, /* @__PURE__ */ import_react.default.createElement(SpinnerCircle, { size: size2, color, trackColor }));
159
+ return /* @__PURE__ */ import_react.default.createElement(Spinner, { $opacity: opacity }, /* @__PURE__ */ import_react.default.createElement(SpinnerCircle, { $size: size2, $color: color, $trackColor: trackColor }));
160
160
  });
161
161
 
162
162
  // src/components/Avatar.tsx
@@ -206,9 +206,9 @@ function withSeparatorElements(elements2, separator) {
206
206
  }
207
207
 
208
208
  // src/components/Stack.tsx
209
- var Element = import_styled_components2.default.div(({ styleProps, breakpoints }) => ({
210
- ...styleProps,
211
- ...mergeBreakpoints(breakpoints || [])
209
+ var Element = import_styled_components2.default.div(({ $styleProps, $breakpoints }) => ({
210
+ ...$styleProps,
211
+ ...mergeBreakpoints($breakpoints || [])
212
212
  }));
213
213
  var StackBase = (0, import_react3.forwardRef)(function StackBase2({ id, as, children, separator, breakpoints, tabIndex, href, ...rest }, forwardedRef) {
214
214
  const elements2 = separator ? withSeparatorElements(import_react3.Children.toArray(children), separator) : children;
@@ -224,8 +224,8 @@ var StackBase = (0, import_react3.forwardRef)(function StackBase2({ id, as, chil
224
224
  ref: forwardedRef,
225
225
  id,
226
226
  as,
227
- styleProps,
228
- breakpoints,
227
+ $styleProps: styleProps,
228
+ $breakpoints: breakpoints,
229
229
  tabIndex,
230
230
  ...href && { href }
231
231
  },
@@ -294,10 +294,10 @@ var Avatar = (0, import_react4.forwardRef)(function Avatar2({
294
294
  }, forwardedRef) {
295
295
  return /* @__PURE__ */ import_react4.default.createElement(AvatarRoot, { ref: forwardedRef, size: size2, overflow, ...props }, /* @__PURE__ */ import_react4.default.createElement(AvatarImage, { src: image, alt: name3 }), /* @__PURE__ */ import_react4.default.createElement(AvatarFallback, { size: size2 }, fallback));
296
296
  });
297
- var AvatarStackItemWrapper = import_styled_components3.default.div(({ size: size2, theme }) => ({
297
+ var AvatarStackItemWrapper = import_styled_components3.default.div(({ $size, theme }) => ({
298
298
  position: "relative",
299
- width: size2,
300
- height: size2,
299
+ width: $size,
300
+ height: $size,
301
301
  marginLeft: "-8px",
302
302
  // outline: `2px solid ${theme.colors.sidebar.background}`,
303
303
  borderRadius: "50%",
@@ -314,7 +314,7 @@ function AvatarStack({
314
314
  return /* @__PURE__ */ import_react4.default.createElement(Stack.H, null, childrenArray.map((child, index) => {
315
315
  if (index === 0)
316
316
  return child;
317
- return /* @__PURE__ */ import_react4.default.createElement(AvatarStackItemWrapper, { size: size2, key: index }, child);
317
+ return /* @__PURE__ */ import_react4.default.createElement(AvatarStackItemWrapper, { $size: size2, key: index }, child);
318
318
  }));
319
319
  }
320
320
 
@@ -352,48 +352,49 @@ var Tooltip = (0, import_react5.memo)(function Tooltip2({ children, content }) {
352
352
  var ButtonElement = import_styled_components5.default.button(
353
353
  ({
354
354
  theme,
355
- active,
355
+ $active,
356
356
  disabled,
357
- variant,
358
- size: size2,
359
- flex,
360
- defaultBackground = theme.colors.inputBackground
357
+ $variant,
358
+ $size,
359
+ $flex,
360
+ $defaultBackground = theme.colors.inputBackground
361
361
  }) => ({
362
- ...size2 === "large" ? theme.textStyles.heading4 : theme.textStyles.button,
362
+ ...$size === "large" ? theme.textStyles.heading4 : theme.textStyles.button,
363
363
  textDecoration: "none",
364
364
  lineHeight: "1",
365
- flex: flex ?? "0 0 auto",
365
+ flex: $flex ?? "0 0 auto",
366
366
  position: "relative",
367
367
  border: "0",
368
368
  outline: "none",
369
369
  WebkitAppRegion: "no-drag",
370
370
  userSelect: "none",
371
- minWidth: variant === "normal" ? "31px" : void 0,
371
+ minWidth: $variant === "normal" ? "31px" : void 0,
372
372
  textAlign: "left",
373
373
  borderRadius: "4px",
374
- paddingTop: variant === "none" ? "0px" : "4px",
375
- paddingRight: variant === "none" ? "0px" : variant === "thin" ? "1px" : "8px",
376
- paddingBottom: variant === "none" ? "0px" : "4px",
377
- paddingLeft: variant === "none" ? "0px" : variant === "thin" ? "1px" : "8px",
378
- ...size2 === "large" && {
374
+ paddingTop: $variant === "none" ? "0px" : "4px",
375
+ paddingRight: $variant === "none" ? "0px" : $variant === "thin" ? "1px" : "8px",
376
+ paddingBottom: $variant === "none" ? "0px" : "4px",
377
+ paddingLeft: $variant === "none" ? "0px" : $variant === "thin" ? "1px" : "8px",
378
+ ...$size === "large" && {
379
379
  paddingTop: "12px",
380
380
  paddingRight: "16px",
381
381
  paddingBottom: "12px",
382
382
  paddingLeft: "16px"
383
383
  },
384
- background: active ? theme.colors.primary : variant === "primaryGradient" ? `linear-gradient(90deg, ${theme.colors.primary}, ${theme.colors.primaryLight})` : variant === "none" || variant === "thin" ? "transparent" : defaultBackground,
385
- color: active ? "white" : theme.colors.text,
384
+ background: $active ? theme.colors.primary : $variant === "primaryGradient" ? `linear-gradient(90deg, ${theme.colors.primary}, ${theme.colors.primaryLight})` : $variant === "none" || $variant === "thin" ? "transparent" : $defaultBackground,
385
+ color: $active ? "white" : theme.colors.text,
386
386
  opacity: disabled ? 0.25 : 1,
387
387
  "&:focus": {
388
- boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors.primary}`
388
+ outline: `2px solid ${theme.colors.primary}`,
389
+ boxShadow: `0 0 0 1px ${theme.colors.popover.background} inset`
389
390
  },
390
391
  "&:hover": {
391
- background: variant === "primaryGradient" || active ? theme.colors.primaryLight : theme.colors.inputBackgroundLight
392
+ background: $variant === "primaryGradient" || $active ? theme.colors.primaryLight : theme.colors.inputBackgroundLight
392
393
  },
393
394
  "&:active": {
394
- background: variant === "primaryGradient" || active ? theme.colors.primary : theme.colors.activeBackground
395
+ background: $variant === "primaryGradient" || $active ? theme.colors.primary : theme.colors.activeBackground
395
396
  },
396
- ...variant === "primary" && {
397
+ ...$variant === "primary" && {
397
398
  background: theme.colors.primary,
398
399
  color: "white",
399
400
  "&:hover": {
@@ -403,7 +404,7 @@ var ButtonElement = import_styled_components5.default.button(
403
404
  background: theme.colors.primary
404
405
  }
405
406
  },
406
- ...variant === "secondary" && {
407
+ ...$variant === "secondary" && {
407
408
  background: theme.colors.secondary,
408
409
  color: "white",
409
410
  "&:hover": {
@@ -413,7 +414,7 @@ var ButtonElement = import_styled_components5.default.button(
413
414
  background: theme.colors.secondary
414
415
  }
415
416
  },
416
- ...variant === "secondaryBright" && {
417
+ ...$variant === "secondaryBright" && {
417
418
  background: "#0ab557",
418
419
  color: "white",
419
420
  "&:hover": {
@@ -423,7 +424,7 @@ var ButtonElement = import_styled_components5.default.button(
423
424
  opacity: 0.9
424
425
  }
425
426
  },
426
- ...variant === "white" && {
427
+ ...$variant === "white" && {
427
428
  background: "white",
428
429
  "&:hover": {
429
430
  opacity: 0.8
@@ -432,7 +433,7 @@ var ButtonElement = import_styled_components5.default.button(
432
433
  opacity: 0.9
433
434
  }
434
435
  },
435
- ...variant === "floating" && {
436
+ ...$variant === "floating" && {
436
437
  background: "white",
437
438
  color: theme.colors.text,
438
439
  boxShadow: "0 1px 2px rgba(0, 0, 0, 0.1)",
@@ -483,13 +484,13 @@ var Button = (0, import_react6.forwardRef)(function Button2({
483
484
  id,
484
485
  className,
485
486
  style: style3,
486
- flex,
487
+ $flex: flex,
487
488
  tabIndex,
488
- active,
489
+ $active: active,
489
490
  disabled,
490
- variant,
491
- size: size2,
492
- defaultBackground,
491
+ $variant: variant,
492
+ $size: size2,
493
+ $defaultBackground: defaultBackground,
493
494
  onClick,
494
495
  onDoubleClick: (0, import_react6.useCallback)((event) => {
495
496
  event.stopPropagation();
@@ -503,12 +504,12 @@ var Button = (0, import_react6.forwardRef)(function Button2({
503
504
 
504
505
  // src/components/Chip.tsx
505
506
  var import_noya_icons3 = require("@noya-app/noya-icons");
506
- var import_react35 = __toESM(require("react"));
507
+ var import_react36 = __toESM(require("react"));
507
508
  var import_styled_components16 = __toESM(require("styled-components"));
508
509
 
509
510
  // src/contexts/DesignSystemConfiguration.tsx
510
511
  var import_noya_keymap3 = require("@noya-app/noya-keymap");
511
- var import_react34 = __toESM(require("react"));
512
+ var import_react35 = __toESM(require("react"));
512
513
  var import_styled_components15 = require("styled-components");
513
514
 
514
515
  // src/components/Toast.tsx
@@ -680,7 +681,8 @@ var colors = {
680
681
  grid: "rgba(0,0,0,0.05)"
681
682
  },
682
683
  sidebar: {
683
- background: "rgba(252,252,252,0.85)"
684
+ background: "rgb(252,252,252)",
685
+ backgroundTransparent: "rgba(252,252,252,0.85)"
684
686
  },
685
687
  popover: {
686
688
  background: "rgb(252,252,252)",
@@ -821,24 +823,35 @@ var sizes = {
821
823
  };
822
824
 
823
825
  // src/contexts/DialogContext.tsx
824
- var import_react32 = __toESM(require("react"));
826
+ var import_react33 = __toESM(require("react"));
825
827
  var import_styled_components14 = __toESM(require("styled-components"));
826
828
 
827
829
  // src/components/Dialog.tsx
828
830
  var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
829
- var import_react9 = __toESM(require("react"));
831
+ var import_react10 = __toESM(require("react"));
830
832
  var import_styled_components9 = __toESM(require("styled-components"));
831
833
 
832
834
  // src/components/Spacer.tsx
835
+ var import_react9 = __toESM(require("react"));
833
836
  var import_styled_components8 = __toESM(require("styled-components"));
834
- var SpacerVertical = import_styled_components8.default.span(({ size: size2, inline }) => ({
835
- display: inline ? "inline-block" : "block",
836
- ...size2 === void 0 ? { flex: 1 } : { minHeight: size2 }
837
+ var SpacerVertical_ = import_styled_components8.default.span(({ $size, $inline }) => ({
838
+ display: $inline ? "inline-block" : "block",
839
+ ...$size === void 0 ? { flex: 1 } : { minHeight: $size }
837
840
  }));
838
- var SpacerHorizontal = import_styled_components8.default.span(({ size: size2, inline }) => ({
839
- display: inline ? "inline-block" : "block",
840
- ...size2 === void 0 ? { flex: 1 } : { minWidth: size2 }
841
+ var SpacerVertical = (0, import_react9.forwardRef)(
842
+ ({ size: size2, inline, ...props }, ref) => {
843
+ return /* @__PURE__ */ import_react9.default.createElement(SpacerVertical_, { $size: size2, $inline: inline, ...props, ref });
844
+ }
845
+ );
846
+ var SpacerHorizontal_ = import_styled_components8.default.span(({ $size, $inline }) => ({
847
+ display: $inline ? "inline-block" : "block",
848
+ ...$size === void 0 ? { flex: 1 } : { minWidth: $size }
841
849
  }));
850
+ var SpacerHorizontal = (0, import_react9.forwardRef)(
851
+ ({ size: size2, inline, ...props }, ref) => {
852
+ return /* @__PURE__ */ import_react9.default.createElement(SpacerHorizontal_, { $size: size2, $inline: inline, ...props, ref });
853
+ }
854
+ );
842
855
  var Spacer;
843
856
  ((Spacer2) => {
844
857
  Spacer2.Vertical = SpacerVertical;
@@ -891,7 +904,7 @@ var CloseButtonContainer = import_styled_components9.default.div(({ theme }) =>
891
904
  // boxShadow: `0 0 2px rgba(0, 0, 0, 0.2)`,
892
905
  border: `1px solid rgba(128,128,128,0.2)`
893
906
  }));
894
- var Dialog = (0, import_react9.forwardRef)(function Dialog2({
907
+ var Dialog = (0, import_react10.forwardRef)(function Dialog2({
895
908
  children,
896
909
  title,
897
910
  description,
@@ -901,15 +914,15 @@ var Dialog = (0, import_react9.forwardRef)(function Dialog2({
901
914
  onOpenAutoFocus,
902
915
  closeOnInteractOutside = true
903
916
  }, forwardedRef) {
904
- const contentRef = (0, import_react9.useRef)(null);
905
- (0, import_react9.useImperativeHandle)(forwardedRef, () => ({
917
+ const contentRef = (0, import_react10.useRef)(null);
918
+ (0, import_react10.useImperativeHandle)(forwardedRef, () => ({
906
919
  containsElement(element) {
907
920
  if (!contentRef.current)
908
921
  return false;
909
922
  return contentRef.current.contains(element);
910
923
  }
911
924
  }));
912
- return /* @__PURE__ */ import_react9.default.createElement(DialogPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react9.default.createElement(StyledOverlay, null), /* @__PURE__ */ import_react9.default.createElement(
925
+ return /* @__PURE__ */ import_react10.default.createElement(DialogPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react10.default.createElement(StyledOverlay, null), /* @__PURE__ */ import_react10.default.createElement(
913
926
  StyledContent,
914
927
  {
915
928
  ref: contentRef,
@@ -924,14 +937,14 @@ var Dialog = (0, import_react9.forwardRef)(function Dialog2({
924
937
  }
925
938
  }
926
939
  },
927
- /* @__PURE__ */ import_react9.default.createElement(CloseButtonContainer, null, /* @__PURE__ */ import_react9.default.createElement(DialogPrimitive.Close, { asChild: true }, /* @__PURE__ */ import_react9.default.createElement(IconButton, { iconName: "Cross1Icon" }))),
928
- title && /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, /* @__PURE__ */ import_react9.default.createElement(StyledTitle, null, title), /* @__PURE__ */ import_react9.default.createElement(Spacer.Vertical, { size: description ? 10 : 20 })),
929
- description && /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, /* @__PURE__ */ import_react9.default.createElement(Spacer.Vertical, { size: 10 }), /* @__PURE__ */ import_react9.default.createElement(StyledDescription, null, description), /* @__PURE__ */ import_react9.default.createElement(Spacer.Vertical, { size: 20 })),
940
+ /* @__PURE__ */ import_react10.default.createElement(CloseButtonContainer, null, /* @__PURE__ */ import_react10.default.createElement(DialogPrimitive.Close, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement(IconButton, { iconName: "Cross1Icon" }))),
941
+ title && /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(StyledTitle, null, title), /* @__PURE__ */ import_react10.default.createElement(Spacer.Vertical, { size: description ? 10 : 20 })),
942
+ description && /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, /* @__PURE__ */ import_react10.default.createElement(Spacer.Vertical, { size: 10 }), /* @__PURE__ */ import_react10.default.createElement(StyledDescription, null, description), /* @__PURE__ */ import_react10.default.createElement(Spacer.Vertical, { size: 20 })),
930
943
  children
931
944
  ));
932
945
  });
933
- var FullscreenDialog = (0, import_react9.forwardRef)(function FullscreenDialog2({ style: style3, ...rest }, forwardedRef) {
934
- return /* @__PURE__ */ import_react9.default.createElement(
946
+ var FullscreenDialog = (0, import_react10.forwardRef)(function FullscreenDialog2({ style: style3, ...rest }, forwardedRef) {
947
+ return /* @__PURE__ */ import_react10.default.createElement(
935
948
  Dialog,
936
949
  {
937
950
  ref: forwardedRef,
@@ -955,16 +968,15 @@ var FullscreenDialog = (0, import_react9.forwardRef)(function FullscreenDialog2(
955
968
 
956
969
  // src/components/InputField.tsx
957
970
  var import_noya_icons2 = require("@noya-app/noya-icons");
958
- var import_noya_utils5 = require("@noya-app/noya-utils");
959
971
 
960
972
  // ../noya-react-utils/src/components/AutoSizer.tsx
961
- var import_react10 = __toESM(require("react"));
973
+ var import_react11 = __toESM(require("react"));
962
974
 
963
975
  // ../noya-react-utils/src/hooks/useSize.ts
964
- var React9 = __toESM(require("react"));
976
+ var React10 = __toESM(require("react"));
965
977
  function useSize(refToObserve, dimensions = "both") {
966
- const [size2, setSize] = React9.useState(void 0);
967
- React9.useEffect(() => {
978
+ const [size2, setSize] = React10.useState(void 0);
979
+ React10.useEffect(() => {
968
980
  if (refToObserve.current) {
969
981
  const elementToObserve = refToObserve.current;
970
982
  const resizeObserver = new ResizeObserver((entries) => {
@@ -1011,37 +1023,37 @@ var style = {
1011
1023
  flex: "1 0 0",
1012
1024
  flexDirection: "column"
1013
1025
  };
1014
- var AutoSizer = (0, import_react10.memo)(function AutoSizer2({
1026
+ var AutoSizer = (0, import_react11.memo)(function AutoSizer2({
1015
1027
  children,
1016
1028
  className
1017
1029
  }) {
1018
- const containerRef = (0, import_react10.useRef)(null);
1030
+ const containerRef = (0, import_react11.useRef)(null);
1019
1031
  const containerSize = useSize(containerRef);
1020
- return /* @__PURE__ */ import_react10.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize.width > 0 && containerSize.height > 0 && children(containerSize));
1032
+ return /* @__PURE__ */ import_react11.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize.width > 0 && containerSize.height > 0 && children(containerSize));
1021
1033
  });
1022
- var SingleDimensionAutoSizer = (0, import_react10.memo)(function SingleDimensionAutoSizer2({
1034
+ var SingleDimensionAutoSizer = (0, import_react11.memo)(function SingleDimensionAutoSizer2({
1023
1035
  children,
1024
1036
  dimension,
1025
1037
  className
1026
1038
  }) {
1027
- const containerRef = (0, import_react10.useRef)(null);
1039
+ const containerRef = (0, import_react11.useRef)(null);
1028
1040
  const containerSize = useSize(containerRef, dimension);
1029
- return /* @__PURE__ */ import_react10.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize[dimension] > 0 && children(containerSize[dimension]));
1041
+ return /* @__PURE__ */ import_react11.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize[dimension] > 0 && children(containerSize[dimension]));
1030
1042
  });
1031
1043
 
1032
1044
  // ../noya-react-utils/src/components/FileDropTarget.tsx
1033
- var import_react12 = __toESM(require("react"));
1045
+ var import_react13 = __toESM(require("react"));
1034
1046
 
1035
1047
  // ../noya-react-utils/src/hooks/useFileDropTarget.ts
1036
- var import_react11 = require("react");
1048
+ var import_react12 = require("react");
1037
1049
  function useFileDropTarget(dropEvent) {
1038
- const [isDropTargetActive, setIsDropTargetActive] = (0, import_react11.useState)(false);
1039
- const handleDragEvent = (0, import_react11.useCallback)((event, on) => {
1050
+ const [isDropTargetActive, setIsDropTargetActive] = (0, import_react12.useState)(false);
1051
+ const handleDragEvent = (0, import_react12.useCallback)((event, on) => {
1040
1052
  if (on !== void 0)
1041
1053
  setIsDropTargetActive(on);
1042
1054
  event.preventDefault();
1043
1055
  }, []);
1044
- const handleDropEvent = (0, import_react11.useCallback)(
1056
+ const handleDropEvent = (0, import_react12.useCallback)(
1045
1057
  (event) => {
1046
1058
  dropEvent(event);
1047
1059
  setIsDropTargetActive(false);
@@ -1064,12 +1076,12 @@ function isSupportedFile(file, supportedFileTypes) {
1064
1076
  return supportedFileTypes.includes(file.type) || file.type === "" && file.name.endsWith(".sketch");
1065
1077
  }
1066
1078
  var style2 = { display: "flex", flex: 1 };
1067
- var FileDropTarget = (0, import_react12.memo)(function FileDropTarget2({
1079
+ var FileDropTarget = (0, import_react13.memo)(function FileDropTarget2({
1068
1080
  children,
1069
1081
  onDropFiles,
1070
1082
  supportedFileTypes
1071
1083
  }) {
1072
- const handleFile = (0, import_react12.useCallback)(
1084
+ const handleFile = (0, import_react13.useCallback)(
1073
1085
  (event) => {
1074
1086
  event.preventDefault();
1075
1087
  const offsetPoint = {
@@ -1102,51 +1114,51 @@ var FileDropTarget = (0, import_react12.memo)(function FileDropTarget2({
1102
1114
  [onDropFiles, supportedFileTypes]
1103
1115
  );
1104
1116
  const { dropTargetProps, isDropTargetActive } = useFileDropTarget(handleFile);
1105
- return /* @__PURE__ */ import_react12.default.createElement("div", { style: style2, ...dropTargetProps }, typeof children === "function" ? children(isDropTargetActive) : children);
1117
+ return /* @__PURE__ */ import_react13.default.createElement("div", { style: style2, ...dropTargetProps }, typeof children === "function" ? children(isDropTargetActive) : children);
1106
1118
  });
1107
1119
 
1108
1120
  // ../noya-react-utils/src/hooks/useDeepArray.ts
1109
1121
  var import_noya_utils = require("@noya-app/noya-utils");
1110
- var import_react13 = require("react");
1122
+ var import_react14 = require("react");
1111
1123
 
1112
1124
  // ../noya-react-utils/src/hooks/useDeepState.ts
1113
1125
  var import_noya_utils2 = require("@noya-app/noya-utils");
1114
- var import_react14 = require("react");
1126
+ var import_react15 = require("react");
1115
1127
 
1116
1128
  // ../noya-react-utils/src/hooks/useFetch.ts
1117
- var import_react15 = require("react");
1129
+ var import_react16 = require("react");
1118
1130
 
1119
1131
  // ../noya-react-utils/src/hooks/useIsMounted.ts
1120
- var import_react16 = require("react");
1132
+ var import_react17 = require("react");
1121
1133
 
1122
1134
  // ../noya-react-utils/src/hooks/useLateReference.ts
1123
- var import_react17 = require("react");
1135
+ var import_react18 = require("react");
1124
1136
 
1125
1137
  // ../noya-react-utils/src/hooks/useLazyValue.ts
1126
- var import_react18 = require("react");
1138
+ var import_react19 = require("react");
1127
1139
 
1128
1140
  // ../noya-react-utils/src/hooks/useMutableState.ts
1129
- var import_react19 = require("react");
1141
+ var import_react20 = require("react");
1130
1142
 
1131
1143
  // ../noya-react-utils/src/hooks/usePersistentState.ts
1132
- var import_react20 = require("react");
1144
+ var import_react21 = require("react");
1133
1145
 
1134
1146
  // ../noya-react-utils/src/hooks/usePixelRatio.ts
1135
- var import_react21 = require("react");
1147
+ var import_react22 = require("react");
1136
1148
 
1137
1149
  // ../noya-react-utils/src/hooks/useShallowArray.ts
1138
1150
  var import_noya_utils3 = require("@noya-app/noya-utils");
1139
- var import_react22 = require("react");
1151
+ var import_react23 = require("react");
1140
1152
 
1141
1153
  // ../noya-react-utils/src/hooks/useStableCallback.ts
1142
- var import_react23 = require("react");
1154
+ var import_react24 = require("react");
1143
1155
 
1144
1156
  // ../noya-react-utils/src/hooks/useSystemColorScheme.ts
1145
- var import_react24 = require("react");
1157
+ var import_react25 = require("react");
1146
1158
 
1147
1159
  // ../noya-react-utils/src/hooks/useUrlHashParameters.ts
1148
1160
  var import_noya_utils4 = require("@noya-app/noya-utils");
1149
- var import_react25 = require("react");
1161
+ var import_react26 = require("react");
1150
1162
 
1151
1163
  // ../emitter/src/index.ts
1152
1164
  var Emitter = class {
@@ -1237,7 +1249,7 @@ function assignRef(ref, value) {
1237
1249
  }
1238
1250
 
1239
1251
  // src/components/InputField.tsx
1240
- var import_react31 = __toESM(require("react"));
1252
+ var import_react32 = __toESM(require("react"));
1241
1253
  var import_styled_components13 = __toESM(require("styled-components"));
1242
1254
 
1243
1255
  // src/utils/handleNudge.ts
@@ -1268,12 +1280,12 @@ function handleNudge(e) {
1268
1280
  var import_noya_icons = require("@noya-app/noya-icons");
1269
1281
  var import_noya_keymap2 = require("@noya-app/noya-keymap");
1270
1282
  var RadixDropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
1271
- var import_react27 = __toESM(require("react"));
1283
+ var import_react28 = __toESM(require("react"));
1272
1284
  var import_styled_components11 = __toESM(require("styled-components"));
1273
1285
 
1274
1286
  // src/components/internal/Menu.tsx
1275
1287
  var import_noya_keymap = require("@noya-app/noya-keymap");
1276
- var import_react26 = __toESM(require("react"));
1288
+ var import_react27 = __toESM(require("react"));
1277
1289
  var import_styled_components10 = __toESM(require("styled-components"));
1278
1290
  var SEPARATOR_ITEM = "separator";
1279
1291
  var CHECKBOX_WIDTH = 15;
@@ -1351,34 +1363,31 @@ function getKeyboardShortcutsForMenuItems(menuItems, onSelect) {
1351
1363
  );
1352
1364
  }
1353
1365
  var ShortcutElement = import_styled_components10.default.kbd(
1354
- ({
1355
- theme,
1356
- fixedWidth
1357
- }) => ({
1366
+ ({ theme, $fixedWidth }) => ({
1358
1367
  ...theme.textStyles.small,
1359
1368
  color: theme.colors.textDisabled,
1360
- ...fixedWidth && {
1369
+ ...$fixedWidth && {
1361
1370
  width: "0.9rem",
1362
1371
  textAlign: "center"
1363
1372
  }
1364
1373
  })
1365
1374
  );
1366
- var KeyboardShortcut = (0, import_react26.memo)(function KeyboardShortcut2({
1375
+ var KeyboardShortcut = (0, import_react27.memo)(function KeyboardShortcut2({
1367
1376
  shortcut
1368
1377
  }) {
1369
1378
  const platform = useDesignSystemConfiguration().platform;
1370
1379
  const { keys, separator } = (0, import_noya_keymap.getShortcutDisplayParts)(shortcut, platform);
1371
- const keyElements = keys.map((key) => /* @__PURE__ */ import_react26.default.createElement(
1380
+ const keyElements = keys.map((key) => /* @__PURE__ */ import_react27.default.createElement(
1372
1381
  ShortcutElement,
1373
1382
  {
1374
1383
  key,
1375
- fixedWidth: platform === "mac" && key.length === 1
1384
+ $fixedWidth: platform === "mac" && key.length === 1
1376
1385
  },
1377
1386
  key
1378
1387
  ));
1379
- return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, separator ? withSeparatorElements(
1388
+ return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, separator ? withSeparatorElements(
1380
1389
  keyElements,
1381
- /* @__PURE__ */ import_react26.default.createElement(ShortcutElement, null, separator)
1390
+ /* @__PURE__ */ import_react27.default.createElement(ShortcutElement, null, separator)
1382
1391
  ) : keyElements);
1383
1392
  });
1384
1393
 
@@ -1393,7 +1402,7 @@ var CheckboxItemElement = (0, import_styled_components11.default)(RadixDropdownM
1393
1402
  var StyledItemIndicator = (0, import_styled_components11.default)(RadixDropdownMenu.ItemIndicator)(
1394
1403
  styles.itemIndicatorStyle
1395
1404
  );
1396
- var DropdownMenuItem = (0, import_react27.memo)(function ContextMenuItem({
1405
+ var DropdownMenuItem = (0, import_react28.memo)(function ContextMenuItem({
1397
1406
  value,
1398
1407
  children,
1399
1408
  onSelect,
@@ -1404,27 +1413,27 @@ var DropdownMenuItem = (0, import_react27.memo)(function ContextMenuItem({
1404
1413
  items,
1405
1414
  shortcut
1406
1415
  }) {
1407
- const handleSelectItem = (0, import_react27.useCallback)(() => {
1416
+ const handleSelectItem = (0, import_react28.useCallback)(() => {
1408
1417
  if (!value)
1409
1418
  return;
1410
1419
  onSelect(value);
1411
1420
  }, [onSelect, value]);
1412
1421
  if (checked) {
1413
- return /* @__PURE__ */ import_react27.default.createElement(
1422
+ return /* @__PURE__ */ import_react28.default.createElement(
1414
1423
  CheckboxItemElement,
1415
1424
  {
1416
1425
  checked,
1417
1426
  disabled,
1418
1427
  onSelect: handleSelectItem
1419
1428
  },
1420
- /* @__PURE__ */ import_react27.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react27.default.createElement(import_noya_icons.CheckIcon, null)),
1421
- icon && /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, icon, /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, { size: 8 })),
1429
+ /* @__PURE__ */ import_react28.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react28.default.createElement(import_noya_icons.CheckIcon, null)),
1430
+ icon && /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, icon, /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, { size: 8 })),
1422
1431
  children
1423
1432
  );
1424
1433
  }
1425
- const element = /* @__PURE__ */ import_react27.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, icon, /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react27.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react27.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react27.default.createElement(import_noya_icons.ChevronRightIcon, null)));
1434
+ const element = /* @__PURE__ */ import_react28.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, icon, /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react28.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react28.default.createElement(import_noya_icons.ChevronRightIcon, null)));
1426
1435
  if (items && items.length > 0) {
1427
- return /* @__PURE__ */ import_react27.default.createElement(
1436
+ return /* @__PURE__ */ import_react28.default.createElement(
1428
1437
  DropdownMenuRoot,
1429
1438
  {
1430
1439
  isNested: true,
@@ -1440,7 +1449,7 @@ var DropdownMenuItem = (0, import_react27.memo)(function ContextMenuItem({
1440
1449
  });
1441
1450
  var Content5 = (0, import_styled_components11.default)(RadixDropdownMenu.Content)(styles.contentStyle);
1442
1451
  var SubContent2 = (0, import_styled_components11.default)(RadixDropdownMenu.SubContent)(styles.contentStyle);
1443
- var DropdownMenuRoot = (0, import_react27.forwardRef)(function DropdownMenuRoot2({
1452
+ var DropdownMenuRoot = (0, import_react28.forwardRef)(function DropdownMenuRoot2({
1444
1453
  items,
1445
1454
  children,
1446
1455
  onSelect,
@@ -1458,7 +1467,7 @@ var DropdownMenuRoot = (0, import_react27.forwardRef)(function DropdownMenuRoot2
1458
1467
  const hasCheckedItem = items.some(
1459
1468
  (item) => item !== SEPARATOR_ITEM && item.checked
1460
1469
  );
1461
- const keymap = (0, import_react27.useMemo)(
1470
+ const keymap = (0, import_react28.useMemo)(
1462
1471
  () => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
1463
1472
  [isNested, items, onSelect, shouldBindKeyboardShortcuts]
1464
1473
  );
@@ -1466,8 +1475,8 @@ var DropdownMenuRoot = (0, import_react27.forwardRef)(function DropdownMenuRoot2
1466
1475
  const RootComponent = isNested ? RadixDropdownMenu.Sub : RadixDropdownMenu.Root;
1467
1476
  const TriggerComponent = isNested ? RadixDropdownMenu.SubTrigger : RadixDropdownMenu.Trigger;
1468
1477
  const ContentComponent = isNested ? SubContent2 : Content5;
1469
- const contentStyle = (0, import_react27.useMemo)(() => ({ zIndex: 1e3 }), []);
1470
- return /* @__PURE__ */ import_react27.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react27.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react27.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react27.default.createElement(
1478
+ const contentStyle = (0, import_react28.useMemo)(() => ({ zIndex: 1e3 }), []);
1479
+ return /* @__PURE__ */ import_react28.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react28.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react28.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react28.default.createElement(
1471
1480
  ContentComponent,
1472
1481
  {
1473
1482
  side,
@@ -1479,7 +1488,7 @@ var DropdownMenuRoot = (0, import_react27.forwardRef)(function DropdownMenuRoot2
1479
1488
  ...{ onCloseAutoFocus }
1480
1489
  },
1481
1490
  items.map(
1482
- (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react27.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react27.default.createElement(
1491
+ (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react28.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react28.default.createElement(
1483
1492
  DropdownMenuItem,
1484
1493
  {
1485
1494
  key: item.value ?? index,
@@ -1497,14 +1506,14 @@ var DropdownMenuRoot = (0, import_react27.forwardRef)(function DropdownMenuRoot2
1497
1506
  )
1498
1507
  )));
1499
1508
  });
1500
- var DropdownMenu = (0, import_react27.memo)(DropdownMenuRoot);
1509
+ var DropdownMenu = (0, import_react28.memo)(DropdownMenuRoot);
1501
1510
 
1502
1511
  // src/components/internal/TextInput.tsx
1503
1512
  var import_react_compose_refs = require("@radix-ui/react-compose-refs");
1504
- var import_react29 = __toESM(require("react"));
1513
+ var import_react30 = __toESM(require("react"));
1505
1514
 
1506
1515
  // src/contexts/GlobalInputBlurContext.tsx
1507
- var import_react28 = require("react");
1516
+ var import_react29 = require("react");
1508
1517
  var defaultValue = /* @__PURE__ */ (() => {
1509
1518
  const listeners = [];
1510
1519
  const value = {
@@ -1525,14 +1534,14 @@ var defaultValue = /* @__PURE__ */ (() => {
1525
1534
  };
1526
1535
  return value;
1527
1536
  })();
1528
- var GlobalInputBlurContext = (0, import_react28.createContext)(defaultValue);
1537
+ var GlobalInputBlurContext = (0, import_react29.createContext)(defaultValue);
1529
1538
  var GlobalInputBlurProvider = GlobalInputBlurContext.Provider;
1530
1539
  var useGlobalInputBlur = () => {
1531
- return (0, import_react28.useContext)(GlobalInputBlurContext);
1540
+ return (0, import_react29.useContext)(GlobalInputBlurContext);
1532
1541
  };
1533
1542
  function useGlobalInputBlurListener(f) {
1534
1543
  const context = useGlobalInputBlur();
1535
- (0, import_react28.useEffect)(() => {
1544
+ (0, import_react29.useEffect)(() => {
1536
1545
  context.addListener(f);
1537
1546
  return () => {
1538
1547
  context.removeListener(f);
@@ -1544,8 +1553,8 @@ function useGlobalInputBlurTrigger() {
1544
1553
  }
1545
1554
 
1546
1555
  // src/components/internal/TextInput.tsx
1547
- var ReadOnlyTextInput = (0, import_react29.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
1548
- return /* @__PURE__ */ import_react29.default.createElement(
1556
+ var ReadOnlyTextInput = (0, import_react30.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
1557
+ return /* @__PURE__ */ import_react30.default.createElement(
1549
1558
  "input",
1550
1559
  {
1551
1560
  ref: forwardedRef,
@@ -1556,7 +1565,7 @@ var ReadOnlyTextInput = (0, import_react29.forwardRef)(function ReadOnlyTextInpu
1556
1565
  }
1557
1566
  );
1558
1567
  });
1559
- var ControlledTextInput = (0, import_react29.forwardRef)(function ControlledTextInput2({
1568
+ var ControlledTextInput = (0, import_react30.forwardRef)(function ControlledTextInput2({
1560
1569
  onKeyDown,
1561
1570
  value,
1562
1571
  onChange,
@@ -1565,28 +1574,28 @@ var ControlledTextInput = (0, import_react29.forwardRef)(function ControlledText
1565
1574
  onFocusCapture,
1566
1575
  ...rest
1567
1576
  }, forwardedRef) {
1568
- const handleBlur = (0, import_react29.useCallback)(
1577
+ const handleBlur = (0, import_react30.useCallback)(
1569
1578
  (event) => {
1570
1579
  onBlur?.(event);
1571
1580
  onFocusChange?.(false);
1572
1581
  },
1573
1582
  [onBlur, onFocusChange]
1574
1583
  );
1575
- const handleFocusCapture = (0, import_react29.useCallback)(
1584
+ const handleFocusCapture = (0, import_react30.useCallback)(
1576
1585
  (event) => {
1577
1586
  onFocusCapture?.(event);
1578
1587
  onFocusChange?.(true);
1579
1588
  },
1580
1589
  [onFocusCapture, onFocusChange]
1581
1590
  );
1582
- return /* @__PURE__ */ import_react29.default.createElement(
1591
+ return /* @__PURE__ */ import_react30.default.createElement(
1583
1592
  "input",
1584
1593
  {
1585
1594
  ref: forwardedRef,
1586
1595
  ...rest,
1587
1596
  value,
1588
1597
  onKeyDown,
1589
- onChange: (0, import_react29.useCallback)(
1598
+ onChange: (0, import_react30.useCallback)(
1590
1599
  (event) => onChange(event.target.value),
1591
1600
  [onChange]
1592
1601
  ),
@@ -1595,7 +1604,7 @@ var ControlledTextInput = (0, import_react29.forwardRef)(function ControlledText
1595
1604
  }
1596
1605
  );
1597
1606
  });
1598
- var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTextInput2({
1607
+ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTextInput2({
1599
1608
  onKeyDown,
1600
1609
  value,
1601
1610
  onSubmit,
@@ -1606,16 +1615,16 @@ var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTe
1606
1615
  submitAutomaticallyAfterDelay,
1607
1616
  ...rest
1608
1617
  }, forwardedRef) {
1609
- const ref = import_react29.default.useRef(null);
1610
- const latestValue = (0, import_react29.useRef)(value);
1618
+ const ref = import_react30.default.useRef(null);
1619
+ const latestValue = (0, import_react30.useRef)(value);
1611
1620
  latestValue.current = value;
1612
- const userDidEdit = (0, import_react29.useRef)(false);
1613
- const isSubmitTriggeredByEscapeKey = (0, import_react29.useRef)(false);
1614
- const [internalValue, setInternalValue] = (0, import_react29.useState)("");
1615
- (0, import_react29.useLayoutEffect)(() => {
1621
+ const userDidEdit = (0, import_react30.useRef)(false);
1622
+ const isSubmitTriggeredByEscapeKey = (0, import_react30.useRef)(false);
1623
+ const [internalValue, setInternalValue] = (0, import_react30.useState)("");
1624
+ (0, import_react30.useLayoutEffect)(() => {
1616
1625
  setInternalValue(value);
1617
1626
  }, [value]);
1618
- const handleSubmit = (0, import_react29.useCallback)(() => {
1627
+ const handleSubmit = (0, import_react30.useCallback)(() => {
1619
1628
  const submissionValue = isSubmitTriggeredByEscapeKey.current ? value : internalValue;
1620
1629
  isSubmitTriggeredByEscapeKey.current = false;
1621
1630
  if (submissionValue === value && !allowSubmittingWithSameValue)
@@ -1625,13 +1634,13 @@ var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTe
1625
1634
  setInternalValue(latestValue.current);
1626
1635
  }, [allowSubmittingWithSameValue, value, internalValue, onSubmit]);
1627
1636
  useGlobalInputBlurListener(
1628
- (0, import_react29.useCallback)(() => {
1637
+ (0, import_react30.useCallback)(() => {
1629
1638
  if (ref.current !== document.activeElement)
1630
1639
  return;
1631
1640
  handleSubmit();
1632
1641
  }, [handleSubmit])
1633
1642
  );
1634
- const handleKeyDown = (0, import_react29.useCallback)(
1643
+ const handleKeyDown = (0, import_react30.useCallback)(
1635
1644
  (event) => {
1636
1645
  if (event.key === "Enter") {
1637
1646
  handleSubmit();
@@ -1646,14 +1655,14 @@ var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTe
1646
1655
  },
1647
1656
  [onKeyDown, handleSubmit]
1648
1657
  );
1649
- const handleChange = (0, import_react29.useCallback)(
1658
+ const handleChange = (0, import_react30.useCallback)(
1650
1659
  (event) => {
1651
1660
  userDidEdit.current = true;
1652
1661
  setInternalValue(event.target.value);
1653
1662
  },
1654
1663
  []
1655
1664
  );
1656
- const handleBlur = (0, import_react29.useCallback)(
1665
+ const handleBlur = (0, import_react30.useCallback)(
1657
1666
  (event) => {
1658
1667
  onBlur?.(event);
1659
1668
  onFocusChange?.(false);
@@ -1661,19 +1670,19 @@ var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTe
1661
1670
  },
1662
1671
  [onBlur, onFocusChange, handleSubmit]
1663
1672
  );
1664
- const handleFocusCapture = (0, import_react29.useCallback)(
1673
+ const handleFocusCapture = (0, import_react30.useCallback)(
1665
1674
  (event) => {
1666
1675
  onFocusCapture?.(event);
1667
1676
  onFocusChange?.(true);
1668
1677
  },
1669
1678
  [onFocusCapture, onFocusChange]
1670
1679
  );
1671
- const autoSubmitTimeoutRef = (0, import_react29.useRef)(
1680
+ const autoSubmitTimeoutRef = (0, import_react30.useRef)(
1672
1681
  null
1673
1682
  );
1674
- const latestHandleSubmit = (0, import_react29.useRef)(handleSubmit);
1683
+ const latestHandleSubmit = (0, import_react30.useRef)(handleSubmit);
1675
1684
  latestHandleSubmit.current = handleSubmit;
1676
- (0, import_react29.useEffect)(() => {
1685
+ (0, import_react30.useEffect)(() => {
1677
1686
  if (submitAutomaticallyAfterDelay) {
1678
1687
  if (autoSubmitTimeoutRef.current) {
1679
1688
  clearTimeout(autoSubmitTimeoutRef.current);
@@ -1690,7 +1699,7 @@ var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTe
1690
1699
  }
1691
1700
  };
1692
1701
  }, [internalValue, submitAutomaticallyAfterDelay]);
1693
- return /* @__PURE__ */ import_react29.default.createElement(
1702
+ return /* @__PURE__ */ import_react30.default.createElement(
1694
1703
  "input",
1695
1704
  {
1696
1705
  ref: (0, import_react_compose_refs.composeRefs)(ref, forwardedRef),
@@ -1703,13 +1712,13 @@ var SubmittableTextInput = (0, import_react29.forwardRef)(function SubmittableTe
1703
1712
  }
1704
1713
  );
1705
1714
  });
1706
- var TextInput_default = (0, import_react29.forwardRef)(function TextInput(props, forwardedRef) {
1715
+ var TextInput_default = (0, import_react30.forwardRef)(function TextInput(props, forwardedRef) {
1707
1716
  const commonProps = {
1708
- onPointerDown: (0, import_react29.useCallback)(
1717
+ onPointerDown: (0, import_react30.useCallback)(
1709
1718
  (event) => event.stopPropagation(),
1710
1719
  []
1711
1720
  ),
1712
- onClick: (0, import_react29.useCallback)(
1721
+ onClick: (0, import_react30.useCallback)(
1713
1722
  (event) => event.stopPropagation(),
1714
1723
  []
1715
1724
  ),
@@ -1722,17 +1731,17 @@ var TextInput_default = (0, import_react29.forwardRef)(function TextInput(props,
1722
1731
  ...props
1723
1732
  };
1724
1733
  if ("readOnly" in commonProps) {
1725
- return /* @__PURE__ */ import_react29.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
1734
+ return /* @__PURE__ */ import_react30.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
1726
1735
  } else if ("onChange" in commonProps) {
1727
- return /* @__PURE__ */ import_react29.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
1736
+ return /* @__PURE__ */ import_react30.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
1728
1737
  } else {
1729
- return /* @__PURE__ */ import_react29.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
1738
+ return /* @__PURE__ */ import_react30.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
1730
1739
  }
1731
1740
  });
1732
1741
 
1733
1742
  // src/components/Popover.tsx
1734
1743
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
1735
- var import_react30 = __toESM(require("react"));
1744
+ var import_react31 = __toESM(require("react"));
1736
1745
  var import_styled_components12 = __toESM(require("styled-components"));
1737
1746
  var ContentElement = (0, import_styled_components12.default)(PopoverPrimitive.Content)(({ theme, variant }) => ({
1738
1747
  borderRadius: 4,
@@ -1779,7 +1788,7 @@ function Popover({
1779
1788
  onFocusOutside,
1780
1789
  onClickClose
1781
1790
  }) {
1782
- return /* @__PURE__ */ import_react30.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react30.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react30.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react30.default.createElement(
1791
+ return /* @__PURE__ */ import_react31.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react31.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react31.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react31.default.createElement(
1783
1792
  ContentElement,
1784
1793
  {
1785
1794
  variant,
@@ -1801,13 +1810,13 @@ function Popover({
1801
1810
  }
1802
1811
  },
1803
1812
  children,
1804
- showArrow && /* @__PURE__ */ import_react30.default.createElement(ArrowElement, null),
1805
- closable && /* @__PURE__ */ import_react30.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react30.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
1813
+ showArrow && /* @__PURE__ */ import_react31.default.createElement(ArrowElement, null),
1814
+ closable && /* @__PURE__ */ import_react31.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react31.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
1806
1815
  )));
1807
1816
  }
1808
1817
 
1809
1818
  // src/components/InputField.tsx
1810
- var InputFieldContext = (0, import_react31.createContext)({
1819
+ var InputFieldContext = (0, import_react32.createContext)({
1811
1820
  labelPosition: "end",
1812
1821
  labelSize: 6,
1813
1822
  hasLabel: false,
@@ -1817,29 +1826,29 @@ var InputFieldContext = (0, import_react31.createContext)({
1817
1826
  onFocusChange: () => {
1818
1827
  }
1819
1828
  });
1820
- var LabelContainer = import_styled_components13.default.label(({ theme, labelPosition, hasDropdown, pointerEvents }) => ({
1829
+ var LabelContainer = import_styled_components13.default.label(({ theme, $labelPosition, $hasDropdown, pointerEvents }) => ({
1821
1830
  ...theme.textStyles.label,
1822
1831
  fontWeight: "bold",
1823
1832
  color: theme.colors.textDisabled,
1824
1833
  position: "absolute",
1825
1834
  top: 0,
1826
- right: labelPosition === "end" ? 0 : void 0,
1835
+ right: $labelPosition === "end" ? 0 : void 0,
1827
1836
  bottom: 0,
1828
- left: labelPosition === "start" ? 0 : void 0,
1837
+ left: $labelPosition === "start" ? 0 : void 0,
1829
1838
  display: "flex",
1830
1839
  alignItems: "center",
1831
1840
  pointerEvents,
1832
1841
  userSelect: "none",
1833
- ...labelPosition === "start" ? { justifyContent: "flex-start", paddingLeft: "6px" } : {
1842
+ ...$labelPosition === "start" ? { justifyContent: "flex-start", paddingLeft: "6px" } : {
1834
1843
  justifyContent: "flex-end",
1835
- paddingRight: hasDropdown ? "16px" : "6px"
1844
+ paddingRight: $hasDropdown ? "16px" : "6px"
1836
1845
  }
1837
1846
  }));
1838
- var InputFieldLabel = (0, import_react31.memo)(
1839
- (0, import_react31.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
1840
- const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react31.useContext)(InputFieldContext);
1841
- const ref = (0, import_react31.useRef)(null);
1842
- (0, import_react31.useLayoutEffect)(() => {
1847
+ var InputFieldLabel = (0, import_react32.memo)(
1848
+ (0, import_react32.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
1849
+ const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react32.useContext)(InputFieldContext);
1850
+ const ref = (0, import_react32.useRef)(null);
1851
+ (0, import_react32.useLayoutEffect)(() => {
1843
1852
  if (!setLabelWidth)
1844
1853
  return;
1845
1854
  const width = ref.current?.getBoundingClientRect().width;
@@ -1847,7 +1856,7 @@ var InputFieldLabel = (0, import_react31.memo)(
1847
1856
  return;
1848
1857
  setLabelWidth(width);
1849
1858
  }, [setLabelWidth]);
1850
- return /* @__PURE__ */ import_react31.default.createElement(
1859
+ return /* @__PURE__ */ import_react32.default.createElement(
1851
1860
  LabelContainer,
1852
1861
  {
1853
1862
  ref: (element) => {
@@ -1855,8 +1864,8 @@ var InputFieldLabel = (0, import_react31.memo)(
1855
1864
  assignRef(forwardedRef, element);
1856
1865
  },
1857
1866
  pointerEvents,
1858
- labelPosition,
1859
- hasDropdown,
1867
+ $labelPosition: labelPosition,
1868
+ $hasDropdown: hasDropdown,
1860
1869
  style: style3
1861
1870
  },
1862
1871
  children
@@ -1871,30 +1880,30 @@ var DropdownContainer = import_styled_components13.default.span(({ theme }) => (
1871
1880
  display: "flex",
1872
1881
  flexDirection: "column"
1873
1882
  }));
1874
- var InputFieldDropdownMenu = (0, import_react31.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
1875
- const { size: size2 } = (0, import_react31.useContext)(InputFieldContext);
1876
- const contentStyle = (0, import_react31.useMemo)(
1883
+ var InputFieldDropdownMenu = (0, import_react32.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
1884
+ const { size: size2 } = (0, import_react32.useContext)(InputFieldContext);
1885
+ const contentStyle = (0, import_react32.useMemo)(
1877
1886
  () => ({
1878
1887
  margin: "-4px 0",
1879
1888
  minHeight: size2 === "small" ? "15px" : void 0
1880
1889
  }),
1881
1890
  [size2]
1882
1891
  );
1883
- return /* @__PURE__ */ import_react31.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react31.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react31.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react31.default.createElement(import_noya_icons2.CaretDownIcon, null))));
1892
+ return /* @__PURE__ */ import_react32.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react32.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react32.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react32.default.createElement(import_noya_icons2.CaretDownIcon, null))));
1884
1893
  });
1885
1894
  var ButtonContainer = import_styled_components13.default.span(
1886
- ({ theme, size: size2 }) => ({
1895
+ ({ theme, $size }) => ({
1887
1896
  position: "absolute",
1888
- right: size2 === "large" ? "9px" : size2 === "medium" ? "4px" : "2px",
1889
- top: size2 === "large" ? "8px" : size2 === "medium" ? "4px" : "2px"
1897
+ right: $size === "large" ? "9px" : $size === "medium" ? "4px" : "2px",
1898
+ top: $size === "large" ? "8px" : $size === "medium" ? "4px" : "2px"
1890
1899
  })
1891
1900
  );
1892
- var InputFieldButton = (0, import_react31.memo)(function InputFieldButton2({
1901
+ var InputFieldButton = (0, import_react32.memo)(function InputFieldButton2({
1893
1902
  children,
1894
1903
  onClick
1895
1904
  }) {
1896
- const { size: size2, inputRef } = (0, import_react31.useContext)(InputFieldContext);
1897
- const defaultHandleClick = (0, import_react31.useCallback)(
1905
+ const { size: size2, inputRef } = (0, import_react32.useContext)(InputFieldContext);
1906
+ const defaultHandleClick = (0, import_react32.useCallback)(
1898
1907
  (event) => {
1899
1908
  if (inputRef && typeof inputRef !== "function") {
1900
1909
  inputRef.current?.focus();
@@ -1905,11 +1914,11 @@ var InputFieldButton = (0, import_react31.memo)(function InputFieldButton2({
1905
1914
  },
1906
1915
  [inputRef]
1907
1916
  );
1908
- const handlePointerDown = (0, import_react31.useCallback)((event) => {
1917
+ const handlePointerDown = (0, import_react32.useCallback)((event) => {
1909
1918
  event.preventDefault();
1910
1919
  event.stopPropagation();
1911
1920
  }, []);
1912
- return /* @__PURE__ */ import_react31.default.createElement(ButtonContainer, { size: size2 }, /* @__PURE__ */ import_react31.default.createElement(
1921
+ return /* @__PURE__ */ import_react32.default.createElement(ButtonContainer, { $size: size2 }, /* @__PURE__ */ import_react32.default.createElement(
1913
1922
  Button,
1914
1923
  {
1915
1924
  variant: "floating",
@@ -1920,42 +1929,26 @@ var InputFieldButton = (0, import_react31.memo)(function InputFieldButton2({
1920
1929
  children
1921
1930
  ));
1922
1931
  });
1923
- var createCrossSVGString = (0, import_noya_utils5.memoize)(
1924
- (color) => `<svg width='15' height='15' viewBox='0 0 15 15' fill='${color}' xmlns='http://www.w3.org/2000/svg'>
1925
- <path d='M0.877075 7.49988C0.877075 3.84219 3.84222 0.877045 7.49991 0.877045C11.1576 0.877045 14.1227 3.84219 14.1227 7.49988C14.1227 11.1575 11.1576 14.1227 7.49991 14.1227C3.84222 14.1227 0.877075 11.1575 0.877075 7.49988ZM7.49991 1.82704C4.36689 1.82704 1.82708 4.36686 1.82708 7.49988C1.82708 10.6329 4.36689 13.1727 7.49991 13.1727C10.6329 13.1727 13.1727 10.6329 13.1727 7.49988C13.1727 4.36686 10.6329 1.82704 7.49991 1.82704ZM9.85358 5.14644C10.0488 5.3417 10.0488 5.65829 9.85358 5.85355L8.20713 7.49999L9.85358 9.14644C10.0488 9.3417 10.0488 9.65829 9.85358 9.85355C9.65832 10.0488 9.34173 10.0488 9.14647 9.85355L7.50002 8.2071L5.85358 9.85355C5.65832 10.0488 5.34173 10.0488 5.14647 9.85355C4.95121 9.65829 4.95121 9.3417 5.14647 9.14644L6.79292 7.49999L5.14647 5.85355C4.95121 5.65829 4.95121 5.3417 5.14647 5.14644C5.34173 4.95118 5.65832 4.95118 5.85358 5.14644L7.50002 6.79289L9.14647 5.14644C9.34173 4.95118 9.65832 4.95118 9.85358 5.14644Z' fill-rule='evenodd' clip-rule='evenodd'></path>
1926
- </svg>`
1927
- );
1928
- var ignoredProps = /* @__PURE__ */ new Set([
1929
- "labelPosition",
1930
- "labelSize",
1931
- "hasLabel",
1932
- "hasDropdown",
1933
- "textAlign",
1934
- "variant",
1935
- "onNudge"
1936
- ]);
1937
- var InputElement = (0, import_styled_components13.default)(TextInput_default).withConfig({
1938
- shouldForwardProp: (prop) => ignoredProps.has(prop) ? false : true
1939
- })(
1940
- ({
1941
- theme,
1942
- labelPosition,
1943
- labelSize,
1944
- hasDropdown,
1945
- textAlign,
1946
- disabled,
1947
- hasLabel,
1948
- readOnly,
1949
- variant = "normal",
1950
- size: size2
1951
- }) => ({
1932
+ var InputElement = (0, import_styled_components13.default)(TextInput_default)(({
1933
+ theme,
1934
+ $labelPosition,
1935
+ $labelSize,
1936
+ $hasDropdown,
1937
+ $textAlign,
1938
+ disabled,
1939
+ $hasLabel,
1940
+ readOnly,
1941
+ $variant = "normal",
1942
+ $size
1943
+ }) => {
1944
+ return {
1952
1945
  // placeholder
1953
1946
  "&::placeholder": {
1954
1947
  color: theme.colors.textDisabled
1955
1948
  },
1956
1949
  ...theme.textStyles.small,
1957
1950
  color: readOnly ? theme.colors.textMuted : disabled ? theme.colors.textDisabled : theme.colors.text,
1958
- ...size2 === "small" && {
1951
+ ...$size === "small" && {
1959
1952
  fontSize: "11px"
1960
1953
  },
1961
1954
  width: "0px",
@@ -1965,18 +1958,18 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default).wi
1965
1958
  border: "0",
1966
1959
  outline: "none",
1967
1960
  minWidth: "0",
1968
- textAlign: textAlign ?? "left",
1961
+ textAlign: $textAlign ?? "left",
1969
1962
  alignSelf: "stretch",
1970
1963
  borderRadius: "4px",
1971
- paddingTop: size2 === "large" ? "10px" : size2 === "medium" ? "4px" : "1px",
1972
- paddingBottom: size2 === "large" ? "10px" : size2 === "medium" ? "4px" : "1px",
1973
- paddingLeft: (size2 === "large" ? 10 : size2 === "medium" ? 6 : 4) + (hasLabel && labelPosition === "start" ? 6 + labelSize : 0) + "px",
1974
- paddingRight: (size2 === "large" ? 10 : size2 === "medium" ? 6 : 4) + (hasLabel && labelPosition === "end" ? 6 + labelSize : 0) + (hasDropdown ? 11 : 0) + "px",
1964
+ paddingTop: $size === "large" ? "10px" : $size === "medium" ? "4px" : "1px",
1965
+ paddingBottom: $size === "large" ? "10px" : $size === "medium" ? "4px" : "1px",
1966
+ paddingLeft: ($size === "large" ? 10 : $size === "medium" ? 6 : 4) + ($hasLabel && $labelPosition === "start" ? 6 + $labelSize : 0) + "px",
1967
+ paddingRight: ($size === "large" ? 10 : $size === "medium" ? 6 : 4) + ($hasLabel && $labelPosition === "end" ? 6 + $labelSize : 0) + ($hasDropdown ? 11 : 0) + "px",
1975
1968
  background: theme.colors.inputBackground,
1976
1969
  "&:focus": {
1977
1970
  boxShadow: `0 0 0 2px ${theme.colors.primary}`
1978
1971
  },
1979
- ...variant === "bare" && {
1972
+ ...$variant === "bare" && {
1980
1973
  paddingTop: "4px",
1981
1974
  paddingRight: "4px",
1982
1975
  paddingBottom: "4px",
@@ -1985,18 +1978,18 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default).wi
1985
1978
  marginRight: "-4px",
1986
1979
  marginBottom: "-4px",
1987
1980
  marginLeft: "-4px"
1988
- },
1989
- '&[type="search"]::-webkit-search-cancel-button': {
1990
- appearance: "none",
1991
- height: "15px",
1992
- width: "15px",
1993
- background: `url("data:image/svg+xml;utf8,${createCrossSVGString(
1994
- theme.colors.icon
1995
- )}") no-repeat`
1996
1981
  }
1997
- })
1998
- );
1999
- var InputFieldInput = (0, import_react31.forwardRef)(function InputFieldInput2(props, forwardedRef) {
1982
+ // '&[type="search"]::-webkit-search-cancel-button': {
1983
+ // appearance: "none",
1984
+ // height: "15px",
1985
+ // width: "15px",
1986
+ // background: `url("data:image/svg+xml;utf8,${createCrossSVGString(
1987
+ // theme.colors.icon
1988
+ // )}") no-repeat`,
1989
+ // },
1990
+ };
1991
+ });
1992
+ var InputFieldInput = (0, import_react32.forwardRef)(function InputFieldInput2(props, forwardedRef) {
2000
1993
  const {
2001
1994
  labelPosition,
2002
1995
  labelSize,
@@ -2005,25 +1998,25 @@ var InputFieldInput = (0, import_react31.forwardRef)(function InputFieldInput2(p
2005
1998
  size: size2,
2006
1999
  onFocusChange,
2007
2000
  setInputRef
2008
- } = (0, import_react31.useContext)(InputFieldContext);
2009
- const handleFocusChange = (0, import_react31.useCallback)(
2001
+ } = (0, import_react32.useContext)(InputFieldContext);
2002
+ const handleFocusChange = (0, import_react32.useCallback)(
2010
2003
  (isFocused) => {
2011
2004
  onFocusChange(isFocused);
2012
2005
  },
2013
2006
  [onFocusChange]
2014
2007
  );
2015
- (0, import_react31.useLayoutEffect)(() => {
2008
+ (0, import_react32.useLayoutEffect)(() => {
2016
2009
  setInputRef?.(forwardedRef);
2017
2010
  }, [forwardedRef, setInputRef]);
2018
- return /* @__PURE__ */ import_react31.default.createElement(
2011
+ return /* @__PURE__ */ import_react32.default.createElement(
2019
2012
  InputElement,
2020
2013
  {
2021
2014
  ref: forwardedRef,
2022
- labelPosition,
2023
- labelSize,
2024
- hasLabel,
2025
- hasDropdown,
2026
- size: size2,
2015
+ $labelPosition: labelPosition,
2016
+ $labelSize: labelSize,
2017
+ $hasLabel: hasLabel,
2018
+ $hasDropdown: hasDropdown,
2019
+ $size: size2,
2027
2020
  onFocusChange: handleFocusChange,
2028
2021
  ...props
2029
2022
  }
@@ -2037,15 +2030,15 @@ var InputFieldTypeahead = (props) => {
2037
2030
  hasLabel,
2038
2031
  size: size2,
2039
2032
  onFocusChange
2040
- } = (0, import_react31.useContext)(InputFieldContext);
2041
- return /* @__PURE__ */ import_react31.default.createElement(
2033
+ } = (0, import_react32.useContext)(InputFieldContext);
2034
+ return /* @__PURE__ */ import_react32.default.createElement(
2042
2035
  InputElement,
2043
2036
  {
2044
- labelPosition,
2045
- labelSize,
2046
- hasLabel,
2047
- hasDropdown,
2048
- size: size2,
2037
+ $labelPosition: labelPosition,
2038
+ $labelSize: labelSize,
2039
+ $hasLabel: hasLabel,
2040
+ $hasDropdown: hasDropdown,
2041
+ $size: size2,
2049
2042
  onFocusChange,
2050
2043
  readOnly: true,
2051
2044
  placeholder: props.value,
@@ -2069,10 +2062,10 @@ function parseNumber(value) {
2069
2062
  return value ? Number(value) : NaN;
2070
2063
  }
2071
2064
  function InputFieldNumberInput(props) {
2072
- const { value, placeholder, onNudge } = props;
2065
+ const { value, placeholder, onNudge, ...rest } = props;
2073
2066
  const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
2074
2067
  const onChange = "onChange" in props ? props.onChange : void 0;
2075
- const handleSubmit = (0, import_react31.useCallback)(
2068
+ const handleSubmit = (0, import_react32.useCallback)(
2076
2069
  (value2) => {
2077
2070
  const newValue = parseNumber(value2);
2078
2071
  if (!isNaN(newValue)) {
@@ -2081,7 +2074,7 @@ function InputFieldNumberInput(props) {
2081
2074
  },
2082
2075
  [onSubmit]
2083
2076
  );
2084
- const handleKeyDown = (0, import_react31.useCallback)(
2077
+ const handleKeyDown = (0, import_react32.useCallback)(
2085
2078
  (event) => {
2086
2079
  const amount = handleNudge(event);
2087
2080
  if (!amount)
@@ -2092,16 +2085,16 @@ function InputFieldNumberInput(props) {
2092
2085
  },
2093
2086
  [onNudge]
2094
2087
  );
2095
- const handleChange = (0, import_react31.useCallback)(
2088
+ const handleChange = (0, import_react32.useCallback)(
2096
2089
  (value2) => {
2097
2090
  onChange?.(parseNumber(value2));
2098
2091
  },
2099
2092
  [onChange]
2100
2093
  );
2101
- return /* @__PURE__ */ import_react31.default.createElement(
2094
+ return /* @__PURE__ */ import_react32.default.createElement(
2102
2095
  InputFieldInput,
2103
2096
  {
2104
- ...props,
2097
+ ...rest,
2105
2098
  value: value === void 0 ? "" : String(value),
2106
2099
  placeholder,
2107
2100
  onKeyDown: handleKeyDown,
@@ -2110,12 +2103,12 @@ function InputFieldNumberInput(props) {
2110
2103
  );
2111
2104
  }
2112
2105
  var RootContainer = import_styled_components13.default.div(
2113
- ({ theme, flex, width }) => ({
2114
- flex: flex ?? "1",
2106
+ ({ theme, $flex, $width }) => ({
2107
+ flex: $flex ?? "1",
2115
2108
  display: "flex",
2116
2109
  flexDirection: "row",
2117
2110
  position: "relative",
2118
- maxWidth: typeof width === "number" ? `${width}px` : void 0
2111
+ maxWidth: typeof $width === "number" ? `${$width}px` : void 0
2119
2112
  })
2120
2113
  );
2121
2114
  function InputFieldRoot({
@@ -2129,32 +2122,32 @@ function InputFieldRoot({
2129
2122
  renderPopoverContent,
2130
2123
  onFocusChange
2131
2124
  }) {
2132
- const childrenArray = import_react31.Children.toArray(children);
2125
+ const childrenArray = import_react32.Children.toArray(children);
2133
2126
  const hasDropdown = childrenArray.some(
2134
- (child) => (0, import_react31.isValidElement)(child) && child.type === InputFieldDropdownMenu
2127
+ (child) => (0, import_react32.isValidElement)(child) && child.type === InputFieldDropdownMenu
2135
2128
  );
2136
2129
  const hasLabel = childrenArray.some(
2137
- (child) => (0, import_react31.isValidElement)(child) && child.type === InputFieldLabel
2130
+ (child) => (0, import_react32.isValidElement)(child) && child.type === InputFieldLabel
2138
2131
  );
2139
- const [isFocused, setIsFocused] = import_react31.default.useState(false);
2140
- const [measuredLabelSize, setMeasuredLabelSize] = import_react31.default.useState();
2141
- const [measuredWidth, setMeasuredWidth] = import_react31.default.useState();
2142
- const handleFocusChange = (0, import_react31.useCallback)(
2132
+ const [isFocused, setIsFocused] = import_react32.default.useState(false);
2133
+ const [measuredLabelSize, setMeasuredLabelSize] = import_react32.default.useState();
2134
+ const [measuredWidth, setMeasuredWidth] = import_react32.default.useState();
2135
+ const handleFocusChange = (0, import_react32.useCallback)(
2143
2136
  (isFocused2) => {
2144
2137
  setIsFocused(isFocused2);
2145
2138
  onFocusChange?.(isFocused2);
2146
2139
  },
2147
2140
  [onFocusChange]
2148
2141
  );
2149
- const [inputRef, setInputRef] = import_react31.default.useState();
2150
- (0, import_react31.useEffect)(() => {
2142
+ const [inputRef, setInputRef] = import_react32.default.useState();
2143
+ (0, import_react32.useEffect)(() => {
2151
2144
  if (inputRef && typeof inputRef !== "function") {
2152
2145
  setMeasuredWidth?.(
2153
2146
  isFocused ? inputRef?.current?.getBoundingClientRect().width : void 0
2154
2147
  );
2155
2148
  }
2156
2149
  }, [inputRef, isFocused]);
2157
- const contextValue = (0, import_react31.useMemo)(
2150
+ const contextValue = (0, import_react32.useMemo)(
2158
2151
  () => ({
2159
2152
  labelPosition,
2160
2153
  labelSize: measuredLabelSize ?? labelSize ?? 6,
@@ -2179,8 +2172,8 @@ function InputFieldRoot({
2179
2172
  inputRef
2180
2173
  ]
2181
2174
  );
2182
- const rootElement = /* @__PURE__ */ import_react31.default.createElement(RootContainer, { id, width, flex }, children);
2183
- return /* @__PURE__ */ import_react31.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react31.default.createElement(
2175
+ const rootElement = /* @__PURE__ */ import_react32.default.createElement(RootContainer, { id, $width: width, $flex: flex }, children);
2176
+ return /* @__PURE__ */ import_react32.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react32.default.createElement(
2184
2177
  Popover,
2185
2178
  {
2186
2179
  open: true,
@@ -2196,15 +2189,15 @@ function InputFieldRoot({
2196
2189
  event.stopPropagation();
2197
2190
  }
2198
2191
  },
2199
- measuredWidth && /* @__PURE__ */ import_react31.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
2192
+ measuredWidth && /* @__PURE__ */ import_react32.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
2200
2193
  ) : rootElement);
2201
2194
  }
2202
2195
  var InputField;
2203
2196
  ((InputField2) => {
2204
- InputField2.Root = (0, import_react31.memo)(InputFieldRoot);
2205
- InputField2.Input = (0, import_react31.memo)(InputFieldInput);
2206
- InputField2.Typeahead = (0, import_react31.memo)(InputFieldTypeahead);
2207
- InputField2.NumberInput = (0, import_react31.memo)(InputFieldNumberInput);
2197
+ InputField2.Root = (0, import_react32.memo)(InputFieldRoot);
2198
+ InputField2.Input = (0, import_react32.memo)(InputFieldInput);
2199
+ InputField2.Typeahead = (0, import_react32.memo)(InputFieldTypeahead);
2200
+ InputField2.NumberInput = (0, import_react32.memo)(InputFieldNumberInput);
2208
2201
  InputField2.DropdownMenu = InputFieldDropdownMenu;
2209
2202
  InputField2.Button = InputFieldButton;
2210
2203
  InputField2.Label = InputFieldLabel;
@@ -2228,24 +2221,24 @@ function createDeferredPromise() {
2228
2221
  });
2229
2222
  return { promise, resolve, reject };
2230
2223
  }
2231
- var DialogContext = (0, import_react32.createContext)(void 0);
2224
+ var DialogContext = (0, import_react33.createContext)(void 0);
2232
2225
  var DialogProvider = function DialogProvider2({
2233
2226
  children
2234
2227
  }) {
2235
- const [contents, setContents] = (0, import_react32.useState)();
2228
+ const [contents, setContents] = (0, import_react33.useState)();
2236
2229
  const isOpen = !!contents;
2237
- const close = (0, import_react32.useCallback)(() => {
2230
+ const close = (0, import_react33.useCallback)(() => {
2238
2231
  if (!contents)
2239
2232
  return;
2240
2233
  contents.resolve(void 0);
2241
2234
  }, [contents]);
2242
- const submit = (0, import_react32.useCallback)(() => {
2235
+ const submit = (0, import_react33.useCallback)(() => {
2243
2236
  if (!contents || !contents.inputValue)
2244
2237
  return;
2245
2238
  contents.resolve(contents.inputValue);
2246
2239
  setContents(void 0);
2247
2240
  }, [contents]);
2248
- const open = (0, import_react32.useCallback)(
2241
+ const open = (0, import_react33.useCallback)(
2249
2242
  (title, inputValue = "") => {
2250
2243
  const { promise, resolve } = createDeferredPromise();
2251
2244
  setContents({
@@ -2260,7 +2253,7 @@ var DialogProvider = function DialogProvider2({
2260
2253
  },
2261
2254
  []
2262
2255
  );
2263
- const handleKeyDown = (0, import_react32.useCallback)(
2256
+ const handleKeyDown = (0, import_react33.useCallback)(
2264
2257
  (event) => {
2265
2258
  if (event.key !== "Enter")
2266
2259
  return;
@@ -2270,29 +2263,29 @@ var DialogProvider = function DialogProvider2({
2270
2263
  },
2271
2264
  [submit]
2272
2265
  );
2273
- const inputRef = (0, import_react32.useRef)(null);
2274
- const dialogRef = (0, import_react32.useRef)(null);
2275
- const containsElement = (0, import_react32.useCallback)((element) => {
2266
+ const inputRef = (0, import_react33.useRef)(null);
2267
+ const dialogRef = (0, import_react33.useRef)(null);
2268
+ const containsElement = (0, import_react33.useCallback)((element) => {
2276
2269
  if (!dialogRef.current)
2277
2270
  return false;
2278
2271
  return dialogRef.current.containsElement(element);
2279
2272
  }, []);
2280
- return /* @__PURE__ */ import_react32.default.createElement(import_react32.default.Fragment, null, /* @__PURE__ */ import_react32.default.createElement(
2273
+ return /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(
2281
2274
  DialogContext.Provider,
2282
2275
  {
2283
- value: (0, import_react32.useMemo)(
2276
+ value: (0, import_react33.useMemo)(
2284
2277
  () => ({ openInputDialog: open, containsElement }),
2285
2278
  [containsElement, open]
2286
2279
  )
2287
2280
  },
2288
2281
  children
2289
- ), /* @__PURE__ */ import_react32.default.createElement(
2282
+ ), /* @__PURE__ */ import_react33.default.createElement(
2290
2283
  Dialog,
2291
2284
  {
2292
2285
  ref: dialogRef,
2293
2286
  title: contents?.title,
2294
2287
  open: isOpen,
2295
- onOpenChange: (0, import_react32.useCallback)(
2288
+ onOpenChange: (0, import_react33.useCallback)(
2296
2289
  (isOpen2) => {
2297
2290
  if (!isOpen2) {
2298
2291
  close();
@@ -2300,14 +2293,14 @@ var DialogProvider = function DialogProvider2({
2300
2293
  },
2301
2294
  [close]
2302
2295
  ),
2303
- onOpenAutoFocus: (0, import_react32.useCallback)((event) => {
2296
+ onOpenAutoFocus: (0, import_react33.useCallback)((event) => {
2304
2297
  event.stopPropagation();
2305
2298
  event.preventDefault();
2306
2299
  inputRef.current?.focus();
2307
2300
  inputRef.current?.setSelectionRange(0, inputRef.current.value.length);
2308
2301
  }, [])
2309
2302
  },
2310
- /* @__PURE__ */ import_react32.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react32.default.createElement(
2303
+ /* @__PURE__ */ import_react33.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react33.default.createElement(
2311
2304
  InputField.Input,
2312
2305
  {
2313
2306
  ref: inputRef,
@@ -2323,12 +2316,12 @@ var DialogProvider = function DialogProvider2({
2323
2316
  onKeyDown: handleKeyDown
2324
2317
  }
2325
2318
  )),
2326
- /* @__PURE__ */ import_react32.default.createElement(Spacer.Vertical, { size: 20 }),
2327
- /* @__PURE__ */ import_react32.default.createElement(Row, null, /* @__PURE__ */ import_react32.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react32.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react32.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react32.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
2319
+ /* @__PURE__ */ import_react33.default.createElement(Spacer.Vertical, { size: 20 }),
2320
+ /* @__PURE__ */ import_react33.default.createElement(Row, null, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react33.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react33.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
2328
2321
  ));
2329
2322
  };
2330
2323
  function useDialog() {
2331
- const value = (0, import_react32.useContext)(DialogContext);
2324
+ const value = (0, import_react33.useContext)(DialogContext);
2332
2325
  if (!value) {
2333
2326
  throw new Error("Missing DialogProvider");
2334
2327
  }
@@ -2342,21 +2335,21 @@ function useDialogContainsElement() {
2342
2335
  }
2343
2336
 
2344
2337
  // src/contexts/FloatingWindowContext.tsx
2345
- var import_noya_utils6 = require("@noya-app/noya-utils");
2346
- var import_react33 = __toESM(require("react"));
2338
+ var import_noya_utils5 = require("@noya-app/noya-utils");
2339
+ var import_react34 = __toESM(require("react"));
2347
2340
  var import_react_dom = require("react-dom");
2348
- var FloatingWindowContext = (0, import_react33.createContext)(void 0);
2349
- var CurrentWindowContext = (0, import_react33.createContext)(void 0);
2341
+ var FloatingWindowContext = (0, import_react34.createContext)(void 0);
2342
+ var CurrentWindowContext = (0, import_react34.createContext)(void 0);
2350
2343
  var FloatingWindowProvider = ({
2351
2344
  children
2352
2345
  }) => {
2353
- const [windows, setWindows] = (0, import_react33.useState)({});
2354
- const contextValue = (0, import_react33.useMemo)(() => {
2346
+ const [windows, setWindows] = (0, import_react34.useState)({});
2347
+ const contextValue = (0, import_react34.useMemo)(() => {
2355
2348
  const createWindow = (element) => {
2356
- const id = (0, import_noya_utils6.uuid)();
2349
+ const id = (0, import_noya_utils5.uuid)();
2357
2350
  setWindows((windows2) => ({
2358
2351
  ...windows2,
2359
- [id]: /* @__PURE__ */ import_react33.default.createElement(CurrentWindowContext.Provider, { value: { id } }, element)
2352
+ [id]: /* @__PURE__ */ import_react34.default.createElement(CurrentWindowContext.Provider, { value: { id } }, element)
2360
2353
  }));
2361
2354
  return id;
2362
2355
  };
@@ -2368,12 +2361,12 @@ var FloatingWindowProvider = ({
2368
2361
  };
2369
2362
  return { createWindow, closeWindow };
2370
2363
  }, []);
2371
- return /* @__PURE__ */ import_react33.default.createElement(FloatingWindowContext.Provider, { value: contextValue }, children, Object.entries(windows).map(
2364
+ return /* @__PURE__ */ import_react34.default.createElement(FloatingWindowContext.Provider, { value: contextValue }, children, Object.entries(windows).map(
2372
2365
  ([id, element]) => (0, import_react_dom.createPortal)(element, document.body, id)
2373
2366
  ));
2374
2367
  };
2375
2368
  var useFloatingWindowManager = () => {
2376
- const context = (0, import_react33.useContext)(FloatingWindowContext);
2369
+ const context = (0, import_react34.useContext)(FloatingWindowContext);
2377
2370
  if (!context) {
2378
2371
  throw new Error(
2379
2372
  "useFloatingWindow must be used within a FloatingWindowProvider"
@@ -2382,7 +2375,7 @@ var useFloatingWindowManager = () => {
2382
2375
  return context;
2383
2376
  };
2384
2377
  var useCurrentFloatingWindowInternal = () => {
2385
- const context = (0, import_react33.useContext)(CurrentWindowContext);
2378
+ const context = (0, import_react34.useContext)(CurrentWindowContext);
2386
2379
  if (!context) {
2387
2380
  throw new Error("useCurrentWindow must be used within a FloatingWindow");
2388
2381
  }
@@ -2390,56 +2383,60 @@ var useCurrentFloatingWindowInternal = () => {
2390
2383
  };
2391
2384
 
2392
2385
  // src/contexts/DesignSystemConfiguration.tsx
2393
- var DesignSystemThemeProvider = (0, import_react34.memo)(
2386
+ var DesignSystemThemeProvider = (0, import_react35.memo)(
2394
2387
  function DesignSystemThemeProvider2({
2395
2388
  children,
2396
2389
  theme
2397
2390
  }) {
2398
- const parentTheme = (0, import_styled_components15.useTheme)();
2391
+ let parentTheme;
2392
+ try {
2393
+ parentTheme = (0, import_styled_components15.useTheme)();
2394
+ } catch (e) {
2395
+ }
2399
2396
  if (theme) {
2400
- return /* @__PURE__ */ import_react34.default.createElement(import_styled_components15.ThemeProvider, { theme }, children);
2397
+ return /* @__PURE__ */ import_react35.default.createElement(import_styled_components15.ThemeProvider, { theme }, children);
2401
2398
  } else if (parentTheme) {
2402
2399
  return children;
2403
2400
  } else {
2404
- return /* @__PURE__ */ import_react34.default.createElement(import_styled_components15.ThemeProvider, { theme: light_exports }, children);
2401
+ return /* @__PURE__ */ import_react35.default.createElement(import_styled_components15.ThemeProvider, { theme: light_exports }, children);
2405
2402
  }
2406
2403
  }
2407
2404
  );
2408
- var DesignSystemConfigurationContext = (0, import_react34.createContext)({
2405
+ var DesignSystemConfigurationContext = (0, import_react35.createContext)({
2409
2406
  platform: "key"
2410
2407
  });
2411
- var DesignSystemConfigurationProvider = (0, import_react34.memo)(
2408
+ var DesignSystemConfigurationProvider = (0, import_react35.memo)(
2412
2409
  function DesignSystemConfigurationProvider2({
2413
2410
  children,
2414
2411
  theme = light_exports,
2415
2412
  platform
2416
2413
  }) {
2417
- const [internalPlatform, setInternalPlatform] = (0, import_react34.useState)(
2414
+ const [internalPlatform, setInternalPlatform] = (0, import_react35.useState)(
2418
2415
  platform ?? "key"
2419
2416
  );
2420
- (0, import_react34.useEffect)(() => {
2417
+ (0, import_react35.useEffect)(() => {
2421
2418
  if (platform !== void 0)
2422
2419
  return;
2423
2420
  if (typeof navigator !== "undefined") {
2424
2421
  setInternalPlatform((0, import_noya_keymap3.getCurrentPlatform)(navigator));
2425
2422
  }
2426
2423
  }, [platform]);
2427
- const contextValue = (0, import_react34.useMemo)(
2424
+ const contextValue = (0, import_react35.useMemo)(
2428
2425
  () => ({ platform: platform ?? internalPlatform }),
2429
2426
  [platform, internalPlatform]
2430
2427
  );
2431
- return /* @__PURE__ */ import_react34.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react34.default.createElement(import_styled_components15.ThemeProvider, { theme }, /* @__PURE__ */ import_react34.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react34.default.createElement(ToastProvider, null, /* @__PURE__ */ import_react34.default.createElement(FloatingWindowProvider, null, children)))));
2428
+ return /* @__PURE__ */ import_react35.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react35.default.createElement(import_styled_components15.ThemeProvider, { theme }, /* @__PURE__ */ import_react35.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react35.default.createElement(ToastProvider, null, /* @__PURE__ */ import_react35.default.createElement(FloatingWindowProvider, null, children)))));
2432
2429
  }
2433
2430
  );
2434
2431
  function useDesignSystemConfiguration() {
2435
- return (0, import_react34.useContext)(DesignSystemConfigurationContext);
2432
+ return (0, import_react35.useContext)(DesignSystemConfigurationContext);
2436
2433
  }
2437
2434
  function useDesignSystemTheme() {
2438
2435
  return (0, import_styled_components15.useTheme)();
2439
2436
  }
2440
2437
 
2441
2438
  // src/hooks/useHover.ts
2442
- var React20 = __toESM(require("react"));
2439
+ var React21 = __toESM(require("react"));
2443
2440
  var globalIgnoreEmulatedMouseEvents = false;
2444
2441
  var hoverCount = 0;
2445
2442
  function setGlobalIgnoreEmulatedMouseEvents() {
@@ -2469,13 +2466,13 @@ function setupGlobalTouchEvents() {
2469
2466
  }
2470
2467
  function useHover(props = {}) {
2471
2468
  const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;
2472
- const [isHovered, setHovered] = React20.useState(false);
2473
- const state = React20.useRef({
2469
+ const [isHovered, setHovered] = React21.useState(false);
2470
+ const state = React21.useRef({
2474
2471
  isHovered: false,
2475
2472
  ignoreEmulatedMouseEvents: false
2476
2473
  }).current;
2477
- React20.useEffect(setupGlobalTouchEvents, []);
2478
- const hoverProps = React20.useMemo(
2474
+ React21.useEffect(setupGlobalTouchEvents, []);
2475
+ const hoverProps = React21.useMemo(
2479
2476
  function getHoverProps() {
2480
2477
  function triggerHoverStart(event, pointerType) {
2481
2478
  if (isDisabled || pointerType === "touch" || state.isHovered) {
@@ -2535,10 +2532,10 @@ function useHover(props = {}) {
2535
2532
  }
2536
2533
 
2537
2534
  // src/components/Chip.tsx
2538
- var ChipElement = import_styled_components16.default.span(({ theme, colorScheme, size: size2, variant, monospace, isInteractive }) => {
2539
- const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2540
- const backgroundColor = colorScheme === "primary" ? "rgb(238, 229, 255)" : colorScheme === "secondary" ? "rgb(205, 238, 231)" : colorScheme === "error" ? "rgb(255, 219, 219)" : theme.colors.inputBackground;
2541
- const subtleColor = colorScheme === "primary" ? "rgba(238, 229, 255, 0.2)" : colorScheme === "secondary" ? "rgba(205, 238, 231, 0.2)" : colorScheme === "error" ? "rgba(255, 219, 219, 0.2)" : "rgba(0, 0, 0, 0.1)";
2535
+ var ChipElement = import_styled_components16.default.span(({ theme, $colorScheme, $size, $variant, $monospace, $isInteractive }) => {
2536
+ const color = $colorScheme === "primary" ? theme.colors.primary : $colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2537
+ const backgroundColor = $colorScheme === "primary" ? "rgb(238, 229, 255)" : $colorScheme === "secondary" ? "rgb(205, 238, 231)" : $colorScheme === "error" ? "rgb(255, 219, 219)" : theme.colors.inputBackground;
2538
+ const subtleColor = $colorScheme === "primary" ? "rgba(238, 229, 255, 0.2)" : $colorScheme === "secondary" ? "rgba(205, 238, 231, 0.2)" : $colorScheme === "error" ? "rgba(255, 219, 219, 0.2)" : "rgba(0, 0, 0, 0.1)";
2542
2539
  return {
2543
2540
  textTransform: "initial",
2544
2541
  borderRadius: 4,
@@ -2547,7 +2544,7 @@ var ChipElement = import_styled_components16.default.span(({ theme, colorScheme,
2547
2544
  alignItems: "center",
2548
2545
  lineHeight: "1.4",
2549
2546
  whiteSpace: "pre",
2550
- ...size2 === "medium" ? {
2547
+ ...$size === "medium" ? {
2551
2548
  fontSize: "11px",
2552
2549
  padding: "4px 8px"
2553
2550
  } : {
@@ -2555,24 +2552,24 @@ var ChipElement = import_styled_components16.default.span(({ theme, colorScheme,
2555
2552
  padding: "0px 4px",
2556
2553
  lineHeight: "15px"
2557
2554
  },
2558
- ...monospace && {
2555
+ ...$monospace && {
2559
2556
  fontFamily: theme.fonts.monospace
2560
2557
  },
2561
- ...variant === "solid" ? {
2558
+ ...$variant === "solid" ? {
2562
2559
  color,
2563
2560
  backgroundColor
2564
- } : variant === "outlined" ? {
2561
+ } : $variant === "outlined" ? {
2565
2562
  color,
2566
2563
  backgroundColor: "transparent",
2567
2564
  boxShadow: `0 0 0 1px ${subtleColor} inset`
2568
2565
  } : {},
2569
2566
  "&:hover": {
2570
- ...variant === "outlined" && {
2567
+ ...$variant === "outlined" && {
2571
2568
  backgroundColor: subtleColor,
2572
2569
  boxShadow: "none"
2573
2570
  }
2574
2571
  },
2575
- ...isInteractive && {
2572
+ ...$isInteractive && {
2576
2573
  cursor: "pointer",
2577
2574
  "&:hover": {
2578
2575
  opacity: 0.85
@@ -2596,9 +2593,9 @@ var DeleteElement = (0, import_styled_components16.default)(import_noya_icons3.C
2596
2593
  opacity: 0.85
2597
2594
  }
2598
2595
  }));
2599
- var ignoredProps2 = /* @__PURE__ */ new Set(["size", "isOnlyChild"]);
2596
+ var ignoredProps = /* @__PURE__ */ new Set(["size", "isOnlyChild"]);
2600
2597
  var AddElement = (0, import_styled_components16.default)(import_noya_icons3.PlusIcon).withConfig({
2601
- shouldForwardProp: (prop) => !ignoredProps2.has(prop)
2598
+ shouldForwardProp: (prop) => !ignoredProps.has(prop)
2602
2599
  })(({ size: size2, isOnlyChild }) => ({
2603
2600
  position: "relative",
2604
2601
  marginLeft: "-2px",
@@ -2616,7 +2613,7 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
2616
2613
  opacity: 0.85
2617
2614
  }
2618
2615
  }));
2619
- var Chip = (0, import_react35.memo)(function Chip2({
2616
+ var Chip = (0, import_react36.memo)(function Chip2({
2620
2617
  colorScheme,
2621
2618
  children,
2622
2619
  deletable,
@@ -2637,19 +2634,19 @@ var Chip = (0, import_react35.memo)(function Chip2({
2637
2634
  });
2638
2635
  const handleClick = !children && !deletable && addable ? onAdd : onClick;
2639
2636
  const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2640
- return /* @__PURE__ */ import_react35.default.createElement(
2637
+ return /* @__PURE__ */ import_react36.default.createElement(
2641
2638
  ChipElement,
2642
2639
  {
2643
- variant,
2644
- colorScheme,
2640
+ $variant: variant,
2641
+ $colorScheme: colorScheme,
2645
2642
  style: style3,
2646
2643
  onClick: handleClick,
2647
- size: size2,
2648
- monospace,
2649
- isInteractive: !!handleClick,
2644
+ $size: size2,
2645
+ $monospace: monospace,
2646
+ $isInteractive: !!handleClick,
2650
2647
  tabIndex
2651
2648
  },
2652
- addable && /* @__PURE__ */ import_react35.default.createElement(
2649
+ addable && /* @__PURE__ */ import_react36.default.createElement(
2653
2650
  AddElement,
2654
2651
  {
2655
2652
  size: size2,
@@ -2662,7 +2659,7 @@ var Chip = (0, import_react35.memo)(function Chip2({
2662
2659
  }
2663
2660
  ),
2664
2661
  children,
2665
- deletable && /* @__PURE__ */ import_react35.default.createElement(
2662
+ deletable && /* @__PURE__ */ import_react36.default.createElement(
2666
2663
  DeleteElement,
2667
2664
  {
2668
2665
  size: size2,
@@ -2681,7 +2678,7 @@ var Chip = (0, import_react35.memo)(function Chip2({
2681
2678
  var import_noya_icons4 = require("@noya-app/noya-icons");
2682
2679
  var import_noya_keymap4 = require("@noya-app/noya-keymap");
2683
2680
  var RadixContextMenu = __toESM(require("@radix-ui/react-context-menu"));
2684
- var import_react36 = __toESM(require("react"));
2681
+ var import_react37 = __toESM(require("react"));
2685
2682
  var import_styled_components17 = __toESM(require("styled-components"));
2686
2683
  var SeparatorElement2 = (0, import_styled_components17.default)(RadixContextMenu.Separator)(
2687
2684
  styles.separatorStyle
@@ -2693,7 +2690,7 @@ var CheckboxItemElement2 = (0, import_styled_components17.default)(RadixContextM
2693
2690
  var StyledItemIndicator2 = (0, import_styled_components17.default)(RadixContextMenu.ItemIndicator)(
2694
2691
  styles.itemIndicatorStyle
2695
2692
  );
2696
- var ContextMenuItem2 = (0, import_react36.memo)(function ContextMenuItem3({
2693
+ var ContextMenuItem2 = (0, import_react37.memo)(function ContextMenuItem3({
2697
2694
  value,
2698
2695
  children,
2699
2696
  onSelect,
@@ -2704,42 +2701,42 @@ var ContextMenuItem2 = (0, import_react36.memo)(function ContextMenuItem3({
2704
2701
  items,
2705
2702
  shortcut
2706
2703
  }) {
2707
- const handlePointerDown = (0, import_react36.useCallback)(
2704
+ const handlePointerDown = (0, import_react37.useCallback)(
2708
2705
  (event) => event.stopPropagation(),
2709
2706
  []
2710
2707
  );
2711
- const handleSelectItem = (0, import_react36.useCallback)(() => {
2708
+ const handleSelectItem = (0, import_react37.useCallback)(() => {
2712
2709
  if (!value)
2713
2710
  return;
2714
2711
  onSelect(value);
2715
2712
  }, [onSelect, value]);
2716
2713
  if (checked) {
2717
- return /* @__PURE__ */ import_react36.default.createElement(
2714
+ return /* @__PURE__ */ import_react37.default.createElement(
2718
2715
  CheckboxItemElement2,
2719
2716
  {
2720
2717
  checked,
2721
2718
  disabled,
2722
2719
  onSelect: handleSelectItem
2723
2720
  },
2724
- /* @__PURE__ */ import_react36.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react36.default.createElement(import_noya_icons4.CheckIcon, null)),
2721
+ /* @__PURE__ */ import_react37.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react37.default.createElement(import_noya_icons4.CheckIcon, null)),
2725
2722
  children
2726
2723
  );
2727
2724
  }
2728
- const element = /* @__PURE__ */ import_react36.default.createElement(
2725
+ const element = /* @__PURE__ */ import_react37.default.createElement(
2729
2726
  ItemElement2,
2730
2727
  {
2731
2728
  disabled,
2732
2729
  onSelect: handleSelectItem,
2733
2730
  onPointerDown: handlePointerDown
2734
2731
  },
2735
- indented && /* @__PURE__ */ import_react36.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
2736
- icon && /* @__PURE__ */ import_react36.default.createElement(import_react36.default.Fragment, null, icon, /* @__PURE__ */ import_react36.default.createElement(Spacer.Horizontal, { size: 8 })),
2732
+ indented && /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
2733
+ icon && /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, icon, /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, { size: 8 })),
2737
2734
  children,
2738
- shortcut && /* @__PURE__ */ import_react36.default.createElement(import_react36.default.Fragment, null, /* @__PURE__ */ import_react36.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react36.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react36.default.createElement(KeyboardShortcut, { shortcut })),
2739
- items && items.length > 0 && /* @__PURE__ */ import_react36.default.createElement(import_react36.default.Fragment, null, /* @__PURE__ */ import_react36.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react36.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react36.default.createElement(import_noya_icons4.ChevronRightIcon, null))
2735
+ shortcut && /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react37.default.createElement(KeyboardShortcut, { shortcut })),
2736
+ items && items.length > 0 && /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react37.default.createElement(import_noya_icons4.ChevronRightIcon, null))
2740
2737
  );
2741
2738
  if (items && items.length > 0) {
2742
- return /* @__PURE__ */ import_react36.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
2739
+ return /* @__PURE__ */ import_react37.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
2743
2740
  } else {
2744
2741
  return element;
2745
2742
  }
@@ -2757,19 +2754,19 @@ function ContextMenuRoot({
2757
2754
  const hasCheckedItem = items.some(
2758
2755
  (item) => item !== SEPARATOR_ITEM && item.checked
2759
2756
  );
2760
- const keymap = (0, import_react36.useMemo)(
2757
+ const keymap = (0, import_react37.useMemo)(
2761
2758
  () => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
2762
2759
  [isNested, items, onSelect, shouldBindKeyboardShortcuts]
2763
2760
  );
2764
2761
  (0, import_noya_keymap4.useKeyboardShortcuts)(keymap);
2765
- const onPointerDown = (0, import_react36.useCallback)((event) => {
2762
+ const onPointerDown = (0, import_react37.useCallback)((event) => {
2766
2763
  event.preventDefault();
2767
2764
  }, []);
2768
2765
  const RootComponent = isNested ? RadixContextMenu.Sub : RadixContextMenu.Root;
2769
2766
  const TriggerComponent = isNested ? RadixContextMenu.SubTrigger : RadixContextMenu.Trigger;
2770
2767
  const ContentComponent = isNested ? SubContent4 : Content8;
2771
- return /* @__PURE__ */ import_react36.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react36.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react36.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react36.default.createElement(ContentComponent, null, items.map(
2772
- (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react36.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react36.default.createElement(
2768
+ return /* @__PURE__ */ import_react37.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react37.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react37.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react37.default.createElement(ContentComponent, null, items.map(
2769
+ (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react37.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react37.default.createElement(
2773
2770
  ContextMenuItem2,
2774
2771
  {
2775
2772
  key: item.value ?? index,
@@ -2786,26 +2783,50 @@ function ContextMenuRoot({
2786
2783
  )
2787
2784
  ))));
2788
2785
  }
2789
- var ContextMenu = (0, import_react36.memo)(ContextMenuRoot);
2786
+ var ContextMenu = (0, import_react37.memo)(ContextMenuRoot);
2790
2787
 
2791
2788
  // src/components/Divider.tsx
2792
- var import_react37 = __toESM(require("react"));
2789
+ var import_react38 = __toESM(require("react"));
2793
2790
  var import_styled_components18 = __toESM(require("styled-components"));
2794
- var DividerContainer = import_styled_components18.default.div(({ theme, variant = "normal", orientation, overflow = 0 }) => ({
2795
- ...orientation === "horizontal" ? { height: "1px", minHeight: "1px", margin: `0px -${overflow}px` } : { width: "1px", minWidth: "1px", margin: `-${overflow}px 0px` },
2796
- background: variant === "strong" ? theme.colors.dividerStrong : variant === "subtle" ? theme.colors.dividerSubtle : theme.colors.divider,
2791
+ var DividerContainer = import_styled_components18.default.div(({ theme, $variant = "normal", $orientation, $overflow = 0 }) => ({
2792
+ ...$orientation === "horizontal" ? { height: "1px", minHeight: "1px", margin: `0px -${$overflow}px` } : { width: "1px", minWidth: "1px", margin: `-${$overflow}px 0px` },
2793
+ background: $variant === "strong" ? theme.colors.dividerStrong : $variant === "subtle" ? theme.colors.dividerSubtle : theme.colors.divider,
2797
2794
  alignSelf: "stretch"
2798
2795
  }));
2799
- var Divider = (0, import_react37.memo)(function Divider2(props) {
2800
- return /* @__PURE__ */ import_react37.default.createElement(DividerContainer, { orientation: "horizontal", ...props });
2796
+ var Divider = (0, import_react38.memo)(function Divider2({
2797
+ variant,
2798
+ overflow,
2799
+ ...props
2800
+ }) {
2801
+ return /* @__PURE__ */ import_react38.default.createElement(
2802
+ DividerContainer,
2803
+ {
2804
+ $orientation: "horizontal",
2805
+ $variant: variant,
2806
+ $overflow: overflow,
2807
+ ...props
2808
+ }
2809
+ );
2801
2810
  });
2802
- var DividerVertical = (0, import_react37.memo)(function DividerVertical2(props) {
2803
- return /* @__PURE__ */ import_react37.default.createElement(DividerContainer, { orientation: "vertical", ...props });
2811
+ var DividerVertical = (0, import_react38.memo)(function DividerVertical2({
2812
+ variant,
2813
+ overflow,
2814
+ ...props
2815
+ }) {
2816
+ return /* @__PURE__ */ import_react38.default.createElement(
2817
+ DividerContainer,
2818
+ {
2819
+ $orientation: "vertical",
2820
+ $variant: variant,
2821
+ $overflow: overflow,
2822
+ ...props
2823
+ }
2824
+ );
2804
2825
  });
2805
2826
 
2806
2827
  // src/components/DraggableMenuButton.tsx
2807
2828
  var import_noya_icons5 = require("@noya-app/noya-icons");
2808
- var import_react38 = __toESM(require("react"));
2829
+ var import_react39 = __toESM(require("react"));
2809
2830
  var import_styled_components19 = __toESM(require("styled-components"));
2810
2831
  var DotButtonElement = import_styled_components19.default.div(({ theme }) => ({
2811
2832
  cursor: "pointer",
@@ -2825,15 +2846,15 @@ var TriggerElement = import_styled_components19.default.div({
2825
2846
  pointerEvents: "none",
2826
2847
  height: "15px"
2827
2848
  });
2828
- var DraggableMenuButton = (0, import_react38.memo)(function DraggableMenuButton2({
2849
+ var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2({
2829
2850
  items,
2830
2851
  onSelect,
2831
2852
  isVisible = true
2832
2853
  }) {
2833
2854
  const color = useDesignSystemTheme().colors.icon;
2834
- const [open, setOpen] = (0, import_react38.useState)(false);
2835
- const [downPosition, setDownPosition] = import_react38.default.useState(null);
2836
- const handlePointerDownCapture = (0, import_react38.useCallback)(
2855
+ const [open, setOpen] = (0, import_react39.useState)(false);
2856
+ const [downPosition, setDownPosition] = import_react39.default.useState(null);
2857
+ const handlePointerDownCapture = (0, import_react39.useCallback)(
2837
2858
  (event) => {
2838
2859
  if (open) {
2839
2860
  setDownPosition(null);
@@ -2846,7 +2867,7 @@ var DraggableMenuButton = (0, import_react38.memo)(function DraggableMenuButton2
2846
2867
  },
2847
2868
  [open]
2848
2869
  );
2849
- const handlePointerUp = (0, import_react38.useCallback)(
2870
+ const handlePointerUp = (0, import_react39.useCallback)(
2850
2871
  (event) => {
2851
2872
  if (open || !downPosition) {
2852
2873
  setDownPosition(null);
@@ -2862,14 +2883,14 @@ var DraggableMenuButton = (0, import_react38.memo)(function DraggableMenuButton2
2862
2883
  },
2863
2884
  [downPosition, open]
2864
2885
  );
2865
- const handleOpenChange = (0, import_react38.useCallback)(
2886
+ const handleOpenChange = (0, import_react39.useCallback)(
2866
2887
  (isOpen) => {
2867
2888
  if (!isOpen)
2868
2889
  setOpen(false);
2869
2890
  },
2870
2891
  [setOpen]
2871
2892
  );
2872
- return /* @__PURE__ */ import_react38.default.createElement(
2893
+ return /* @__PURE__ */ import_react39.default.createElement(
2873
2894
  DotButtonElement,
2874
2895
  {
2875
2896
  onPointerDownCapture: handlePointerDownCapture,
@@ -2879,7 +2900,7 @@ var DraggableMenuButton = (0, import_react38.memo)(function DraggableMenuButton2
2879
2900
  event.preventDefault();
2880
2901
  }
2881
2902
  },
2882
- items && onSelect ? /* @__PURE__ */ import_react38.default.createElement(
2903
+ items && onSelect ? /* @__PURE__ */ import_react39.default.createElement(
2883
2904
  DropdownMenu,
2884
2905
  {
2885
2906
  open,
@@ -2888,13 +2909,13 @@ var DraggableMenuButton = (0, import_react38.memo)(function DraggableMenuButton2
2888
2909
  onSelect,
2889
2910
  shouldBindKeyboardShortcuts: false
2890
2911
  },
2891
- /* @__PURE__ */ import_react38.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react38.default.createElement(
2912
+ /* @__PURE__ */ import_react39.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react39.default.createElement(
2892
2913
  import_noya_icons5.DragHandleDots2Icon,
2893
2914
  {
2894
2915
  color: isVisible || open ? color : "transparent"
2895
2916
  }
2896
2917
  ))
2897
- ) : /* @__PURE__ */ import_react38.default.createElement(
2918
+ ) : /* @__PURE__ */ import_react39.default.createElement(
2898
2919
  import_noya_icons5.DragHandleDots2Icon,
2899
2920
  {
2900
2921
  color: isVisible || open ? color : "transparent"
@@ -2904,7 +2925,7 @@ var DraggableMenuButton = (0, import_react38.memo)(function DraggableMenuButton2
2904
2925
  });
2905
2926
 
2906
2927
  // src/components/FillInputField.tsx
2907
- var import_react42 = __toESM(require("react"));
2928
+ var import_react43 = __toESM(require("react"));
2908
2929
  var import_styled_components21 = __toESM(require("styled-components"));
2909
2930
 
2910
2931
  // ../noya-file-format/src/types.ts
@@ -3230,26 +3251,26 @@ var ClassValue = /* @__PURE__ */ ((ClassValue2) => {
3230
3251
  })(ClassValue || {});
3231
3252
 
3232
3253
  // src/components/FillPreviewBackground.tsx
3233
- var import_react41 = __toESM(require("react"));
3254
+ var import_react42 = __toESM(require("react"));
3234
3255
  var import_styled_components20 = __toESM(require("styled-components"));
3235
3256
 
3236
3257
  // src/contexts/ImageDataContext.tsx
3237
- var import_react39 = __toESM(require("react"));
3238
- var ImageDataContext = (0, import_react39.createContext)(
3258
+ var import_react40 = __toESM(require("react"));
3259
+ var ImageDataContext = (0, import_react40.createContext)(
3239
3260
  void 0
3240
3261
  );
3241
- var ImageDataProvider = (0, import_react39.memo)(function ImageDataProvider2({
3262
+ var ImageDataProvider = (0, import_react40.memo)(function ImageDataProvider2({
3242
3263
  children,
3243
3264
  getImageData
3244
3265
  }) {
3245
- const contextValue = (0, import_react39.useMemo)(
3266
+ const contextValue = (0, import_react40.useMemo)(
3246
3267
  () => ({ getImageData: getImageData ?? (() => void 0) }),
3247
3268
  [getImageData]
3248
3269
  );
3249
- return /* @__PURE__ */ import_react39.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
3270
+ return /* @__PURE__ */ import_react40.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
3250
3271
  });
3251
3272
  function useImageData(ref) {
3252
- const value = (0, import_react39.useContext)(ImageDataContext);
3273
+ const value = (0, import_react40.useContext)(ImageDataContext);
3253
3274
  if (!value) {
3254
3275
  throw new Error("Missing ImageDataProvider");
3255
3276
  }
@@ -3257,15 +3278,15 @@ function useImageData(ref) {
3257
3278
  }
3258
3279
 
3259
3280
  // src/hooks/useObjectURL.ts
3260
- var import_react40 = require("react");
3281
+ var import_react41 = require("react");
3261
3282
  function useObjectURL(object) {
3262
- const objectURL = (0, import_react40.useMemo)(() => {
3283
+ const objectURL = (0, import_react41.useMemo)(() => {
3263
3284
  if (object instanceof Blob)
3264
3285
  return URL.createObjectURL(object);
3265
3286
  const bytes = object instanceof Uint8Array ? object : object !== void 0 ? new Uint8Array(object) : new Uint8Array();
3266
3287
  return URL.createObjectURL(new Blob([bytes]));
3267
3288
  }, [object]);
3268
- (0, import_react40.useLayoutEffect)(() => {
3289
+ (0, import_react41.useLayoutEffect)(() => {
3269
3290
  return () => URL.revokeObjectURL(objectURL);
3270
3291
  }, [objectURL]);
3271
3292
  return objectURL;
@@ -3321,9 +3342,9 @@ var Background = import_styled_components20.default.span(({ background }) => ({
3321
3342
  position: "absolute",
3322
3343
  inset: 0
3323
3344
  }));
3324
- var HorizontalDotsBackground = (0, import_react41.memo)(function HorizontalDotsBackground2() {
3345
+ var HorizontalDotsBackground = (0, import_react42.memo)(function HorizontalDotsBackground2() {
3325
3346
  const { inputBackground, placeholderDots } = (0, import_styled_components20.useTheme)().colors;
3326
- const background = (0, import_react41.useMemo)(
3347
+ const background = (0, import_react42.useMemo)(
3327
3348
  () => [
3328
3349
  `center url("data:image/svg+xml;utf8,${dotsHorizontalSvg(
3329
3350
  placeholderDots
@@ -3332,7 +3353,7 @@ var HorizontalDotsBackground = (0, import_react41.memo)(function HorizontalDotsB
3332
3353
  ].join(","),
3333
3354
  [inputBackground, placeholderDots]
3334
3355
  );
3335
- return /* @__PURE__ */ import_react41.default.createElement(Background, { background });
3356
+ return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3336
3357
  });
3337
3358
  function getPatternSizeAndPosition(fillType, tileScale) {
3338
3359
  switch (fillType) {
@@ -3346,7 +3367,7 @@ function getPatternSizeAndPosition(fillType, tileScale) {
3346
3367
  return "center / 100% 100%";
3347
3368
  }
3348
3369
  }
3349
- var PatternPreviewBackground = (0, import_react41.memo)(function PatternPreviewBackground2({
3370
+ var PatternPreviewBackground = (0, import_react42.memo)(function PatternPreviewBackground2({
3350
3371
  fillType,
3351
3372
  tileScale,
3352
3373
  imageRef
@@ -3354,7 +3375,7 @@ var PatternPreviewBackground = (0, import_react41.memo)(function PatternPreviewB
3354
3375
  const image = useImageData(imageRef);
3355
3376
  const url = useObjectURL(image);
3356
3377
  const size2 = getPatternSizeAndPosition(fillType, tileScale);
3357
- const background = (0, import_react41.useMemo)(
3378
+ const background = (0, import_react42.useMemo)(
3358
3379
  () => [
3359
3380
  size2,
3360
3381
  `url(${url})`,
@@ -3362,37 +3383,37 @@ var PatternPreviewBackground = (0, import_react41.memo)(function PatternPreviewB
3362
3383
  ].join(" "),
3363
3384
  [fillType, size2, url]
3364
3385
  );
3365
- return /* @__PURE__ */ import_react41.default.createElement(Background, { background });
3386
+ return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3366
3387
  });
3367
- var ColorPreviewBackground = (0, import_react41.memo)(function ColorPreviewBackground2({
3388
+ var ColorPreviewBackground = (0, import_react42.memo)(function ColorPreviewBackground2({
3368
3389
  color
3369
3390
  }) {
3370
- const background = (0, import_react41.useMemo)(() => sketchColorToRgbaString(color), [color]);
3371
- return /* @__PURE__ */ import_react41.default.createElement(Background, { background });
3391
+ const background = (0, import_react42.useMemo)(() => sketchColorToRgbaString(color), [color]);
3392
+ return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3372
3393
  });
3373
- var GradientPreviewBackground = (0, import_react41.memo)(function GradientPreviewBackground2({
3394
+ var GradientPreviewBackground = (0, import_react42.memo)(function GradientPreviewBackground2({
3374
3395
  gradient
3375
3396
  }) {
3376
- const background = (0, import_react41.useMemo)(
3397
+ const background = (0, import_react42.useMemo)(
3377
3398
  () => getGradientBackground(gradient.stops, gradient.gradientType, 180),
3378
3399
  [gradient.gradientType, gradient.stops]
3379
3400
  );
3380
- return /* @__PURE__ */ import_react41.default.createElement(Background, { background });
3401
+ return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3381
3402
  });
3382
- var FillPreviewBackground = (0, import_react41.memo)(function FillPreviewBackground2({
3403
+ var FillPreviewBackground = (0, import_react42.memo)(function FillPreviewBackground2({
3383
3404
  value
3384
3405
  }) {
3385
3406
  if (!value)
3386
- return /* @__PURE__ */ import_react41.default.createElement(HorizontalDotsBackground, null);
3407
+ return /* @__PURE__ */ import_react42.default.createElement(HorizontalDotsBackground, null);
3387
3408
  switch (value._class) {
3388
3409
  case "color":
3389
- return /* @__PURE__ */ import_react41.default.createElement(ColorPreviewBackground, { color: value });
3410
+ return /* @__PURE__ */ import_react42.default.createElement(ColorPreviewBackground, { color: value });
3390
3411
  case "gradient":
3391
- return /* @__PURE__ */ import_react41.default.createElement(GradientPreviewBackground, { gradient: value });
3412
+ return /* @__PURE__ */ import_react42.default.createElement(GradientPreviewBackground, { gradient: value });
3392
3413
  case "pattern":
3393
3414
  if (!value.image)
3394
3415
  return null;
3395
- return /* @__PURE__ */ import_react41.default.createElement(
3416
+ return /* @__PURE__ */ import_react42.default.createElement(
3396
3417
  PatternPreviewBackground,
3397
3418
  {
3398
3419
  fillType: value.patternFillType,
@@ -3405,7 +3426,7 @@ var FillPreviewBackground = (0, import_react41.memo)(function FillPreviewBackgro
3405
3426
 
3406
3427
  // src/components/FillInputField.tsx
3407
3428
  var Container = import_styled_components21.default.button(
3408
- ({ theme, flex }) => ({
3429
+ ({ theme, $flex }) => ({
3409
3430
  outline: "none",
3410
3431
  padding: 0,
3411
3432
  width: "50px",
@@ -3419,17 +3440,17 @@ var Container = import_styled_components21.default.button(
3419
3440
  boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors.primary}`
3420
3441
  },
3421
3442
  position: "relative",
3422
- flex
3443
+ flex: $flex
3423
3444
  })
3424
3445
  );
3425
- var FillInputField = (0, import_react42.memo)(
3426
- (0, import_react42.forwardRef)(function FillInputField2({ id, value, ...rest }, ref) {
3427
- return /* @__PURE__ */ import_react42.default.createElement(Container, { ref, id, ...rest }, /* @__PURE__ */ import_react42.default.createElement(FillPreviewBackground, { value }));
3446
+ var FillInputField = (0, import_react43.memo)(
3447
+ (0, import_react43.forwardRef)(function FillInputField2({ id, value, flex, ...rest }, ref) {
3448
+ return /* @__PURE__ */ import_react43.default.createElement(Container, { ref, id, $flex: flex, ...rest }, /* @__PURE__ */ import_react43.default.createElement(FillPreviewBackground, { value }));
3428
3449
  })
3429
3450
  );
3430
3451
 
3431
3452
  // src/components/FloatingWindow.tsx
3432
- var import_react43 = __toESM(require("react"));
3453
+ var import_react44 = __toESM(require("react"));
3433
3454
  var styles2 = {
3434
3455
  noSelect: {
3435
3456
  userSelect: "none",
@@ -3522,7 +3543,7 @@ function defaultRenderToolbar({
3522
3543
  toolbarContent,
3523
3544
  onClose
3524
3545
  }) {
3525
- return /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null, /* @__PURE__ */ import_react43.default.createElement(Small, { flex: "1", fontWeight: "500", color: "text" }, title), toolbarContent, /* @__PURE__ */ import_react43.default.createElement(
3546
+ return /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, /* @__PURE__ */ import_react44.default.createElement(Small, { flex: "1", fontWeight: "500", color: "text" }, title), toolbarContent, /* @__PURE__ */ import_react44.default.createElement(
3526
3547
  IconButton,
3527
3548
  {
3528
3549
  iconName: "Cross3Icon",
@@ -3547,16 +3568,16 @@ var FloatingWindow = ({
3547
3568
  toolbarContent,
3548
3569
  renderToolbar = defaultRenderToolbar
3549
3570
  }) => {
3550
- const [position, setPosition] = (0, import_react43.useState)({ x: initialX, y: initialY });
3551
- const [size2, setSize] = (0, import_react43.useState)({
3571
+ const [position, setPosition] = (0, import_react44.useState)({ x: initialX, y: initialY });
3572
+ const [size2, setSize] = (0, import_react44.useState)({
3552
3573
  width: initialWidth,
3553
3574
  height: initialHeight
3554
3575
  });
3555
- const [isDragging, setIsDragging] = (0, import_react43.useState)(false);
3556
- const [isResizing, setIsResizing] = (0, import_react43.useState)(false);
3557
- const [dragOffset, setDragOffset] = (0, import_react43.useState)({ x: 0, y: 0 });
3558
- const [resizeDirection, setResizeDirection] = (0, import_react43.useState)(null);
3559
- const wrapperRef = (0, import_react43.useRef)(null);
3576
+ const [isDragging, setIsDragging] = (0, import_react44.useState)(false);
3577
+ const [isResizing, setIsResizing] = (0, import_react44.useState)(false);
3578
+ const [dragOffset, setDragOffset] = (0, import_react44.useState)({ x: 0, y: 0 });
3579
+ const [resizeDirection, setResizeDirection] = (0, import_react44.useState)(null);
3580
+ const wrapperRef = (0, import_react44.useRef)(null);
3560
3581
  const toggleGlobalTextSelection = (disable) => {
3561
3582
  if (disable) {
3562
3583
  document.body.style.userSelect = "none";
@@ -3564,7 +3585,7 @@ var FloatingWindow = ({
3564
3585
  document.body.style.userSelect = "";
3565
3586
  }
3566
3587
  };
3567
- const handleMouseDown = (0, import_react43.useCallback)((e) => {
3588
+ const handleMouseDown = (0, import_react44.useCallback)((e) => {
3568
3589
  if (!wrapperRef.current)
3569
3590
  return;
3570
3591
  const rect = wrapperRef.current.getBoundingClientRect();
@@ -3574,7 +3595,7 @@ var FloatingWindow = ({
3574
3595
  });
3575
3596
  setIsDragging(true);
3576
3597
  }, []);
3577
- const handleResizeStart = (0, import_react43.useCallback)(
3598
+ const handleResizeStart = (0, import_react44.useCallback)(
3578
3599
  (direction) => (e) => {
3579
3600
  e.stopPropagation();
3580
3601
  setIsResizing(true);
@@ -3583,7 +3604,7 @@ var FloatingWindow = ({
3583
3604
  },
3584
3605
  []
3585
3606
  );
3586
- const handleMouseMove = (0, import_react43.useCallback)(
3607
+ const handleMouseMove = (0, import_react44.useCallback)(
3587
3608
  (e) => {
3588
3609
  if (isDragging) {
3589
3610
  setPosition({
@@ -3637,13 +3658,13 @@ var FloatingWindow = ({
3637
3658
  minHeight
3638
3659
  ]
3639
3660
  );
3640
- const handleMouseUp = (0, import_react43.useCallback)((e) => {
3661
+ const handleMouseUp = (0, import_react44.useCallback)((e) => {
3641
3662
  setIsDragging(false);
3642
3663
  setIsResizing(false);
3643
3664
  setResizeDirection(null);
3644
3665
  toggleGlobalTextSelection(false);
3645
3666
  }, []);
3646
- import_react43.default.useEffect(() => {
3667
+ import_react44.default.useEffect(() => {
3647
3668
  document.addEventListener("mousemove", handleMouseMove);
3648
3669
  document.addEventListener("mouseup", handleMouseUp);
3649
3670
  return () => {
@@ -3654,12 +3675,12 @@ var FloatingWindow = ({
3654
3675
  const theme = useDesignSystemTheme();
3655
3676
  const floatingWindowManager = useFloatingWindowManager();
3656
3677
  const currentFloatingWindow = useCurrentFloatingWindowInternal();
3657
- const handleClose = (0, import_react43.useCallback)(() => {
3678
+ const handleClose = (0, import_react44.useCallback)(() => {
3658
3679
  if (onClose)
3659
3680
  onClose();
3660
3681
  floatingWindowManager.closeWindow(currentFloatingWindow.id);
3661
3682
  }, [currentFloatingWindow.id, floatingWindowManager, onClose]);
3662
- return /* @__PURE__ */ import_react43.default.createElement(
3683
+ return /* @__PURE__ */ import_react44.default.createElement(
3663
3684
  "div",
3664
3685
  {
3665
3686
  ref: wrapperRef,
@@ -3673,7 +3694,7 @@ var FloatingWindow = ({
3673
3694
  backgroundColor: theme.colors.canvas.background
3674
3695
  }
3675
3696
  },
3676
- /* @__PURE__ */ import_react43.default.createElement(
3697
+ /* @__PURE__ */ import_react44.default.createElement(
3677
3698
  "div",
3678
3699
  {
3679
3700
  style: {
@@ -3684,9 +3705,9 @@ var FloatingWindow = ({
3684
3705
  },
3685
3706
  renderToolbar({ title, toolbarContent, onClose: handleClose })
3686
3707
  ),
3687
- /* @__PURE__ */ import_react43.default.createElement(Divider, null),
3688
- /* @__PURE__ */ import_react43.default.createElement("div", { style: styles2.content }, children),
3689
- Object.entries(resizeHandlePositions).map(([direction, style3]) => /* @__PURE__ */ import_react43.default.createElement(
3708
+ /* @__PURE__ */ import_react44.default.createElement(Divider, null),
3709
+ /* @__PURE__ */ import_react44.default.createElement("div", { style: styles2.content }, children),
3710
+ Object.entries(resizeHandlePositions).map(([direction, style3]) => /* @__PURE__ */ import_react44.default.createElement(
3690
3711
  "div",
3691
3712
  {
3692
3713
  key: direction,
@@ -3699,8 +3720,8 @@ var FloatingWindow = ({
3699
3720
 
3700
3721
  // src/components/GradientPicker.tsx
3701
3722
  var import_noya_colorpicker2 = require("@noya-app/noya-colorpicker");
3702
- var import_react44 = __toESM(require("react"));
3703
- var GradientPicker = (0, import_react44.memo)(function GradientPicker2({
3723
+ var import_react45 = __toESM(require("react"));
3724
+ var GradientPicker = (0, import_react45.memo)(function GradientPicker2({
3704
3725
  value,
3705
3726
  selectedStop,
3706
3727
  onChangeColor,
@@ -3709,7 +3730,7 @@ var GradientPicker = (0, import_react44.memo)(function GradientPicker2({
3709
3730
  onDelete,
3710
3731
  onSelectStop
3711
3732
  }) {
3712
- const colorModel = (0, import_react44.useMemo)(
3733
+ const colorModel = (0, import_react45.useMemo)(
3713
3734
  () => ({
3714
3735
  defaultColor: { r: 0, g: 0, b: 0, a: 1 },
3715
3736
  toHsva: import_noya_colorpicker2.rgbaToHsva,
@@ -3718,30 +3739,30 @@ var GradientPicker = (0, import_react44.memo)(function GradientPicker2({
3718
3739
  }),
3719
3740
  []
3720
3741
  );
3721
- const rgbaColor = (0, import_react44.useMemo)(
3742
+ const rgbaColor = (0, import_react45.useMemo)(
3722
3743
  () => sketchColorToRgba(value[selectedStop].color),
3723
3744
  [value, selectedStop]
3724
3745
  );
3725
- const handleChangeColor = (0, import_react44.useCallback)(
3746
+ const handleChangeColor = (0, import_react45.useCallback)(
3726
3747
  (value2) => {
3727
3748
  onChangeColor(rgbaToSketchColor(value2));
3728
3749
  },
3729
3750
  [onChangeColor]
3730
3751
  );
3731
- const handleAddGradientStop = (0, import_react44.useCallback)(
3752
+ const handleAddGradientStop = (0, import_react45.useCallback)(
3732
3753
  (value2, position) => {
3733
3754
  onAdd(rgbaToSketchColor(value2), position);
3734
3755
  },
3735
3756
  [onAdd]
3736
3757
  );
3737
- return /* @__PURE__ */ import_react44.default.createElement(
3758
+ return /* @__PURE__ */ import_react45.default.createElement(
3738
3759
  import_noya_colorpicker2.ColorPicker,
3739
3760
  {
3740
3761
  onChange: handleChangeColor,
3741
3762
  colorModel,
3742
3763
  color: rgbaColor
3743
3764
  },
3744
- /* @__PURE__ */ import_react44.default.createElement(
3765
+ /* @__PURE__ */ import_react45.default.createElement(
3745
3766
  import_noya_colorpicker2.Gradient,
3746
3767
  {
3747
3768
  gradients: value,
@@ -3752,12 +3773,12 @@ var GradientPicker = (0, import_react44.memo)(function GradientPicker2({
3752
3773
  onDelete
3753
3774
  }
3754
3775
  ),
3755
- /* @__PURE__ */ import_react44.default.createElement(Spacer.Vertical, { size: 10 }),
3756
- /* @__PURE__ */ import_react44.default.createElement(import_noya_colorpicker2.Saturation, null),
3757
- /* @__PURE__ */ import_react44.default.createElement(Spacer.Vertical, { size: 12 }),
3758
- /* @__PURE__ */ import_react44.default.createElement(import_noya_colorpicker2.Hue, null),
3759
- /* @__PURE__ */ import_react44.default.createElement(Spacer.Vertical, { size: 5 }),
3760
- /* @__PURE__ */ import_react44.default.createElement(import_noya_colorpicker2.Alpha, null)
3776
+ /* @__PURE__ */ import_react45.default.createElement(Spacer.Vertical, { size: 10 }),
3777
+ /* @__PURE__ */ import_react45.default.createElement(import_noya_colorpicker2.Saturation, null),
3778
+ /* @__PURE__ */ import_react45.default.createElement(Spacer.Vertical, { size: 12 }),
3779
+ /* @__PURE__ */ import_react45.default.createElement(import_noya_colorpicker2.Hue, null),
3780
+ /* @__PURE__ */ import_react45.default.createElement(Spacer.Vertical, { size: 5 }),
3781
+ /* @__PURE__ */ import_react45.default.createElement(import_noya_colorpicker2.Alpha, null)
3761
3782
  );
3762
3783
  });
3763
3784
 
@@ -3789,12 +3810,12 @@ var Grid = import_styled_components22.default.div((props) => ({
3789
3810
  }));
3790
3811
 
3791
3812
  // src/components/GridView.tsx
3792
- var import_react46 = __toESM(require("react"));
3813
+ var import_react47 = __toESM(require("react"));
3793
3814
  var import_styled_components24 = __toESM(require("styled-components"));
3794
3815
 
3795
3816
  // src/components/ScrollArea.tsx
3796
3817
  var RadixScrollArea = __toESM(require("@radix-ui/react-scroll-area"));
3797
- var import_react45 = __toESM(require("react"));
3818
+ var import_react46 = __toESM(require("react"));
3798
3819
  var import_styled_components23 = __toESM(require("styled-components"));
3799
3820
  var SCROLLBAR_SIZE = 10;
3800
3821
  var StyledViewport = (0, import_styled_components23.default)(RadixScrollArea.Viewport)({
@@ -3822,18 +3843,18 @@ var Container2 = import_styled_components23.default.div({
3822
3843
  flex: "1 1 0px",
3823
3844
  minHeight: 0
3824
3845
  });
3825
- var ScrollArea = (0, import_react45.memo)(function ScrollArea2({ children }) {
3826
- const [scrollElementRef, setScrollElementRef] = (0, import_react45.useState)(null);
3827
- return /* @__PURE__ */ import_react45.default.createElement(Container2, null, /* @__PURE__ */ import_react45.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react45.default.createElement(
3846
+ var ScrollArea = (0, import_react46.memo)(function ScrollArea2({ children }) {
3847
+ const [scrollElementRef, setScrollElementRef] = (0, import_react46.useState)(null);
3848
+ return /* @__PURE__ */ import_react46.default.createElement(Container2, null, /* @__PURE__ */ import_react46.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react46.default.createElement(
3828
3849
  StyledViewport,
3829
3850
  {
3830
- ref: (0, import_react45.useCallback)(
3851
+ ref: (0, import_react46.useCallback)(
3831
3852
  (ref) => setScrollElementRef(ref),
3832
3853
  []
3833
3854
  )
3834
3855
  },
3835
3856
  typeof children === "function" ? scrollElementRef ? children(scrollElementRef) : null : children
3836
- ), /* @__PURE__ */ import_react45.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react45.default.createElement(StyledThumb, { className: "scroll-component" }))));
3857
+ ), /* @__PURE__ */ import_react46.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react46.default.createElement(StyledThumb, { className: "scroll-component" }))));
3837
3858
  });
3838
3859
 
3839
3860
  // src/components/GridView.tsx
@@ -4013,7 +4034,7 @@ var Shimmer = import_styled_components24.default.div`
4013
4034
  align-items: end;
4014
4035
  padding: 4px;
4015
4036
  `;
4016
- var GridViewItem = (0, import_react46.forwardRef)(function GridViewItem2({
4037
+ var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4017
4038
  id,
4018
4039
  title,
4019
4040
  subtitle,
@@ -4029,15 +4050,15 @@ var GridViewItem = (0, import_react46.forwardRef)(function GridViewItem2({
4029
4050
  onContextMenu,
4030
4051
  style: style3
4031
4052
  }, forwardedRef) {
4032
- const [hovered, setHovered] = import_react46.default.useState(false);
4053
+ const [hovered, setHovered] = import_react47.default.useState(false);
4033
4054
  const { hoverProps } = useHover({
4034
4055
  onHoverChange: (isHovering) => {
4035
4056
  onHoverChange?.(isHovering);
4036
4057
  setHovered(isHovering);
4037
4058
  }
4038
4059
  });
4039
- const { textPosition, bordered, disabled } = (0, import_react46.useContext)(GridViewContext);
4040
- const handleClick = (0, import_react46.useCallback)(
4060
+ const { textPosition, bordered, disabled } = (0, import_react47.useContext)(GridViewContext);
4061
+ const handleClick = (0, import_react47.useCallback)(
4041
4062
  (event) => {
4042
4063
  event.stopPropagation();
4043
4064
  event.preventDefault();
@@ -4046,7 +4067,7 @@ var GridViewItem = (0, import_react46.forwardRef)(function GridViewItem2({
4046
4067
  },
4047
4068
  [onClick, onPress]
4048
4069
  );
4049
- const handleKeyDown = (0, import_react46.useCallback)(
4070
+ const handleKeyDown = (0, import_react47.useCallback)(
4050
4071
  (event) => {
4051
4072
  if (event.key === "Enter" || event.key === " ") {
4052
4073
  event.stopPropagation();
@@ -4058,7 +4079,7 @@ var GridViewItem = (0, import_react46.forwardRef)(function GridViewItem2({
4058
4079
  },
4059
4080
  [onPress]
4060
4081
  );
4061
- let element = /* @__PURE__ */ import_react46.default.createElement(
4082
+ let element = /* @__PURE__ */ import_react47.default.createElement(
4062
4083
  ItemContainer,
4063
4084
  {
4064
4085
  id,
@@ -4067,7 +4088,7 @@ var GridViewItem = (0, import_react46.forwardRef)(function GridViewItem2({
4067
4088
  tabIndex: disabled ? void 0 : 0,
4068
4089
  onKeyDown: handleKeyDown
4069
4090
  },
4070
- /* @__PURE__ */ import_react46.default.createElement(
4091
+ /* @__PURE__ */ import_react47.default.createElement(
4071
4092
  ContentContainer,
4072
4093
  {
4073
4094
  disabled,
@@ -4081,25 +4102,25 @@ var GridViewItem = (0, import_react46.forwardRef)(function GridViewItem2({
4081
4102
  },
4082
4103
  children
4083
4104
  ),
4084
- textPosition === "below" && /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, /* @__PURE__ */ import_react46.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react46.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react46.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
4085
- textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react46.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react46.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react46.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
4086
- loading && /* @__PURE__ */ import_react46.default.createElement(Shimmer, null, /* @__PURE__ */ import_react46.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
4105
+ textPosition === "below" && /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react47.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react47.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
4106
+ textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react47.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react47.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react47.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
4107
+ loading && /* @__PURE__ */ import_react47.default.createElement(Shimmer, null, /* @__PURE__ */ import_react47.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
4087
4108
  );
4088
4109
  if (menuItems && onSelectMenuItem) {
4089
- element = /* @__PURE__ */ import_react46.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
4110
+ element = /* @__PURE__ */ import_react47.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
4090
4111
  }
4091
4112
  if (textPosition === "toolip") {
4092
- element = /* @__PURE__ */ import_react46.default.createElement(
4113
+ element = /* @__PURE__ */ import_react47.default.createElement(
4093
4114
  Tooltip,
4094
4115
  {
4095
- content: /* @__PURE__ */ import_react46.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react46.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react46.default.createElement(ItemDescription, { showBackground: false }, subtitle))
4116
+ content: /* @__PURE__ */ import_react47.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react47.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react47.default.createElement(ItemDescription, { showBackground: false }, subtitle))
4096
4117
  },
4097
4118
  element
4098
4119
  );
4099
4120
  }
4100
4121
  return element;
4101
4122
  });
4102
- var GridViewContext = (0, import_react46.createContext)({
4123
+ var GridViewContext = (0, import_react47.createContext)({
4103
4124
  size: "small",
4104
4125
  textPosition: "below",
4105
4126
  bordered: false,
@@ -4114,7 +4135,7 @@ function GridViewRoot({
4114
4135
  bordered = false,
4115
4136
  disabled = false
4116
4137
  }) {
4117
- const handleClick = (0, import_react46.useCallback)(
4138
+ const handleClick = (0, import_react47.useCallback)(
4118
4139
  (event) => {
4119
4140
  event.stopPropagation();
4120
4141
  event.preventDefault();
@@ -4122,7 +4143,7 @@ function GridViewRoot({
4122
4143
  },
4123
4144
  [onClick]
4124
4145
  );
4125
- const contextValue = (0, import_react46.useMemo)(
4146
+ const contextValue = (0, import_react47.useMemo)(
4126
4147
  () => ({
4127
4148
  size: size2,
4128
4149
  textPosition,
@@ -4131,33 +4152,33 @@ function GridViewRoot({
4131
4152
  }),
4132
4153
  [bordered, disabled, size2, textPosition]
4133
4154
  );
4134
- return /* @__PURE__ */ import_react46.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react46.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react46.default.createElement(ScrollArea, null, children) : children));
4155
+ return /* @__PURE__ */ import_react47.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react47.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react47.default.createElement(ScrollArea, null, children) : children));
4135
4156
  }
4136
4157
  function GridViewSection({
4137
4158
  children,
4138
4159
  padding = "20px"
4139
4160
  }) {
4140
- const { size: size2 } = (0, import_react46.useContext)(GridViewContext);
4141
- return /* @__PURE__ */ import_react46.default.createElement(Grid2, { size: size2, padding }, children);
4161
+ const { size: size2 } = (0, import_react47.useContext)(GridViewContext);
4162
+ return /* @__PURE__ */ import_react47.default.createElement(Grid2, { size: size2, padding }, children);
4142
4163
  }
4143
4164
  function GridViewSectionHeader({ title }) {
4144
4165
  const grouped = title.split("/");
4145
- return /* @__PURE__ */ import_react46.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react46.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
4146
- grouped.map((title2, index) => /* @__PURE__ */ import_react46.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
4147
- /* @__PURE__ */ import_react46.default.createElement(SectionTitle, null, " / ")
4166
+ return /* @__PURE__ */ import_react47.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react47.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
4167
+ grouped.map((title2, index) => /* @__PURE__ */ import_react47.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
4168
+ /* @__PURE__ */ import_react47.default.createElement(SectionTitle, null, " / ")
4148
4169
  ));
4149
4170
  }
4150
4171
  var GridView;
4151
4172
  ((GridView2) => {
4152
- GridView2.Root = (0, import_react46.memo)(GridViewRoot);
4153
- GridView2.Item = (0, import_react46.memo)(GridViewItem);
4154
- GridView2.Section = (0, import_react46.memo)(GridViewSection);
4155
- GridView2.SectionHeader = (0, import_react46.memo)(GridViewSectionHeader);
4173
+ GridView2.Root = (0, import_react47.memo)(GridViewRoot);
4174
+ GridView2.Item = (0, import_react47.memo)(GridViewItem);
4175
+ GridView2.Section = (0, import_react47.memo)(GridViewSection);
4176
+ GridView2.SectionHeader = (0, import_react47.memo)(GridViewSectionHeader);
4156
4177
  })(GridView || (GridView = {}));
4157
4178
 
4158
4179
  // src/components/InputFieldWithCompletions.tsx
4159
- var import_noya_utils9 = require("@noya-app/noya-utils");
4160
- var import_react50 = __toESM(require("react"));
4180
+ var import_noya_utils8 = require("@noya-app/noya-utils");
4181
+ var import_react51 = __toESM(require("react"));
4161
4182
  var import_styled_components27 = __toESM(require("styled-components"));
4162
4183
 
4163
4184
  // src/utils/fuzzyScorer.ts
@@ -4232,15 +4253,15 @@ function mergeRanges(ranges) {
4232
4253
  }
4233
4254
 
4234
4255
  // src/components/ListView.tsx
4235
- var import_noya_utils8 = require("@noya-app/noya-utils");
4256
+ var import_noya_utils7 = require("@noya-app/noya-utils");
4236
4257
  var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
4237
- var import_react48 = __toESM(require("react"));
4258
+ var import_react49 = __toESM(require("react"));
4238
4259
  var import_react_virtualized = require("react-virtualized");
4239
4260
  var import_react_window = require("react-window");
4240
4261
  var import_styled_components25 = __toESM(require("styled-components"));
4241
4262
 
4242
4263
  // src/hooks/mergeEventHandlers.ts
4243
- var import_noya_utils7 = require("@noya-app/noya-utils");
4264
+ var import_noya_utils6 = require("@noya-app/noya-utils");
4244
4265
  var import_primitive = require("@radix-ui/primitive");
4245
4266
  function composeAllEventHandlers(...handlers) {
4246
4267
  const [first, ...rest] = handlers;
@@ -4250,7 +4271,7 @@ function composeAllEventHandlers(...handlers) {
4250
4271
  );
4251
4272
  }
4252
4273
  function mergeEventHandlers(...handlerMaps) {
4253
- const eventNames = (0, import_noya_utils7.unique)(handlerMaps.map(Object.keys).flat());
4274
+ const eventNames = (0, import_noya_utils6.unique)(handlerMaps.map(Object.keys).flat());
4254
4275
  return Object.fromEntries(
4255
4276
  eventNames.map((eventName) => {
4256
4277
  const handlers = handlerMaps.flatMap((handlerMap) => {
@@ -4265,7 +4286,7 @@ function mergeEventHandlers(...handlerMaps) {
4265
4286
  // src/components/Sortable.tsx
4266
4287
  var import_core = require("@dnd-kit/core");
4267
4288
  var import_sortable = require("@dnd-kit/sortable");
4268
- var import_react47 = __toESM(require("react"));
4289
+ var import_react48 = __toESM(require("react"));
4269
4290
  var import_react_dom2 = require("react-dom");
4270
4291
  var normalizeListDestinationIndex = (index, position) => {
4271
4292
  return position === "above" ? index : index + 1;
@@ -4279,7 +4300,7 @@ var defaultAcceptsDrop = (sourceIndex, destinationIndex, position) => {
4279
4300
  }
4280
4301
  return true;
4281
4302
  };
4282
- var SortableItemContext = (0, import_react47.createContext)({
4303
+ var SortableItemContext = (0, import_react48.createContext)({
4283
4304
  keys: [],
4284
4305
  position: { x: 0, y: 0 },
4285
4306
  acceptsDrop: defaultAcceptsDrop,
@@ -4301,7 +4322,7 @@ function SortableItem({
4301
4322
  disabled,
4302
4323
  children
4303
4324
  }) {
4304
- const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react47.useContext)(SortableItemContext);
4325
+ const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react48.useContext)(SortableItemContext);
4305
4326
  const sortable = (0, import_sortable.useSortable)({ id, disabled });
4306
4327
  const {
4307
4328
  active,
@@ -4321,7 +4342,7 @@ function SortableItem({
4321
4342
  const eventY = activatorEvent?.clientY ?? 0;
4322
4343
  const offsetLeft = eventX + position.x;
4323
4344
  const offsetTop = eventY + position.y;
4324
- const ref = (0, import_react47.useCallback)((node) => setNodeRef(node), [setNodeRef]);
4345
+ const ref = (0, import_react48.useCallback)((node) => setNodeRef(node), [setNodeRef]);
4325
4346
  return children({
4326
4347
  ref,
4327
4348
  ...attributes,
@@ -4352,22 +4373,22 @@ function SortableRoot({
4352
4373
  }
4353
4374
  })
4354
4375
  );
4355
- const [activeIndex, setActiveIndex] = (0, import_react47.useState)();
4356
- const activatorEvent = (0, import_react47.useRef)(null);
4357
- const setActivatorEvent = (0, import_react47.useCallback)((event) => {
4376
+ const [activeIndex, setActiveIndex] = (0, import_react48.useState)();
4377
+ const activatorEvent = (0, import_react48.useRef)(null);
4378
+ const setActivatorEvent = (0, import_react48.useCallback)((event) => {
4358
4379
  activatorEvent.current = event;
4359
4380
  }, []);
4360
- const [position, setPosition] = (0, import_react47.useState)({ x: 0, y: 0 });
4361
- const handleDragStart = (0, import_react47.useCallback)(
4381
+ const [position, setPosition] = (0, import_react48.useState)({ x: 0, y: 0 });
4382
+ const handleDragStart = (0, import_react48.useCallback)(
4362
4383
  (event) => {
4363
4384
  setActiveIndex(keys.indexOf(event.active.id));
4364
4385
  },
4365
4386
  [keys]
4366
4387
  );
4367
- const handleDragMove = (0, import_react47.useCallback)((event) => {
4388
+ const handleDragMove = (0, import_react48.useCallback)((event) => {
4368
4389
  setPosition({ ...event.delta });
4369
4390
  }, []);
4370
- const handleDragEnd = (0, import_react47.useCallback)(
4391
+ const handleDragEnd = (0, import_react48.useCallback)(
4371
4392
  (event) => {
4372
4393
  const { active, over } = event;
4373
4394
  setActiveIndex(void 0);
@@ -4394,14 +4415,14 @@ function SortableRoot({
4394
4415
  },
4395
4416
  [acceptsDrop, axis, keys, onMoveItem, position.x, position.y]
4396
4417
  );
4397
- const [mounted, setMounted] = (0, import_react47.useState)(false);
4398
- (0, import_react47.useEffect)(() => {
4418
+ const [mounted, setMounted] = (0, import_react48.useState)(false);
4419
+ (0, import_react48.useEffect)(() => {
4399
4420
  setMounted(true);
4400
4421
  }, []);
4401
- return /* @__PURE__ */ import_react47.default.createElement(
4422
+ return /* @__PURE__ */ import_react48.default.createElement(
4402
4423
  SortableItemContext.Provider,
4403
4424
  {
4404
- value: (0, import_react47.useMemo)(
4425
+ value: (0, import_react48.useMemo)(
4405
4426
  () => ({
4406
4427
  keys,
4407
4428
  acceptsDrop,
@@ -4412,7 +4433,7 @@ function SortableRoot({
4412
4433
  [acceptsDrop, axis, keys, position, setActivatorEvent]
4413
4434
  )
4414
4435
  },
4415
- /* @__PURE__ */ import_react47.default.createElement(
4436
+ /* @__PURE__ */ import_react48.default.createElement(
4416
4437
  import_core.DndContext,
4417
4438
  {
4418
4439
  sensors,
@@ -4421,9 +4442,9 @@ function SortableRoot({
4421
4442
  onDragMove: handleDragMove,
4422
4443
  onDragEnd: handleDragEnd
4423
4444
  },
4424
- /* @__PURE__ */ import_react47.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
4445
+ /* @__PURE__ */ import_react48.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
4425
4446
  mounted && renderOverlay && (0, import_react_dom2.createPortal)(
4426
- /* @__PURE__ */ import_react47.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
4447
+ /* @__PURE__ */ import_react48.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
4427
4448
  document.body
4428
4449
  )
4429
4450
  )
@@ -4431,17 +4452,17 @@ function SortableRoot({
4431
4452
  }
4432
4453
  var Sortable;
4433
4454
  ((Sortable2) => {
4434
- Sortable2.Item = (0, import_react47.memo)(SortableItem);
4435
- Sortable2.Root = (0, import_react47.memo)(SortableRoot);
4455
+ Sortable2.Item = (0, import_react48.memo)(SortableItem);
4456
+ Sortable2.Root = (0, import_react48.memo)(SortableRoot);
4436
4457
  })(Sortable || (Sortable = {}));
4437
4458
 
4438
4459
  // src/components/ListView.tsx
4439
4460
  var ROW_HEIGHT = 31;
4440
4461
  var SECTION_HEADER_LABEL_HEIGHT = 27;
4441
- var DraggingContext = (0, import_react48.createContext)({
4462
+ var DraggingContext = (0, import_react49.createContext)({
4442
4463
  indentation: 12
4443
4464
  });
4444
- var ListRowContext = (0, import_react48.createContext)({
4465
+ var ListRowContext = (0, import_react49.createContext)({
4445
4466
  marginType: "none",
4446
4467
  selectedPosition: "only",
4447
4468
  sortable: false,
@@ -4471,8 +4492,8 @@ function ListViewEditableRowTitle({
4471
4492
  autoFocus,
4472
4493
  placeholder
4473
4494
  }) {
4474
- const inputRef = (0, import_react48.useRef)(null);
4475
- (0, import_react48.useLayoutEffect)(() => {
4495
+ const inputRef = (0, import_react49.useRef)(null);
4496
+ (0, import_react49.useLayoutEffect)(() => {
4476
4497
  const element = inputRef.current;
4477
4498
  if (!element || !autoFocus)
4478
4499
  return;
@@ -4481,7 +4502,7 @@ function ListViewEditableRowTitle({
4481
4502
  element.select();
4482
4503
  }, 0);
4483
4504
  }, [autoFocus]);
4484
- return /* @__PURE__ */ import_react48.default.createElement(
4505
+ return /* @__PURE__ */ import_react49.default.createElement(
4485
4506
  ListViewEditableRowTitleElement,
4486
4507
  {
4487
4508
  ref: inputRef,
@@ -4502,34 +4523,34 @@ function getPositionMargin(marginType) {
4502
4523
  var RowContainer = import_styled_components25.default.div(
4503
4524
  ({
4504
4525
  theme,
4505
- marginType,
4506
- selected,
4507
- selectedPosition,
4508
- disabled,
4509
- hovered,
4510
- variant,
4511
- divider,
4512
- isSectionHeader,
4513
- showsActiveState,
4514
- sectionHeaderVariant,
4515
- colorScheme,
4516
- gap,
4517
- backgroundColor
4526
+ $marginType,
4527
+ $selected,
4528
+ $selectedPosition,
4529
+ $disabled,
4530
+ $hovered,
4531
+ $variant,
4532
+ $divider,
4533
+ $isSectionHeader,
4534
+ $showsActiveState,
4535
+ $sectionHeaderVariant,
4536
+ $colorScheme,
4537
+ $gap,
4538
+ $backgroundColor
4518
4539
  }) => {
4519
- const margin = getPositionMargin(marginType);
4540
+ const margin = getPositionMargin($marginType);
4520
4541
  return {
4521
- ...isSectionHeader && sectionHeaderVariant === "label" ? theme.textStyles.label : theme.textStyles.small,
4522
- ...isSectionHeader && { fontWeight: 500 },
4523
- gap,
4542
+ ...$isSectionHeader && $sectionHeaderVariant === "label" ? theme.textStyles.label : theme.textStyles.small,
4543
+ ...$isSectionHeader && { fontWeight: 500 },
4544
+ gap: $gap,
4524
4545
  flex: "0 0 auto",
4525
4546
  userSelect: "none",
4526
4547
  cursor: "default",
4527
- ...variant !== "bare" && {
4548
+ ...$variant !== "bare" && {
4528
4549
  paddingTop: "6px",
4529
4550
  paddingRight: "12px",
4530
4551
  paddingBottom: "6px",
4531
4552
  paddingLeft: "12px",
4532
- ...variant === "padded" && {
4553
+ ...$variant === "padded" && {
4533
4554
  borderRadius: "2px",
4534
4555
  marginLeft: "8px",
4535
4556
  marginRight: "8px",
@@ -4538,72 +4559,72 @@ var RowContainer = import_styled_components25.default.div(
4538
4559
  }
4539
4560
  },
4540
4561
  color: theme.colors.textMuted,
4541
- ...isSectionHeader && {
4562
+ ...$isSectionHeader && {
4542
4563
  backgroundColor: theme.colors.listView.raisedBackground,
4543
- ...sectionHeaderVariant === "label" && {
4564
+ ...$sectionHeaderVariant === "label" && {
4544
4565
  color: theme.colors.textDisabled
4545
4566
  }
4546
4567
  },
4547
- ...disabled && {
4568
+ ...$disabled && {
4548
4569
  color: theme.colors.textDisabled
4549
4570
  },
4550
- ...selected && {
4571
+ ...$selected && {
4551
4572
  color: "white",
4552
- backgroundColor: theme.colors[colorScheme]
4573
+ backgroundColor: theme.colors[$colorScheme]
4553
4574
  },
4554
4575
  display: "flex",
4555
4576
  alignItems: "center",
4556
- ...selected && !isSectionHeader && (selectedPosition === "middle" || selectedPosition === "last") && {
4577
+ ...$selected && !$isSectionHeader && ($selectedPosition === "middle" || $selectedPosition === "last") && {
4557
4578
  borderTopRightRadius: "0px",
4558
4579
  borderTopLeftRadius: "0px"
4559
4580
  },
4560
- ...selected && !isSectionHeader && (selectedPosition === "middle" || selectedPosition === "first") && {
4581
+ ...$selected && !$isSectionHeader && ($selectedPosition === "middle" || $selectedPosition === "first") && {
4561
4582
  borderBottomRightRadius: "0px",
4562
4583
  borderBottomLeftRadius: "0px"
4563
4584
  },
4564
4585
  position: "relative",
4565
- ...hovered && {
4566
- boxShadow: `0 0 0 1px ${theme.colors[colorScheme]} inset`
4586
+ ...$hovered && {
4587
+ boxShadow: `0 0 0 1px ${theme.colors[$colorScheme]} inset`
4567
4588
  },
4568
- ...showsActiveState && {
4589
+ ...$showsActiveState && {
4569
4590
  "&:active": {
4570
- backgroundColor: selected ? colorScheme === "secondary" ? theme.colors.secondaryLight : theme.colors.primaryLight : theme.colors.activeBackground
4591
+ backgroundColor: $selected ? $colorScheme === "secondary" ? theme.colors.secondaryLight : theme.colors.primaryLight : theme.colors.activeBackground
4571
4592
  }
4572
4593
  },
4573
- ...divider && {
4594
+ ...$divider && {
4574
4595
  borderBottom: `1px solid ${theme.colors.dividerSubtle}`
4575
4596
  },
4576
- ...backgroundColor && {
4577
- backgroundColor,
4597
+ ...$backgroundColor && {
4598
+ backgroundColor: $backgroundColor,
4578
4599
  "&:hover": {
4579
- backgroundColor
4600
+ backgroundColor: $backgroundColor
4580
4601
  },
4581
4602
  "&:active": {
4582
- backgroundColor
4603
+ backgroundColor: $backgroundColor
4583
4604
  }
4584
4605
  }
4585
4606
  };
4586
4607
  }
4587
4608
  );
4588
- var ListViewDragIndicatorElement = import_styled_components25.default.div(({ theme, relativeDropPosition, offsetLeft, colorScheme, gap }) => ({
4609
+ var ListViewDragIndicatorElement = import_styled_components25.default.div(({ theme, $relativeDropPosition, $offsetLeft, $colorScheme, $gap }) => ({
4589
4610
  zIndex: 1,
4590
4611
  position: "absolute",
4591
4612
  borderRadius: "3px",
4592
- ...relativeDropPosition === "inside" ? {
4613
+ ...$relativeDropPosition === "inside" ? {
4593
4614
  inset: 2,
4594
- boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${colorScheme === "secondary" ? theme.colors.secondary : theme.colors.dragOutline}`
4615
+ boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${$colorScheme === "secondary" ? theme.colors.secondary : theme.colors.dragOutline}`
4595
4616
  } : {
4596
- top: relativeDropPosition === "above" ? -(3 + gap / 2) : void 0,
4597
- bottom: relativeDropPosition === "below" ? -(3 + gap / 2) : void 0,
4598
- left: offsetLeft,
4617
+ top: $relativeDropPosition === "above" ? -(3 + $gap / 2) : void 0,
4618
+ bottom: $relativeDropPosition === "below" ? -(3 + $gap / 2) : void 0,
4619
+ left: $offsetLeft,
4599
4620
  right: 0,
4600
4621
  height: 6,
4601
- background: theme.colors[colorScheme],
4622
+ background: theme.colors[$colorScheme],
4602
4623
  border: `2px solid white`,
4603
4624
  boxShadow: "0 0 2px rgba(0,0,0,0.5)"
4604
4625
  }
4605
4626
  }));
4606
- var ListViewRow = (0, import_react48.forwardRef)(function ListViewRow2({
4627
+ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4607
4628
  id,
4608
4629
  tabIndex = 0,
4609
4630
  gap,
@@ -4636,12 +4657,12 @@ var ListViewRow = (0, import_react48.forwardRef)(function ListViewRow2({
4636
4657
  divider,
4637
4658
  gap: listGap,
4638
4659
  colorScheme
4639
- } = (0, import_react48.useContext)(ListRowContext);
4660
+ } = (0, import_react49.useContext)(ListRowContext);
4640
4661
  const { hoverProps } = useHover({
4641
4662
  onHoverChange
4642
4663
  });
4643
- const { indentation, isDragging } = (0, import_react48.useContext)(DraggingContext);
4644
- const handlePress = (0, import_react48.useCallback)(
4664
+ const { indentation, isDragging } = (0, import_react49.useContext)(DraggingContext);
4665
+ const handlePress = (0, import_react49.useCallback)(
4645
4666
  (event) => {
4646
4667
  event.preventDefault();
4647
4668
  if (event.button !== 0)
@@ -4650,14 +4671,14 @@ var ListViewRow = (0, import_react48.forwardRef)(function ListViewRow2({
4650
4671
  },
4651
4672
  [onPress]
4652
4673
  );
4653
- const handleDoubleClick = (0, import_react48.useCallback)(
4674
+ const handleDoubleClick = (0, import_react49.useCallback)(
4654
4675
  (event) => {
4655
4676
  event.stopPropagation();
4656
4677
  onDoubleClick?.();
4657
4678
  },
4658
4679
  [onDoubleClick]
4659
4680
  );
4660
- const mergedStyle = (0, import_react48.useMemo)(() => {
4681
+ const mergedStyle = (0, import_react49.useMemo)(() => {
4661
4682
  return isDragging ? {
4662
4683
  // TODO: Where do these offsets actually come from?
4663
4684
  transform: `translate3d(-36px, -6px, 0)`,
@@ -4669,28 +4690,29 @@ var ListViewRow = (0, import_react48.forwardRef)(function ListViewRow2({
4669
4690
  relativeDropPosition,
4670
4691
  ...renderProps
4671
4692
  }, ref) => {
4672
- const element = /* @__PURE__ */ import_react48.default.createElement(
4673
- RowContainer,
4693
+ const Component = RowContainer;
4694
+ const element = /* @__PURE__ */ import_react49.default.createElement(
4695
+ Component,
4674
4696
  {
4675
4697
  ref,
4676
- colorScheme,
4698
+ $colorScheme: colorScheme,
4677
4699
  onContextMenu,
4678
- isSectionHeader,
4700
+ $isSectionHeader: isSectionHeader,
4679
4701
  id,
4680
- gap,
4681
- backgroundColor,
4702
+ $gap: gap ?? 0,
4703
+ $backgroundColor: backgroundColor,
4682
4704
  ...hoverProps,
4683
4705
  onDoubleClick: handleDoubleClick,
4684
- marginType,
4685
- disabled,
4686
- hovered,
4687
- selected,
4688
- variant,
4689
- sectionHeaderVariant,
4690
- selectedPosition,
4691
- showsActiveState: pressEventName === "onClick",
4706
+ $marginType: marginType ?? "none",
4707
+ $disabled: disabled,
4708
+ $hovered: hovered,
4709
+ $selected: selected,
4710
+ $variant: variant,
4711
+ $sectionHeaderVariant: sectionHeaderVariant,
4712
+ $selectedPosition: selectedPosition,
4713
+ $showsActiveState: pressEventName === "onClick",
4692
4714
  "aria-selected": selected,
4693
- divider: !isDragging && divider,
4715
+ $divider: !isDragging && divider,
4694
4716
  onKeyDown,
4695
4717
  style: mergedStyle,
4696
4718
  ...renderProps,
@@ -4700,20 +4722,20 @@ var ListViewRow = (0, import_react48.forwardRef)(function ListViewRow2({
4700
4722
  ),
4701
4723
  tabIndex
4702
4724
  },
4703
- relativeDropPosition && /* @__PURE__ */ import_react48.default.createElement(
4725
+ relativeDropPosition && /* @__PURE__ */ import_react49.default.createElement(
4704
4726
  ListViewDragIndicatorElement,
4705
4727
  {
4706
- colorScheme,
4707
- relativeDropPosition,
4708
- offsetLeft: 33 + depth * indentation,
4709
- gap: listGap
4728
+ $colorScheme: colorScheme,
4729
+ $relativeDropPosition: relativeDropPosition,
4730
+ $offsetLeft: 33 + depth * indentation,
4731
+ $gap: listGap
4710
4732
  }
4711
4733
  ),
4712
- depth > 0 && /* @__PURE__ */ import_react48.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
4734
+ depth > 0 && /* @__PURE__ */ import_react49.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
4713
4735
  children
4714
4736
  );
4715
4737
  if (menuItems && onSelectMenuItem) {
4716
- return /* @__PURE__ */ import_react48.default.createElement(
4738
+ return /* @__PURE__ */ import_react49.default.createElement(
4717
4739
  ContextMenu,
4718
4740
  {
4719
4741
  items: menuItems,
@@ -4726,21 +4748,24 @@ var ListViewRow = (0, import_react48.forwardRef)(function ListViewRow2({
4726
4748
  return element;
4727
4749
  };
4728
4750
  if (sortable && id) {
4729
- return /* @__PURE__ */ import_react48.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(sortableProps, (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)));
4751
+ return /* @__PURE__ */ import_react49.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(
4752
+ sortableProps,
4753
+ (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)
4754
+ ));
4730
4755
  }
4731
4756
  return renderContent({}, forwardedRef);
4732
4757
  });
4733
- var RenderItemContext = (0, import_react48.createContext)(
4758
+ var RenderItemContext = (0, import_react49.createContext)(
4734
4759
  () => null
4735
4760
  );
4736
- var VirtualizedListRow = (0, import_react48.memo)(function VirtualizedListRow2({
4761
+ var VirtualizedListRow = (0, import_react49.memo)(function VirtualizedListRow2({
4737
4762
  index,
4738
4763
  style: style3
4739
4764
  }) {
4740
- const renderItem = (0, import_react48.useContext)(RenderItemContext);
4741
- return /* @__PURE__ */ import_react48.default.createElement("div", { key: index, style: style3 }, renderItem(index));
4765
+ const renderItem = (0, import_react49.useContext)(RenderItemContext);
4766
+ return /* @__PURE__ */ import_react49.default.createElement("div", { key: index, style: style3 }, renderItem(index));
4742
4767
  });
4743
- var VirtualizedListInner = (0, import_react48.forwardRef)(function VirtualizedListInner2({
4768
+ var VirtualizedListInner = (0, import_react49.forwardRef)(function VirtualizedListInner2({
4744
4769
  size: size2,
4745
4770
  scrollElement,
4746
4771
  items,
@@ -4748,20 +4773,20 @@ var VirtualizedListInner = (0, import_react48.forwardRef)(function VirtualizedLi
4748
4773
  keyExtractor,
4749
4774
  renderItem
4750
4775
  }, ref) {
4751
- const listRef = (0, import_react48.useRef)(null);
4752
- (0, import_react48.useImperativeHandle)(ref, () => ({
4776
+ const listRef = (0, import_react49.useRef)(null);
4777
+ (0, import_react49.useImperativeHandle)(ref, () => ({
4753
4778
  scrollToIndex(index) {
4754
4779
  listRef.current?.scrollToItem(index);
4755
4780
  }
4756
4781
  }));
4757
- (0, import_react48.useLayoutEffect)(() => {
4782
+ (0, import_react49.useLayoutEffect)(() => {
4758
4783
  listRef.current?.resetAfterIndex(0);
4759
4784
  }, [
4760
4785
  // When items change, we need to re-render the virtualized list,
4761
4786
  // since it doesn't currently support row height changes
4762
4787
  items
4763
4788
  ]);
4764
- const listStyle = (0, import_react48.useMemo)(
4789
+ const listStyle = (0, import_react49.useMemo)(
4765
4790
  () => ({
4766
4791
  overflowX: "initial",
4767
4792
  overflowY: "initial",
@@ -4769,18 +4794,18 @@ var VirtualizedListInner = (0, import_react48.forwardRef)(function VirtualizedLi
4769
4794
  }),
4770
4795
  []
4771
4796
  );
4772
- return /* @__PURE__ */ import_react48.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react48.default.createElement(
4797
+ return /* @__PURE__ */ import_react49.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react49.default.createElement(
4773
4798
  import_react_virtualized.WindowScroller,
4774
4799
  {
4775
4800
  scrollElement,
4776
- style: (0, import_react48.useMemo)(() => ({ flex: "1 1 auto" }), [])
4801
+ style: (0, import_react49.useMemo)(() => ({ flex: "1 1 auto" }), [])
4777
4802
  },
4778
- (0, import_react48.useCallback)(
4803
+ (0, import_react49.useCallback)(
4779
4804
  ({
4780
4805
  registerChild,
4781
4806
  onChildScroll,
4782
4807
  scrollTop
4783
- }) => /* @__PURE__ */ import_react48.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react48.default.createElement(
4808
+ }) => /* @__PURE__ */ import_react49.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react49.default.createElement(
4784
4809
  import_react_window.VariableSizeList,
4785
4810
  {
4786
4811
  ref: listRef,
@@ -4810,18 +4835,18 @@ var VirtualizedListInner = (0, import_react48.forwardRef)(function VirtualizedLi
4810
4835
  )
4811
4836
  ));
4812
4837
  });
4813
- var VirtualizedList = (0, import_react48.memo)(
4838
+ var VirtualizedList = (0, import_react49.memo)(
4814
4839
  VirtualizedListInner
4815
4840
  );
4816
- var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable, gap }) => ({
4817
- flex: scrollable ? "1 0 0" : "0 0 auto",
4841
+ var RootContainer2 = import_styled_components25.default.div(({ theme, $scrollable, $gap }) => ({
4842
+ flex: $scrollable ? "1 0 0" : "0 0 auto",
4818
4843
  display: "flex",
4819
4844
  flexDirection: "column",
4820
4845
  flexWrap: "nowrap",
4821
4846
  color: theme.colors.textMuted,
4822
- gap
4847
+ gap: $gap
4823
4848
  }));
4824
- var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInner2({
4849
+ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInner2({
4825
4850
  onPress,
4826
4851
  scrollable = false,
4827
4852
  expandable = true,
@@ -4840,7 +4865,7 @@ var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInne
4840
4865
  colorScheme = "primary",
4841
4866
  gap = 0
4842
4867
  }, forwardedRef) {
4843
- const handleClick = (0, import_react48.useCallback)(
4868
+ const handleClick = (0, import_react49.useCallback)(
4844
4869
  (event) => {
4845
4870
  if (event.target instanceof HTMLElement && event.target.classList.contains("scroll-component"))
4846
4871
  return;
@@ -4850,19 +4875,19 @@ var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInne
4850
4875
  },
4851
4876
  [onPress]
4852
4877
  );
4853
- const renderChild = (0, import_react48.useCallback)(
4878
+ const renderChild = (0, import_react49.useCallback)(
4854
4879
  (index) => renderItem(data[index], index, { isDragging: false }),
4855
4880
  [data, renderItem]
4856
4881
  );
4857
- const getItemContextValue = (0, import_react48.useCallback)(
4882
+ const getItemContextValue = (0, import_react49.useCallback)(
4858
4883
  (i) => {
4859
4884
  const current = renderChild(i);
4860
- if (!(0, import_react48.isValidElement)(current))
4885
+ if (!(0, import_react49.isValidElement)(current))
4861
4886
  return;
4862
4887
  const prevChild = i - 1 >= 0 && renderChild(i - 1);
4863
4888
  const nextChild = i + 1 < data.length && renderChild(i + 1);
4864
- const next = (0, import_react48.isValidElement)(nextChild) ? nextChild : void 0;
4865
- const prev = (0, import_react48.isValidElement)(prevChild) ? prevChild : void 0;
4889
+ const next = (0, import_react49.isValidElement)(nextChild) ? nextChild : void 0;
4890
+ const prev = (0, import_react49.isValidElement)(prevChild) ? prevChild : void 0;
4866
4891
  const hasMarginTop = !prev;
4867
4892
  const hasMarginBottom = !next || current.props.isSectionHeader || next && next.props.isSectionHeader;
4868
4893
  let marginType;
@@ -4914,26 +4939,26 @@ var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInne
4914
4939
  gap
4915
4940
  ]
4916
4941
  );
4917
- const draggingContextOverlayValue = (0, import_react48.useMemo)(
4942
+ const draggingContextOverlayValue = (0, import_react49.useMemo)(
4918
4943
  () => ({ indentation, isDragging: true }),
4919
4944
  [indentation]
4920
4945
  );
4921
- const renderOverlay = (0, import_react48.useCallback)(
4922
- (index) => /* @__PURE__ */ import_react48.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react48.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
4946
+ const renderOverlay = (0, import_react49.useCallback)(
4947
+ (index) => /* @__PURE__ */ import_react49.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react49.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
4923
4948
  [draggingContextOverlayValue, renderItem, data]
4924
4949
  );
4925
- const renderWrappedChild = (0, import_react48.useCallback)(
4950
+ const renderWrappedChild = (0, import_react49.useCallback)(
4926
4951
  (index) => {
4927
4952
  const contextValue = getItemContextValue(index);
4928
4953
  const current = renderChild(index);
4929
- if (!contextValue || !(0, import_react48.isValidElement)(current))
4954
+ if (!contextValue || !(0, import_react49.isValidElement)(current))
4930
4955
  return null;
4931
- return /* @__PURE__ */ import_react48.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
4956
+ return /* @__PURE__ */ import_react49.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
4932
4957
  },
4933
4958
  [getItemContextValue, renderChild]
4934
4959
  );
4935
- const ids = (0, import_react48.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
4936
- const withSortable = (children) => sortable ? /* @__PURE__ */ import_react48.default.createElement(
4960
+ const ids = (0, import_react49.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
4961
+ const withSortable = (children) => sortable ? /* @__PURE__ */ import_react49.default.createElement(
4937
4962
  Sortable.Root,
4938
4963
  {
4939
4964
  onMoveItem,
@@ -4943,8 +4968,8 @@ var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInne
4943
4968
  },
4944
4969
  children
4945
4970
  ) : children;
4946
- const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react48.default.createElement(ScrollArea, null, children) : children(null);
4947
- const getItemHeight = (0, import_react48.useCallback)(
4971
+ const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react49.default.createElement(ScrollArea, null, children) : children(null);
4972
+ const getItemHeight = (0, import_react49.useCallback)(
4948
4973
  (index) => {
4949
4974
  const child = getItemContextValue(index);
4950
4975
  const margin = child?.marginType ? getPositionMargin(child.marginType) : { top: 0, bottom: 0 };
@@ -4953,23 +4978,23 @@ var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInne
4953
4978
  },
4954
4979
  [getItemContextValue, variant]
4955
4980
  );
4956
- const getKey = (0, import_react48.useCallback)(
4981
+ const getKey = (0, import_react49.useCallback)(
4957
4982
  (index) => keyExtractor(data[index], index),
4958
4983
  [data, keyExtractor]
4959
4984
  );
4960
- const draggingContextValue = (0, import_react48.useMemo)(() => ({ indentation }), [indentation]);
4961
- return /* @__PURE__ */ import_react48.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react48.default.createElement(
4985
+ const draggingContextValue = (0, import_react49.useMemo)(() => ({ indentation }), [indentation]);
4986
+ return /* @__PURE__ */ import_react49.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react49.default.createElement(
4962
4987
  RootContainer2,
4963
4988
  {
4964
4989
  ...{
4965
4990
  [pressEventName]: handleClick
4966
4991
  },
4967
- gap,
4968
- scrollable
4992
+ $gap: gap,
4993
+ $scrollable: scrollable
4969
4994
  },
4970
4995
  withScrollable(
4971
4996
  (scrollElementRef) => withSortable(
4972
- virtualized ? /* @__PURE__ */ import_react48.default.createElement(
4997
+ virtualized ? /* @__PURE__ */ import_react49.default.createElement(
4973
4998
  VirtualizedList,
4974
4999
  {
4975
5000
  ref: forwardedRef,
@@ -4980,47 +5005,47 @@ var ListViewRootInner = (0, import_react48.forwardRef)(function ListViewRootInne
4980
5005
  keyExtractor: getKey,
4981
5006
  renderItem: renderWrappedChild
4982
5007
  }
4983
- ) : (0, import_noya_utils8.range)(0, data.length).map(renderWrappedChild)
5008
+ ) : (0, import_noya_utils7.range)(0, data.length).map(renderWrappedChild)
4984
5009
  )
4985
5010
  )
4986
5011
  ));
4987
5012
  });
4988
- var ListViewRoot = (0, import_react48.memo)(ListViewRootInner);
4989
- var ChildrenListViewInner = (0, import_react48.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
4990
- const items = (0, import_react48.useMemo)(
4991
- () => import_react48.Children.toArray(children).flatMap(
4992
- (child) => (0, import_react48.isValidElement)(child) ? [child] : []
5013
+ var ListViewRoot = (0, import_react49.memo)(ListViewRootInner);
5014
+ var ChildrenListViewInner = (0, import_react49.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
5015
+ const items = (0, import_react49.useMemo)(
5016
+ () => import_react49.Children.toArray(children).flatMap(
5017
+ (child) => (0, import_react49.isValidElement)(child) ? [child] : []
4993
5018
  ),
4994
5019
  [children]
4995
5020
  );
4996
- return /* @__PURE__ */ import_react48.default.createElement(
5021
+ return /* @__PURE__ */ import_react49.default.createElement(
4997
5022
  ListViewRoot,
4998
5023
  {
4999
5024
  ref: forwardedRef,
5000
5025
  ...rest,
5001
5026
  data: items,
5002
- keyExtractor: (0, import_react48.useCallback)(
5027
+ keyExtractor: (0, import_react49.useCallback)(
5003
5028
  ({ key }, index) => typeof key === "string" ? key : (key ?? index).toString(),
5004
5029
  []
5005
5030
  ),
5006
- renderItem: (0, import_react48.useCallback)((item) => item, [])
5031
+ renderItem: (0, import_react49.useCallback)((item) => item, [])
5007
5032
  }
5008
5033
  );
5009
5034
  });
5010
- var ChildrenListView = (0, import_react48.memo)(ChildrenListViewInner);
5011
- var SimpleListViewInner = (0, import_react48.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
5035
+ var ChildrenListView = (0, import_react49.memo)(ChildrenListViewInner);
5036
+ var SimpleListViewInner = (0, import_react49.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
5012
5037
  if ("children" in props) {
5013
- return /* @__PURE__ */ import_react48.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
5038
+ return /* @__PURE__ */ import_react49.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
5014
5039
  } else {
5015
- return /* @__PURE__ */ import_react48.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
5040
+ return /* @__PURE__ */ import_react49.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
5016
5041
  }
5017
5042
  });
5018
- var SimpleListView = (0, import_react48.memo)(SimpleListViewInner);
5043
+ var SimpleListView = (0, import_react49.memo)(SimpleListViewInner);
5019
5044
  var ListView;
5020
5045
  ((ListView2) => {
5021
- ListView2.RowTitle = (0, import_react48.memo)(ListViewRowTitle);
5022
- ListView2.EditableRowTitle = (0, import_react48.memo)(ListViewEditableRowTitle);
5023
- ListView2.Row = (0, import_react48.memo)(ListViewRow);
5046
+ ListView2.RowTitle = (0, import_react49.memo)(ListViewRowTitle);
5047
+ ListView2.EditableRowTitle = (0, import_react49.memo)(ListViewEditableRowTitle);
5048
+ ListView2.Row = (0, import_react49.memo)(ListViewRow);
5024
5049
  ListView2.Root = SimpleListView;
5025
5050
  ListView2.RowContext = ListRowContext;
5026
5051
  ListView2.DragIndicator = ListViewDragIndicatorElement;
@@ -5033,7 +5058,7 @@ var ListView;
5033
5058
  })(ListView || (ListView = {}));
5034
5059
 
5035
5060
  // src/components/Text.tsx
5036
- var import_react49 = __toESM(require("react"));
5061
+ var import_react50 = __toESM(require("react"));
5037
5062
  var import_styled_components26 = __toESM(require("styled-components"));
5038
5063
  var elements = {
5039
5064
  title: "h1",
@@ -5049,13 +5074,13 @@ var elements = {
5049
5074
  code: "code",
5050
5075
  label: "span"
5051
5076
  };
5052
- var StyledElement = import_styled_components26.default.span(({ theme, variant, styleProps, breakpoints, color }) => ({
5053
- ...theme.textStyles[variant],
5054
- color: color ? theme.colors[color] : void 0,
5055
- ...styleProps,
5056
- ...mergeBreakpoints(breakpoints || [])
5077
+ var StyledElement = import_styled_components26.default.span(({ theme, $variant, $styleProps, $breakpoints, $color }) => ({
5078
+ ...theme.textStyles[$variant],
5079
+ color: $color ? theme.colors[$color] : void 0,
5080
+ ...$styleProps,
5081
+ ...mergeBreakpoints($breakpoints || [])
5057
5082
  }));
5058
- var Text = (0, import_react49.forwardRef)(function Text2({
5083
+ var Text = (0, import_react50.forwardRef)(function Text2({
5059
5084
  as,
5060
5085
  variant,
5061
5086
  breakpoints,
@@ -5067,44 +5092,44 @@ var Text = (0, import_react49.forwardRef)(function Text2({
5067
5092
  ...rest
5068
5093
  }, forwardedRef) {
5069
5094
  const element = as ?? elements[variant] ?? "span";
5070
- return /* @__PURE__ */ import_react49.default.createElement(
5095
+ return /* @__PURE__ */ import_react50.default.createElement(
5071
5096
  StyledElement,
5072
5097
  {
5073
5098
  ref: forwardedRef,
5074
5099
  as: element,
5075
5100
  className,
5076
- variant,
5077
- breakpoints,
5078
- styleProps: rest,
5079
- color,
5101
+ $variant: variant,
5102
+ $breakpoints: breakpoints,
5103
+ $styleProps: rest,
5104
+ $color: color,
5080
5105
  onClick,
5081
5106
  ...href && { href }
5082
5107
  },
5083
5108
  children
5084
5109
  );
5085
5110
  });
5086
- var Heading1 = (0, import_react49.forwardRef)(
5087
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "heading1" })
5111
+ var Heading1 = (0, import_react50.forwardRef)(
5112
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading1" })
5088
5113
  );
5089
- var Heading2 = (0, import_react49.forwardRef)(
5090
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "heading2" })
5114
+ var Heading2 = (0, import_react50.forwardRef)(
5115
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading2" })
5091
5116
  );
5092
- var Heading3 = (0, import_react49.forwardRef)(
5093
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "heading3" })
5117
+ var Heading3 = (0, import_react50.forwardRef)(
5118
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading3" })
5094
5119
  );
5095
- var Heading4 = (0, import_react49.forwardRef)(
5096
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "heading4" })
5120
+ var Heading4 = (0, import_react50.forwardRef)(
5121
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading4" })
5097
5122
  );
5098
- var Heading5 = (0, import_react49.forwardRef)(
5099
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "heading5" })
5123
+ var Heading5 = (0, import_react50.forwardRef)(
5124
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading5" })
5100
5125
  );
5101
- var Body = (0, import_react49.forwardRef)(
5102
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "body" })
5126
+ var Body = (0, import_react50.forwardRef)(
5127
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "body" })
5103
5128
  );
5104
- var Small = (0, import_react49.forwardRef)(
5105
- (props, ref) => /* @__PURE__ */ import_react49.default.createElement(Text, { ref, ...props, variant: "small" })
5129
+ var Small = (0, import_react50.forwardRef)(
5130
+ (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "small" })
5106
5131
  );
5107
- var Italic = ({ children }) => /* @__PURE__ */ import_react49.default.createElement(
5132
+ var Italic = ({ children }) => /* @__PURE__ */ import_react50.default.createElement(
5108
5133
  "span",
5109
5134
  {
5110
5135
  style: {
@@ -5116,9 +5141,9 @@ var Italic = ({ children }) => /* @__PURE__ */ import_react49.default.createElem
5116
5141
 
5117
5142
  // src/components/InputFieldWithCompletions.tsx
5118
5143
  function filterWithGroupedSections(items, query) {
5119
- const sections = (0, import_noya_utils9.chunkBy)(items, (a, b) => b.type !== "sectionHeader");
5144
+ const sections = (0, import_noya_utils8.chunkBy)(items, (a, b) => b.type !== "sectionHeader");
5120
5145
  return sections.flatMap((section) => {
5121
- const [headers, regular] = (0, import_noya_utils9.partition)(
5146
+ const [headers, regular] = (0, import_noya_utils8.partition)(
5122
5147
  section,
5123
5148
  (item) => item.type === "sectionHeader"
5124
5149
  );
@@ -5141,20 +5166,20 @@ function filterWithGroupedSections(items, query) {
5141
5166
  });
5142
5167
  }
5143
5168
  var CompletionToken = import_styled_components27.default.span(
5144
- ({ type }) => ({
5145
- fontWeight: type === "match" ? "bold" : "normal",
5169
+ ({ $type }) => ({
5170
+ fontWeight: $type === "match" ? "bold" : "normal",
5146
5171
  whiteSpace: "pre"
5147
5172
  })
5148
5173
  );
5149
- var CompletionMenu = (0, import_react50.memo)(
5150
- (0, import_react50.forwardRef)(function CompletionMenu2({
5174
+ var CompletionMenu = (0, import_react51.memo)(
5175
+ (0, import_react51.forwardRef)(function CompletionMenu2({
5151
5176
  items,
5152
5177
  selectedIndex,
5153
5178
  onSelectItem,
5154
5179
  onHoverIndex,
5155
5180
  listSize
5156
5181
  }, forwardedRef) {
5157
- return /* @__PURE__ */ import_react50.default.createElement(
5182
+ return /* @__PURE__ */ import_react51.default.createElement(
5158
5183
  ListView.Root,
5159
5184
  {
5160
5185
  ref: forwardedRef,
@@ -5166,13 +5191,13 @@ var CompletionMenu = (0, import_react50.memo)(
5166
5191
  sectionHeaderVariant: "label",
5167
5192
  renderItem: (item, i) => {
5168
5193
  if (item.type === "sectionHeader") {
5169
- return /* @__PURE__ */ import_react50.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
5194
+ return /* @__PURE__ */ import_react51.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
5170
5195
  }
5171
5196
  const tokens = fuzzyTokenize({
5172
5197
  item: item.name,
5173
5198
  itemScore: item
5174
5199
  });
5175
- return /* @__PURE__ */ import_react50.default.createElement(
5200
+ return /* @__PURE__ */ import_react51.default.createElement(
5176
5201
  ListView.Row,
5177
5202
  {
5178
5203
  key: item.id,
@@ -5184,16 +5209,16 @@ var CompletionMenu = (0, import_react50.memo)(
5184
5209
  }
5185
5210
  }
5186
5211
  },
5187
- tokens.map((token, j) => /* @__PURE__ */ import_react50.default.createElement(CompletionToken, { key: j, type: token.type }, token.text)),
5188
- item.icon && /* @__PURE__ */ import_react50.default.createElement(import_react50.default.Fragment, null, /* @__PURE__ */ import_react50.default.createElement(Spacer.Horizontal, null), item.icon)
5212
+ tokens.map((token, j) => /* @__PURE__ */ import_react51.default.createElement(CompletionToken, { key: j, $type: token.type }, token.text)),
5213
+ item.icon && /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(Spacer.Horizontal, null), item.icon)
5189
5214
  );
5190
5215
  }
5191
5216
  }
5192
5217
  );
5193
5218
  })
5194
5219
  );
5195
- var InputFieldWithCompletions = (0, import_react50.memo)(
5196
- (0, import_react50.forwardRef)(function InputFieldWithCompletions2({
5220
+ var InputFieldWithCompletions = (0, import_react51.memo)(
5221
+ (0, import_react51.forwardRef)(function InputFieldWithCompletions2({
5197
5222
  loading,
5198
5223
  initialValue = "",
5199
5224
  placeholder,
@@ -5211,13 +5236,13 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5211
5236
  hideChildrenWhenFocused = false,
5212
5237
  hideMenuWhenEmptyValue = false
5213
5238
  }, forwardedRef) {
5214
- const ref = (0, import_react50.useRef)(null);
5215
- const [isFocused, setIsFocused] = (0, import_react50.useState)(false);
5216
- const [state, _setState] = (0, import_react50.useState)({
5239
+ const ref = (0, import_react51.useRef)(null);
5240
+ const [isFocused, setIsFocused] = (0, import_react51.useState)(false);
5241
+ const [state, _setState] = (0, import_react51.useState)({
5217
5242
  filter: initialValue,
5218
5243
  selectedIndex: 0
5219
5244
  });
5220
- const updateState = (0, import_react50.useCallback)(
5245
+ const updateState = (0, import_react51.useCallback)(
5221
5246
  (newState, hoverItem) => {
5222
5247
  const nextState = { ...state, ...newState };
5223
5248
  const nextItems = filterWithGroupedSections(items, nextState.filter);
@@ -5246,20 +5271,20 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5246
5271
  },
5247
5272
  [items, onChange, onHoverItem, state]
5248
5273
  );
5249
- const initialValueRef = (0, import_react50.useRef)(initialValue);
5250
- (0, import_react50.useLayoutEffect)(() => {
5274
+ const initialValueRef = (0, import_react51.useRef)(initialValue);
5275
+ (0, import_react51.useLayoutEffect)(() => {
5251
5276
  if (initialValueRef.current === initialValue)
5252
5277
  return;
5253
5278
  initialValueRef.current = initialValue;
5254
5279
  updateState({ filter: initialValue });
5255
5280
  }, [initialValue, updateState]);
5256
5281
  const { filter, selectedIndex } = state;
5257
- const listRef = import_react50.default.useRef(null);
5258
- const filteredItems = (0, import_react50.useMemo)(
5282
+ const listRef = import_react51.default.useRef(null);
5283
+ const filteredItems = (0, import_react51.useMemo)(
5259
5284
  () => filterWithGroupedSections(items, filter),
5260
5285
  [items, filter]
5261
5286
  );
5262
- const [normalItems, sectionHeaderItems] = (0, import_noya_utils9.partition)(
5287
+ const [normalItems, sectionHeaderItems] = (0, import_noya_utils8.partition)(
5263
5288
  filteredItems,
5264
5289
  (item) => item.type !== "sectionHeader"
5265
5290
  );
@@ -5271,13 +5296,13 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5271
5296
  ),
5272
5297
  ListView.rowHeight * 10.5
5273
5298
  );
5274
- (0, import_react50.useEffect)(() => {
5299
+ (0, import_react51.useEffect)(() => {
5275
5300
  if (listRef.current) {
5276
5301
  listRef.current.scrollToIndex(selectedIndex);
5277
5302
  }
5278
5303
  }, [selectedIndex]);
5279
- const lastSubmittedValueRef = (0, import_react50.useRef)(void 0);
5280
- const selectItem = (0, import_react50.useCallback)(
5304
+ const lastSubmittedValueRef = (0, import_react51.useRef)(void 0);
5305
+ const selectItem = (0, import_react51.useCallback)(
5281
5306
  (item) => {
5282
5307
  if (item.type === "sectionHeader")
5283
5308
  return;
@@ -5293,17 +5318,17 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5293
5318
  },
5294
5319
  [filter, onSelectItem, onHoverItem, ref]
5295
5320
  );
5296
- const handleChange = (0, import_react50.useCallback)(
5321
+ const handleChange = (0, import_react51.useCallback)(
5297
5322
  (value) => updateState({ selectedIndex: 0, filter: value }),
5298
5323
  [updateState]
5299
5324
  );
5300
- const handleBlur = (0, import_react50.useCallback)(() => {
5325
+ const handleBlur = (0, import_react51.useCallback)(() => {
5301
5326
  setIsFocused(false);
5302
5327
  const didSubmit = lastSubmittedValueRef.current?.filter === filter;
5303
5328
  updateState({ selectedIndex: 0, filter: initialValue }, "resetHover");
5304
5329
  onBlur?.(didSubmit, filter);
5305
5330
  }, [filter, initialValue, onBlur, updateState]);
5306
- const handleFocus = (0, import_react50.useCallback)(
5331
+ const handleFocus = (0, import_react51.useCallback)(
5307
5332
  (event) => {
5308
5333
  setIsFocused(true);
5309
5334
  updateState({ selectedIndex: 0, filter: initialValue });
@@ -5311,11 +5336,11 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5311
5336
  },
5312
5337
  [initialValue, onFocus, updateState]
5313
5338
  );
5314
- const handleIndexChange = (0, import_react50.useCallback)(
5339
+ const handleIndexChange = (0, import_react51.useCallback)(
5315
5340
  (index) => updateState({ selectedIndex: index }),
5316
5341
  [updateState]
5317
5342
  );
5318
- const handleKeyDown = (0, import_react50.useCallback)(
5343
+ const handleKeyDown = (0, import_react51.useCallback)(
5319
5344
  (event) => {
5320
5345
  let handled = false;
5321
5346
  switch (event.key) {
@@ -5379,7 +5404,7 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5379
5404
  );
5380
5405
  const display = !filter && hideMenuWhenEmptyValue ? "none" : "flex";
5381
5406
  const typeaheadValue = filteredItems[selectedIndex]?.name;
5382
- (0, import_react50.useImperativeHandle)(forwardedRef, () => ({
5407
+ (0, import_react51.useImperativeHandle)(forwardedRef, () => ({
5383
5408
  focus: () => {
5384
5409
  ref.current?.focus();
5385
5410
  },
@@ -5390,14 +5415,14 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5390
5415
  ref.current?.setSelectionRange(0, ref.current.value.length);
5391
5416
  }
5392
5417
  }));
5393
- return /* @__PURE__ */ import_react50.default.createElement(
5418
+ return /* @__PURE__ */ import_react51.default.createElement(
5394
5419
  InputField.Root,
5395
5420
  {
5396
5421
  size: size2,
5397
5422
  labelSize: 16,
5398
5423
  renderPopoverContent: ({ width }) => {
5399
5424
  const listSize = { width, height };
5400
- return /* @__PURE__ */ import_react50.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react50.default.createElement(
5425
+ return /* @__PURE__ */ import_react51.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react51.default.createElement(
5401
5426
  CompletionMenu,
5402
5427
  {
5403
5428
  ref: listRef,
@@ -5407,7 +5432,7 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5407
5432
  onHoverIndex: handleIndexChange,
5408
5433
  listSize
5409
5434
  }
5410
- ) : /* @__PURE__ */ import_react50.default.createElement(
5435
+ ) : /* @__PURE__ */ import_react51.default.createElement(
5411
5436
  Stack.V,
5412
5437
  {
5413
5438
  height: "100px",
@@ -5415,11 +5440,11 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5415
5440
  alignItems: "center",
5416
5441
  justifyContent: "center"
5417
5442
  },
5418
- /* @__PURE__ */ import_react50.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
5443
+ /* @__PURE__ */ import_react51.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
5419
5444
  ));
5420
5445
  }
5421
5446
  },
5422
- /* @__PURE__ */ import_react50.default.createElement(
5447
+ /* @__PURE__ */ import_react51.default.createElement(
5423
5448
  InputField.Input,
5424
5449
  {
5425
5450
  ref,
@@ -5443,9 +5468,9 @@ var InputFieldWithCompletions = (0, import_react50.memo)(
5443
5468
  "aria-controls": "component-listbox"
5444
5469
  }
5445
5470
  ),
5446
- filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react50.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
5471
+ filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react51.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
5447
5472
  (!isFocused || !hideChildrenWhenFocused) && children,
5448
- loading && isFocused && /* @__PURE__ */ import_react50.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react50.default.createElement(ActivityIndicator, null))
5473
+ loading && isFocused && /* @__PURE__ */ import_react51.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react51.default.createElement(ActivityIndicator, null))
5449
5474
  );
5450
5475
  })
5451
5476
  );
@@ -5467,13 +5492,13 @@ function getNextIndex(items, currentIndex, direction, isDisabled) {
5467
5492
  }
5468
5493
 
5469
5494
  // src/components/Label.tsx
5470
- var import_react51 = __toESM(require("react"));
5495
+ var import_react52 = __toESM(require("react"));
5471
5496
  var import_styled_components28 = __toESM(require("styled-components"));
5472
5497
  var LabelLabel = import_styled_components28.default.label(
5473
- ({ theme, selected }) => ({
5498
+ ({ theme, $selected }) => ({
5474
5499
  ...theme.textStyles.small,
5475
5500
  color: theme.colors.textMuted,
5476
- ...selected && {
5501
+ ...$selected && {
5477
5502
  color: theme.colors.text
5478
5503
  },
5479
5504
  fontSize: "11px",
@@ -5496,17 +5521,17 @@ var LabelContainer2 = import_styled_components28.default.span(({ theme }) => ({
5496
5521
  alignItems: "center"
5497
5522
  }));
5498
5523
  function LabelRoot({ label, children }) {
5499
- return /* @__PURE__ */ import_react51.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react51.default.createElement(LabelLabel, null, label)));
5524
+ return /* @__PURE__ */ import_react52.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react52.default.createElement(import_react52.default.Fragment, null, /* @__PURE__ */ import_react52.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react52.default.createElement(LabelLabel, null, label)));
5500
5525
  }
5501
5526
  var Label;
5502
5527
  ((_Label) => {
5503
- _Label.Label = (0, import_react51.memo)(LabelLabel);
5504
- _Label.Root = (0, import_react51.memo)(LabelRoot);
5528
+ _Label.Label = (0, import_react52.memo)(LabelLabel);
5529
+ _Label.Root = (0, import_react52.memo)(LabelRoot);
5505
5530
  })(Label || (Label = {}));
5506
5531
 
5507
5532
  // src/components/LabeledElementView.tsx
5508
5533
  var kiwi = __toESM(require("kiwi.js"));
5509
- var import_react52 = __toESM(require("react"));
5534
+ var import_react53 = __toESM(require("react"));
5510
5535
  var import_styled_components29 = __toESM(require("styled-components"));
5511
5536
  var Container4 = import_styled_components29.default.div(({ theme }) => ({
5512
5537
  display: "flex",
@@ -5525,24 +5550,24 @@ var Labels = import_styled_components29.default.div(({ theme }) => ({
5525
5550
  overflow: "hidden",
5526
5551
  userSelect: "none"
5527
5552
  }));
5528
- var LabeledElementView = (0, import_react52.memo)(function LabeledElementView2({
5553
+ var LabeledElementView = (0, import_react53.memo)(function LabeledElementView2({
5529
5554
  children,
5530
5555
  renderLabel
5531
5556
  }) {
5532
- const elementIds = import_react52.Children.toArray(children).flatMap(
5533
- (child) => (0, import_react52.isValidElement)(child) && child.type === import_react52.Fragment ? child.props.children : [child]
5557
+ const elementIds = import_react53.Children.toArray(children).flatMap(
5558
+ (child) => (0, import_react53.isValidElement)(child) && child.type === import_react53.Fragment ? child.props.children : [child]
5534
5559
  ).map(
5535
- (child) => (0, import_react52.isValidElement)(child) && "id" in child.props ? child.props.id : null
5560
+ (child) => (0, import_react53.isValidElement)(child) && "id" in child.props ? child.props.id : null
5536
5561
  ).filter((id) => !!id);
5537
5562
  const serializedIds = elementIds.join(",");
5538
- const containerRef = (0, import_react52.useRef)(null);
5539
- const refs = (0, import_react52.useMemo)(() => {
5563
+ const containerRef = (0, import_react53.useRef)(null);
5564
+ const refs = (0, import_react53.useMemo)(() => {
5540
5565
  return Object.fromEntries(
5541
- serializedIds.split(",").map((id) => [id, (0, import_react52.createRef)()])
5566
+ serializedIds.split(",").map((id) => [id, (0, import_react53.createRef)()])
5542
5567
  );
5543
5568
  }, [serializedIds]);
5544
- const labelElements = (0, import_react52.useMemo)(() => {
5545
- return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react52.default.createElement(
5569
+ const labelElements = (0, import_react53.useMemo)(() => {
5570
+ return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react53.default.createElement(
5546
5571
  "span",
5547
5572
  {
5548
5573
  key: id,
@@ -5555,7 +5580,7 @@ var LabeledElementView = (0, import_react52.memo)(function LabeledElementView2({
5555
5580
  })
5556
5581
  ));
5557
5582
  }, [refs, serializedIds, renderLabel]);
5558
- (0, import_react52.useLayoutEffect)(() => {
5583
+ (0, import_react53.useLayoutEffect)(() => {
5559
5584
  if (!containerRef.current)
5560
5585
  return;
5561
5586
  const containerRect = containerRef.current.getBoundingClientRect();
@@ -5620,13 +5645,13 @@ var LabeledElementView = (0, import_react52.memo)(function LabeledElementView2({
5620
5645
  `${Math.max(...heights)}px`
5621
5646
  );
5622
5647
  }, [refs, labelElements]);
5623
- return /* @__PURE__ */ import_react52.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react52.default.createElement(Tools, null, children), /* @__PURE__ */ import_react52.default.createElement(Labels, null, labelElements));
5648
+ return /* @__PURE__ */ import_react53.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react53.default.createElement(Tools, null, children), /* @__PURE__ */ import_react53.default.createElement(Labels, null, labelElements));
5624
5649
  });
5625
5650
 
5626
5651
  // src/components/Progress.tsx
5627
- var import_noya_utils10 = require("@noya-app/noya-utils");
5652
+ var import_noya_utils9 = require("@noya-app/noya-utils");
5628
5653
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
5629
- var import_react53 = __toESM(require("react"));
5654
+ var import_react54 = __toESM(require("react"));
5630
5655
  var import_styled_components30 = __toESM(require("styled-components"));
5631
5656
  function Progress({
5632
5657
  value,
@@ -5635,8 +5660,8 @@ function Progress({
5635
5660
  flex,
5636
5661
  variant = "normal"
5637
5662
  }) {
5638
- const clampedValue = (0, import_noya_utils10.clamp)(value, 0, 100);
5639
- return /* @__PURE__ */ import_react53.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react53.default.createElement(
5663
+ const clampedValue = (0, import_noya_utils9.clamp)(value, 0, 100);
5664
+ return /* @__PURE__ */ import_react54.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react54.default.createElement(
5640
5665
  ProgressIndicator,
5641
5666
  {
5642
5667
  variant,
@@ -5661,11 +5686,11 @@ var ProgressIndicator = (0, import_styled_components30.default)(ProgressPrimitiv
5661
5686
 
5662
5687
  // src/components/RadioGroup.tsx
5663
5688
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"));
5664
- var import_react54 = __toESM(require("react"));
5689
+ var import_react55 = __toESM(require("react"));
5665
5690
  var import_styled_components31 = __toESM(require("styled-components"));
5666
- var ignoredProps3 = /* @__PURE__ */ new Set(["colorScheme"]);
5691
+ var ignoredProps2 = /* @__PURE__ */ new Set(["colorScheme"]);
5667
5692
  var StyledRoot = (0, import_styled_components31.default)(ToggleGroupPrimitive.Root).withConfig({
5668
- shouldForwardProp: (prop) => !ignoredProps3.has(prop)
5693
+ shouldForwardProp: (prop) => !ignoredProps2.has(prop)
5669
5694
  })(({ theme, colorScheme }) => ({
5670
5695
  appearance: "none",
5671
5696
  width: "0px",
@@ -5688,7 +5713,7 @@ var StyledRoot = (0, import_styled_components31.default)(ToggleGroupPrimitive.Ro
5688
5713
  padding: colorScheme === void 0 ? "2px" : 0
5689
5714
  }));
5690
5715
  var StyledItem = (0, import_styled_components31.default)(ToggleGroupPrimitive.Item).withConfig({
5691
- shouldForwardProp: (prop) => !ignoredProps3.has(prop)
5716
+ shouldForwardProp: (prop) => !ignoredProps2.has(prop)
5692
5717
  })(({ theme, colorScheme }) => ({
5693
5718
  ...theme.textStyles.small,
5694
5719
  position: "relative",
@@ -5714,9 +5739,9 @@ var StyledItem = (0, import_styled_components31.default)(ToggleGroupPrimitive.It
5714
5739
  boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors[colorScheme ?? "primary"]}`
5715
5740
  }
5716
5741
  }));
5717
- var ToggleGroupItem = (0, import_react54.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
5718
- const { colorScheme } = (0, import_react54.useContext)(RadioGroupContext);
5719
- const itemElement = /* @__PURE__ */ import_react54.default.createElement(
5742
+ var ToggleGroupItem = (0, import_react55.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
5743
+ const { colorScheme } = (0, import_react55.useContext)(RadioGroupContext);
5744
+ const itemElement = /* @__PURE__ */ import_react55.default.createElement(
5720
5745
  StyledItem,
5721
5746
  {
5722
5747
  ref: forwardedRef,
@@ -5726,9 +5751,9 @@ var ToggleGroupItem = (0, import_react54.forwardRef)(function ToggleGroupItem2({
5726
5751
  },
5727
5752
  children
5728
5753
  );
5729
- return tooltip ? /* @__PURE__ */ import_react54.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
5754
+ return tooltip ? /* @__PURE__ */ import_react55.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
5730
5755
  });
5731
- var RadioGroupContext = (0, import_react54.createContext)({
5756
+ var RadioGroupContext = (0, import_react55.createContext)({
5732
5757
  colorScheme: "primary"
5733
5758
  });
5734
5759
  function ToggleGroupRoot({
@@ -5739,8 +5764,8 @@ function ToggleGroupRoot({
5739
5764
  allowEmpty,
5740
5765
  children
5741
5766
  }) {
5742
- const contextValue = (0, import_react54.useMemo)(() => ({ colorScheme }), [colorScheme]);
5743
- const handleValueChange = (0, import_react54.useCallback)(
5767
+ const contextValue = (0, import_react55.useMemo)(() => ({ colorScheme }), [colorScheme]);
5768
+ const handleValueChange = (0, import_react55.useCallback)(
5744
5769
  (value2) => {
5745
5770
  if (!allowEmpty && !value2)
5746
5771
  return;
@@ -5748,7 +5773,7 @@ function ToggleGroupRoot({
5748
5773
  },
5749
5774
  [allowEmpty, onValueChange]
5750
5775
  );
5751
- return /* @__PURE__ */ import_react54.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react54.default.createElement(
5776
+ return /* @__PURE__ */ import_react55.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react55.default.createElement(
5752
5777
  StyledRoot,
5753
5778
  {
5754
5779
  id,
@@ -5762,53 +5787,53 @@ function ToggleGroupRoot({
5762
5787
  }
5763
5788
  var RadioGroup;
5764
5789
  ((RadioGroup2) => {
5765
- RadioGroup2.Root = (0, import_react54.memo)(ToggleGroupRoot);
5766
- RadioGroup2.Item = (0, import_react54.memo)(ToggleGroupItem);
5790
+ RadioGroup2.Root = (0, import_react55.memo)(ToggleGroupRoot);
5791
+ RadioGroup2.Item = (0, import_react55.memo)(ToggleGroupItem);
5767
5792
  })(RadioGroup || (RadioGroup = {}));
5768
5793
 
5769
5794
  // src/components/Select.tsx
5770
- var import_noya_utils11 = require("@noya-app/noya-utils");
5771
- var import_react55 = __toESM(require("react"));
5795
+ var import_noya_utils10 = require("@noya-app/noya-utils");
5796
+ var import_react56 = __toESM(require("react"));
5772
5797
  var import_styled_components32 = __toESM(require("styled-components"));
5773
- var SelectContext = (0, import_react55.createContext)(void 0);
5774
- var SelectOption = (0, import_react55.memo)(function SelectOption2({
5798
+ var SelectContext = (0, import_react56.createContext)(void 0);
5799
+ var SelectOption = (0, import_react56.memo)(function SelectOption2({
5775
5800
  value,
5776
5801
  title,
5777
5802
  onSelect
5778
5803
  }) {
5779
- const { addListener, removeListener } = (0, import_react55.useContext)(SelectContext);
5780
- (0, import_react55.useEffect)(() => {
5804
+ const { addListener, removeListener } = (0, import_react56.useContext)(SelectContext);
5805
+ (0, import_react56.useEffect)(() => {
5781
5806
  if (!onSelect)
5782
5807
  return;
5783
5808
  addListener(value, onSelect);
5784
5809
  return () => removeListener(value);
5785
5810
  }, [addListener, onSelect, removeListener, value]);
5786
- return /* @__PURE__ */ import_react55.default.createElement("option", { value }, title ?? value);
5811
+ return /* @__PURE__ */ import_react56.default.createElement("option", { value }, title ?? value);
5787
5812
  });
5788
- var createChevronSVGString = (0, import_noya_utils11.memoize)(
5813
+ var createChevronSVGString = (0, import_noya_utils10.memoize)(
5789
5814
  (color) => `
5790
5815
  <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='${color}'>
5791
5816
  <path d='M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z'></path>
5792
5817
  </svg>
5793
- `
5818
+ `.replace(/\n/g, "")
5794
5819
  );
5795
5820
  var SelectContainer = import_styled_components32.default.div(
5796
- ({ flex }) => ({
5797
- flex: flex ?? "1 1 0px",
5821
+ ({ $flex }) => ({
5822
+ flex: $flex ?? "1 1 0px",
5798
5823
  display: "flex",
5799
5824
  flexDirection: "row",
5800
5825
  position: "relative"
5801
5826
  })
5802
5827
  );
5803
5828
  var SelectElement = import_styled_components32.default.select(
5804
- ({ theme, flex }) => ({
5829
+ ({ theme, $flex }) => ({
5805
5830
  appearance: "none",
5806
5831
  ...theme.textStyles.small,
5807
5832
  color: theme.colors.text,
5808
5833
  lineHeight: "19px",
5809
5834
  width: "0px",
5810
5835
  // Reset intrinsic width
5811
- flex: flex ?? "1 1 0px",
5836
+ flex: $flex ?? "1 1 0px",
5812
5837
  position: "relative",
5813
5838
  border: "0",
5814
5839
  outline: "none",
@@ -5845,7 +5870,7 @@ var SelectLabel = import_styled_components32.default.label(({ theme }) => ({
5845
5870
  justifyContent: "end",
5846
5871
  paddingRight: "24px"
5847
5872
  }));
5848
- var Select = (0, import_react55.memo)(function Select2({
5873
+ var Select = (0, import_react56.memo)(function Select2({
5849
5874
  id,
5850
5875
  flex,
5851
5876
  value,
@@ -5856,8 +5881,8 @@ var Select = (0, import_react55.memo)(function Select2({
5856
5881
  const getTitle = "options" in rest ? rest.getTitle : void 0;
5857
5882
  const onChange = "options" in rest ? rest.onChange : void 0;
5858
5883
  const children = "options" in rest ? void 0 : rest.children;
5859
- const optionElements = (0, import_react55.useMemo)(
5860
- () => options ? options.map((option, index) => /* @__PURE__ */ import_react55.default.createElement(
5884
+ const optionElements = (0, import_react56.useMemo)(
5885
+ () => options ? options.map((option, index) => /* @__PURE__ */ import_react56.default.createElement(
5861
5886
  SelectOption,
5862
5887
  {
5863
5888
  key: option,
@@ -5868,33 +5893,33 @@ var Select = (0, import_react55.memo)(function Select2({
5868
5893
  )) : children,
5869
5894
  [children, getTitle, onChange, options]
5870
5895
  );
5871
- const listeners = (0, import_react55.useRef)(/* @__PURE__ */ new Map());
5872
- const contextValue = (0, import_react55.useMemo)(
5896
+ const listeners = (0, import_react56.useRef)(/* @__PURE__ */ new Map());
5897
+ const contextValue = (0, import_react56.useMemo)(
5873
5898
  () => ({
5874
5899
  addListener: (value2, listener) => listeners.current.set(value2, listener),
5875
5900
  removeListener: (value2) => listeners.current.delete(value2)
5876
5901
  }),
5877
5902
  []
5878
5903
  );
5879
- return /* @__PURE__ */ import_react55.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react55.default.createElement(SelectContainer, { flex }, /* @__PURE__ */ import_react55.default.createElement(
5904
+ return /* @__PURE__ */ import_react56.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react56.default.createElement(SelectContainer, { $flex: flex }, /* @__PURE__ */ import_react56.default.createElement(
5880
5905
  SelectElement,
5881
5906
  {
5882
5907
  id,
5883
- flex,
5908
+ $flex: flex,
5884
5909
  value,
5885
- onChange: (0, import_react55.useCallback)(
5910
+ onChange: (0, import_react56.useCallback)(
5886
5911
  (event) => listeners.current.get(event.target.value)?.(),
5887
5912
  [listeners]
5888
5913
  ),
5889
5914
  onPointerDown: (event) => event.stopPropagation()
5890
5915
  },
5891
5916
  optionElements
5892
- )), label && /* @__PURE__ */ import_react55.default.createElement(SelectLabel, { htmlFor: id }, label));
5917
+ )), label && /* @__PURE__ */ import_react56.default.createElement(SelectLabel, { htmlFor: id }, label));
5893
5918
  });
5894
5919
 
5895
5920
  // src/components/Slider.tsx
5896
5921
  var RadixSlider = __toESM(require("@radix-ui/react-slider"));
5897
- var import_react56 = __toESM(require("react"));
5922
+ var import_react57 = __toESM(require("react"));
5898
5923
  var import_styled_components33 = __toESM(require("styled-components"));
5899
5924
  var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
5900
5925
  flex: "1",
@@ -5935,17 +5960,17 @@ var Slider = function Slider2({
5935
5960
  min,
5936
5961
  max
5937
5962
  }) {
5938
- const arrayValue = (0, import_react56.useMemo)(
5963
+ const arrayValue = (0, import_react57.useMemo)(
5939
5964
  () => [Math.min(Math.max(value, min), max)],
5940
5965
  [value, min, max]
5941
5966
  );
5942
- const handleValueChange = (0, import_react56.useCallback)(
5967
+ const handleValueChange = (0, import_react57.useCallback)(
5943
5968
  (arrayValue2) => {
5944
5969
  onValueChange(arrayValue2[0]);
5945
5970
  },
5946
5971
  [onValueChange]
5947
5972
  );
5948
- return /* @__PURE__ */ import_react56.default.createElement(
5973
+ return /* @__PURE__ */ import_react57.default.createElement(
5949
5974
  StyledSlider,
5950
5975
  {
5951
5976
  min,
@@ -5954,16 +5979,16 @@ var Slider = function Slider2({
5954
5979
  value: arrayValue,
5955
5980
  onValueChange: handleValueChange
5956
5981
  },
5957
- /* @__PURE__ */ import_react56.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react56.default.createElement(StyledRange, null)),
5958
- /* @__PURE__ */ import_react56.default.createElement(StyledThumb2, null)
5982
+ /* @__PURE__ */ import_react57.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react57.default.createElement(StyledRange, null)),
5983
+ /* @__PURE__ */ import_react57.default.createElement(StyledThumb2, null)
5959
5984
  );
5960
5985
  };
5961
5986
 
5962
5987
  // src/components/Switch.tsx
5963
5988
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
5964
- var import_react57 = __toESM(require("react"));
5989
+ var import_react58 = __toESM(require("react"));
5965
5990
  var import_styled_components34 = __toESM(require("styled-components"));
5966
- var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)(({ theme, colorScheme: variant }) => ({
5991
+ var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)(({ theme, $colorScheme }) => ({
5967
5992
  all: "unset",
5968
5993
  width: 32,
5969
5994
  height: 19,
@@ -5972,13 +5997,12 @@ var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)((
5972
5997
  position: "relative",
5973
5998
  WebkitTapHighlightColor: "rgba(0, 0, 0, 0)",
5974
5999
  cursor: "pointer",
5975
- // '&:focus': {
5976
- // boxShadow: `0 0 0 1px ${
5977
- // variant === 'secondary' ? theme.colors.secondary : theme.colors.primary
5978
- // }`,
5979
- // },
6000
+ "&:focus": {
6001
+ outline: `2px solid ${theme.colors.primary}`,
6002
+ outlineOffset: "1px"
6003
+ },
5980
6004
  '&[data-state="checked"]': {
5981
- backgroundColor: variant === "primary" ? theme.colors.primary : variant === "secondary" ? theme.colors.secondary : void 0
6005
+ backgroundColor: $colorScheme === "primary" ? theme.colors.primary : $colorScheme === "secondary" ? theme.colors.secondary : void 0
5982
6006
  }
5983
6007
  }));
5984
6008
  var SwitchThumb = (0, import_styled_components34.default)(SwitchPrimitive.Thumb)({
@@ -5997,51 +6021,51 @@ var Switch = function Switch2({
5997
6021
  onChange,
5998
6022
  colorScheme = "normal"
5999
6023
  }) {
6000
- return /* @__PURE__ */ import_react57.default.createElement(
6024
+ return /* @__PURE__ */ import_react58.default.createElement(
6001
6025
  SwitchRoot,
6002
6026
  {
6003
- colorScheme,
6027
+ $colorScheme: colorScheme,
6004
6028
  checked: value,
6005
6029
  onCheckedChange: (newValue) => {
6006
6030
  onChange(newValue);
6007
6031
  }
6008
6032
  },
6009
- /* @__PURE__ */ import_react57.default.createElement(SwitchThumb, null)
6033
+ /* @__PURE__ */ import_react58.default.createElement(SwitchThumb, null)
6010
6034
  );
6011
6035
  };
6012
6036
 
6013
6037
  // src/components/TreeView.tsx
6014
- var import_react58 = __toESM(require("react"));
6015
- var TreeRow = (0, import_react58.forwardRef)(function TreeRow2({
6038
+ var import_react59 = __toESM(require("react"));
6039
+ var TreeRow = (0, import_react59.forwardRef)(function TreeRow2({
6016
6040
  icon,
6017
6041
  expanded,
6018
6042
  onClickChevron,
6019
6043
  children,
6020
6044
  ...rest
6021
6045
  }, forwardedRef) {
6022
- const { expandable } = (0, import_react58.useContext)(ListView.RowContext);
6023
- const handleClickChevron = (0, import_react58.useCallback)(
6046
+ const { expandable } = (0, import_react59.useContext)(ListView.RowContext);
6047
+ const handleClickChevron = (0, import_react59.useCallback)(
6024
6048
  (event) => {
6025
6049
  event.stopPropagation();
6026
6050
  onClickChevron?.({ altKey: event.altKey });
6027
6051
  },
6028
6052
  [onClickChevron]
6029
6053
  );
6030
- return /* @__PURE__ */ import_react58.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react58.default.createElement(
6054
+ return /* @__PURE__ */ import_react59.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react59.default.createElement(
6031
6055
  IconButton,
6032
6056
  {
6033
6057
  iconName: expanded ? "ChevronDownIcon" : "ChevronRightIcon",
6034
6058
  onClick: handleClickChevron,
6035
6059
  selected: rest.selected
6036
6060
  }
6037
- ), /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, icon, /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 10 })), children);
6061
+ ), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, icon, /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 10 })), children);
6038
6062
  });
6039
6063
  var TreeView;
6040
6064
  ((TreeView2) => {
6041
6065
  TreeView2.Root = ListView.Root;
6042
6066
  TreeView2.RowTitle = ListView.RowTitle;
6043
6067
  TreeView2.EditableRowTitle = ListView.EditableRowTitle;
6044
- TreeView2.Row = (0, import_react58.memo)(TreeRow);
6068
+ TreeView2.Row = (0, import_react59.memo)(TreeRow);
6045
6069
  })(TreeView || (TreeView = {}));
6046
6070
 
6047
6071
  // src/hooks/usePlatform.ts
@@ -6082,7 +6106,8 @@ var colors2 = (0, import_immer.default)(colors, (colors3) => {
6082
6106
  colors3.canvas.background = "rgb(20,19,23)";
6083
6107
  colors3.canvas.sliceOutline = "rgb(150,150,150)";
6084
6108
  colors3.canvas.grid = "rgba(0,0,0,0.1)";
6085
- colors3.sidebar.background = "rgba(34,33,39,0.95)";
6109
+ colors3.sidebar.background = "rgb(34,33,39)";
6110
+ colors3.sidebar.backgroundTransparent = "rgba(34,33,39,0.95)";
6086
6111
  colors3.popover.background = "rgba(34,33,39,1)";
6087
6112
  colors3.popover.divider = colors3.divider;
6088
6113
  colors3.listView.raisedBackground = "rgba(181,178,255,0.1)";
@@ -6134,8 +6159,8 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
6134
6159
  ];
6135
6160
 
6136
6161
  // src/components/ArrayController.tsx
6137
- var import_noya_utils12 = require("@noya-app/noya-utils");
6138
- var import_react60 = __toESM(require("react"));
6162
+ var import_noya_utils11 = require("@noya-app/noya-utils");
6163
+ var import_react61 = __toESM(require("react"));
6139
6164
  var import_styled_components36 = __toESM(require("styled-components"));
6140
6165
 
6141
6166
  // src/components/InspectorPrimitives.tsx
@@ -6154,25 +6179,25 @@ __export(InspectorPrimitives_exports, {
6154
6179
  Title: () => Title3,
6155
6180
  VerticalSeparator: () => VerticalSeparator
6156
6181
  });
6157
- var import_react59 = __toESM(require("react"));
6182
+ var import_react60 = __toESM(require("react"));
6158
6183
  var import_styled_components35 = __toESM(require("styled-components"));
6159
- var Section = import_styled_components35.default.div(({ theme, padding = "10px", gap }) => ({
6184
+ var Section = import_styled_components35.default.div(({ theme, $padding = "10px", $gap }) => ({
6160
6185
  flex: "0 0 auto",
6161
6186
  display: "flex",
6162
6187
  flexDirection: "column",
6163
- padding,
6164
- gap
6188
+ padding: $padding,
6189
+ gap: $gap
6165
6190
  }));
6166
6191
  var SectionHeader = import_styled_components35.default.div(({ theme }) => ({
6167
6192
  display: "flex",
6168
6193
  alignItems: "center"
6169
6194
  }));
6170
- var Title3 = import_styled_components35.default.div(({ theme, textStyle }) => ({
6195
+ var Title3 = import_styled_components35.default.div(({ theme, $textStyle }) => ({
6171
6196
  display: "flex",
6172
6197
  flexDirection: "row",
6173
6198
  userSelect: "none",
6174
- ...textStyle ? {
6175
- ...theme.textStyles[textStyle],
6199
+ ...$textStyle ? {
6200
+ ...theme.textStyles[$textStyle],
6176
6201
  color: theme.colors.text
6177
6202
  } : {
6178
6203
  ...theme.textStyles.label,
@@ -6181,12 +6206,12 @@ var Title3 = import_styled_components35.default.div(({ theme, textStyle }) => ({
6181
6206
  }
6182
6207
  }));
6183
6208
  var Row2 = import_styled_components35.default.div(
6184
- ({ theme, gap }) => ({
6209
+ ({ theme, $gap }) => ({
6185
6210
  flex: "1",
6186
6211
  display: "flex",
6187
6212
  flexDirection: "row",
6188
6213
  alignItems: "center",
6189
- gap
6214
+ gap: $gap
6190
6215
  })
6191
6216
  );
6192
6217
  var Column = import_styled_components35.default.div(({ theme }) => ({
@@ -6201,18 +6226,18 @@ var Checkbox = import_styled_components35.default.input(({ theme }) => ({
6201
6226
  var Text3 = import_styled_components35.default.span(({ theme }) => ({
6202
6227
  ...theme.textStyles.small
6203
6228
  }));
6204
- var VerticalSeparator = () => /* @__PURE__ */ import_react59.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
6205
- var HorizontalSeparator = () => /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
6229
+ var VerticalSeparator = () => /* @__PURE__ */ import_react60.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
6230
+ var HorizontalSeparator = () => /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
6206
6231
  var SliderRowLabel = import_styled_components35.default.span(({ theme }) => ({
6207
6232
  ...theme.textStyles.small,
6208
6233
  color: theme.colors.textMuted,
6209
6234
  marginBottom: "-6px"
6210
6235
  }));
6211
- var RowLabel = import_styled_components35.default.span(({ theme, textStyle }) => ({
6236
+ var RowLabel = import_styled_components35.default.span(({ theme, $textStyle }) => ({
6212
6237
  // marginBottom: '6px',
6213
6238
  display: "flex",
6214
- ...textStyle ? {
6215
- ...theme.textStyles[textStyle]
6239
+ ...$textStyle ? {
6240
+ ...theme.textStyles[$textStyle]
6216
6241
  } : {
6217
6242
  ...theme.textStyles.label,
6218
6243
  color: theme.colors.textSubtle,
@@ -6222,7 +6247,7 @@ var RowLabel = import_styled_components35.default.span(({ theme, textStyle }) =>
6222
6247
  // Button height
6223
6248
  alignItems: "center"
6224
6249
  }));
6225
- var LabeledRow = (0, import_react59.memo)(function LabeledRow2({
6250
+ var LabeledRow = (0, import_react60.memo)(function LabeledRow2({
6226
6251
  id,
6227
6252
  children,
6228
6253
  label,
@@ -6230,13 +6255,13 @@ var LabeledRow = (0, import_react59.memo)(function LabeledRow2({
6230
6255
  gap,
6231
6256
  right
6232
6257
  }) {
6233
- return /* @__PURE__ */ import_react59.default.createElement(Row2, { id }, /* @__PURE__ */ import_react59.default.createElement(Column, null, /* @__PURE__ */ import_react59.default.createElement(RowLabel, { textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react59.default.createElement(Row2, { gap }, children)));
6258
+ return /* @__PURE__ */ import_react60.default.createElement(Row2, { id }, /* @__PURE__ */ import_react60.default.createElement(Column, null, /* @__PURE__ */ import_react60.default.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react60.default.createElement(Row2, { $gap: gap }, children)));
6234
6259
  });
6235
- var LabeledSliderRow = (0, import_react59.memo)(function LabeledRow3({
6260
+ var LabeledSliderRow = (0, import_react60.memo)(function LabeledRow3({
6236
6261
  children,
6237
6262
  label
6238
6263
  }) {
6239
- return /* @__PURE__ */ import_react59.default.createElement(Row2, null, /* @__PURE__ */ import_react59.default.createElement(Column, null, /* @__PURE__ */ import_react59.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react59.default.createElement(Row2, null, children)));
6264
+ return /* @__PURE__ */ import_react60.default.createElement(Row2, null, /* @__PURE__ */ import_react60.default.createElement(Column, null, /* @__PURE__ */ import_react60.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react60.default.createElement(Row2, null, children)));
6240
6265
  });
6241
6266
 
6242
6267
  // src/components/ArrayController.tsx
@@ -6249,7 +6274,7 @@ var ElementRow = import_styled_components36.default.div({
6249
6274
  var ItemContainer2 = import_styled_components36.default.div({
6250
6275
  position: "relative"
6251
6276
  });
6252
- var ArrayController = (0, import_react60.memo)(function ArrayController2({
6277
+ var ArrayController = (0, import_react61.memo)(function ArrayController2({
6253
6278
  id,
6254
6279
  items,
6255
6280
  title,
@@ -6267,12 +6292,12 @@ var ArrayController = (0, import_react60.memo)(function ArrayController2({
6267
6292
  }) {
6268
6293
  const iconColor = (0, import_styled_components36.useTheme)().colors.icon;
6269
6294
  const primaryLightColor = (0, import_styled_components36.useTheme)().colors.primaryLight;
6270
- const keys = (0, import_react60.useMemo)(
6295
+ const keys = (0, import_react61.useMemo)(
6271
6296
  () => items.map((item, index) => getKey?.(item) ?? index.toString()),
6272
6297
  [getKey, items]
6273
6298
  );
6274
- const indexes = reversed ? (0, import_noya_utils12.range)(0, items.length).reverse() : (0, import_noya_utils12.range)(0, items.length);
6275
- const handleMoveItem = (0, import_react60.useCallback)(
6299
+ const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
6300
+ const handleMoveItem = (0, import_react61.useCallback)(
6276
6301
  (sourceIndex, destinationIndex, position) => {
6277
6302
  if (reversed) {
6278
6303
  if (position === "above") {
@@ -6289,11 +6314,11 @@ var ArrayController = (0, import_react60.memo)(function ArrayController2({
6289
6314
  [onMoveItem, reversed]
6290
6315
  );
6291
6316
  const renderRow = (index) => {
6292
- return /* @__PURE__ */ import_react60.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
6317
+ return /* @__PURE__ */ import_react61.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
6293
6318
  };
6294
- return /* @__PURE__ */ import_react60.default.createElement(Section, { id, padding, gap: "2px" }, /* @__PURE__ */ import_react60.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react60.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react60.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
6319
+ return /* @__PURE__ */ import_react61.default.createElement(Section, { id, $padding: padding, $gap: "2px" }, /* @__PURE__ */ import_react61.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react61.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react61.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
6295
6320
  [
6296
- onClickTrash && /* @__PURE__ */ import_react60.default.createElement(
6321
+ onClickTrash && /* @__PURE__ */ import_react61.default.createElement(
6297
6322
  IconButton,
6298
6323
  {
6299
6324
  id: `${id}-trash`,
@@ -6302,7 +6327,7 @@ var ArrayController = (0, import_react60.memo)(function ArrayController2({
6302
6327
  onClick: onClickTrash
6303
6328
  }
6304
6329
  ),
6305
- onClickExpand && /* @__PURE__ */ import_react60.default.createElement(
6330
+ onClickExpand && /* @__PURE__ */ import_react61.default.createElement(
6306
6331
  IconButton,
6307
6332
  {
6308
6333
  id: `${id}-gear`,
@@ -6311,7 +6336,7 @@ var ArrayController = (0, import_react60.memo)(function ArrayController2({
6311
6336
  onClick: onClickExpand
6312
6337
  }
6313
6338
  ),
6314
- onClickPlus && /* @__PURE__ */ import_react60.default.createElement(
6339
+ onClickPlus && /* @__PURE__ */ import_react61.default.createElement(
6315
6340
  IconButton,
6316
6341
  {
6317
6342
  id: `${id}-add`,
@@ -6321,33 +6346,33 @@ var ArrayController = (0, import_react60.memo)(function ArrayController2({
6321
6346
  }
6322
6347
  )
6323
6348
  ],
6324
- /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, { size: 8 })
6325
- )), /* @__PURE__ */ import_react60.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react60.default.createElement(
6349
+ /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 8 })
6350
+ )), /* @__PURE__ */ import_react61.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react61.default.createElement(
6326
6351
  Sortable.Root,
6327
6352
  {
6328
6353
  keys,
6329
6354
  renderOverlay: renderRow,
6330
6355
  onMoveItem: handleMoveItem
6331
6356
  },
6332
- indexes.map((index) => /* @__PURE__ */ import_react60.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react60.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react60.default.createElement(
6357
+ indexes.map((index) => /* @__PURE__ */ import_react61.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react61.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react61.default.createElement(
6333
6358
  ListView.DragIndicator,
6334
6359
  {
6335
- gap: 0,
6336
- colorScheme: "primary",
6337
- relativeDropPosition,
6338
- offsetLeft: 0
6360
+ $gap: 0,
6361
+ $colorScheme: "primary",
6362
+ $relativeDropPosition: relativeDropPosition,
6363
+ $offsetLeft: 0
6339
6364
  }
6340
6365
  ))))
6341
6366
  ) : indexes.map(renderRow)), expanded && renderExpandedContent?.());
6342
6367
  });
6343
6368
 
6344
6369
  // src/components/DimensionInput.tsx
6345
- var import_noya_utils13 = require("@noya-app/noya-utils");
6346
- var import_react61 = __toESM(require("react"));
6370
+ var import_noya_utils12 = require("@noya-app/noya-utils");
6371
+ var import_react62 = __toESM(require("react"));
6347
6372
  function getNewValue(value, mode, delta) {
6348
6373
  return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
6349
6374
  }
6350
- var DimensionInput = (0, import_react61.memo)(function DimensionInput2({
6375
+ var DimensionInput = (0, import_react62.memo)(function DimensionInput2({
6351
6376
  id,
6352
6377
  value,
6353
6378
  onSetValue,
@@ -6357,24 +6382,24 @@ var DimensionInput = (0, import_react61.memo)(function DimensionInput2({
6357
6382
  disabled,
6358
6383
  trigger = "submit"
6359
6384
  }) {
6360
- const handleNudgeValue = (0, import_react61.useCallback)(
6385
+ const handleNudgeValue = (0, import_react62.useCallback)(
6361
6386
  (value2) => onSetValue(value2, "adjust"),
6362
6387
  [onSetValue]
6363
6388
  );
6364
- const handleSetValue = (0, import_react61.useCallback)(
6389
+ const handleSetValue = (0, import_react62.useCallback)(
6365
6390
  (value2) => onSetValue(value2, "replace"),
6366
6391
  [onSetValue]
6367
6392
  );
6368
- return /* @__PURE__ */ import_react61.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react61.default.createElement(
6393
+ return /* @__PURE__ */ import_react62.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react62.default.createElement(
6369
6394
  InputField.NumberInput,
6370
6395
  {
6371
- value: value === void 0 ? value : (0, import_noya_utils13.round)(value, 2),
6396
+ value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
6372
6397
  placeholder: value === void 0 ? placeholder : void 0,
6373
6398
  onNudge: handleNudgeValue,
6374
6399
  disabled,
6375
6400
  ...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
6376
6401
  }
6377
- ), label && /* @__PURE__ */ import_react61.default.createElement(InputField.Label, null, label));
6402
+ ), label && /* @__PURE__ */ import_react62.default.createElement(InputField.Label, null, label));
6378
6403
  });
6379
6404
  // Annotate the CommonJS export names for ESM import in node:
6380
6405
  0 && (module.exports = {