@noya-app/noya-designsystem 0.1.14 → 0.1.16

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