@noya-app/noya-designsystem 0.1.22 → 0.1.24

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
@@ -386,9 +386,9 @@ var ButtonElement = import_styled_components5.default.button(
386
386
  textAlign: "left",
387
387
  borderRadius: "4px",
388
388
  paddingTop: $variant === "none" ? "0px" : "4px",
389
- paddingRight: $variant === "none" ? "0px" : $variant === "thin" ? "1px" : "8px",
389
+ paddingRight: $variant === "none" ? "0px" : $variant === "thin" ? "1px" : "6px",
390
390
  paddingBottom: $variant === "none" ? "0px" : "4px",
391
- paddingLeft: $variant === "none" ? "0px" : $variant === "thin" ? "1px" : "8px",
391
+ paddingLeft: $variant === "none" ? "0px" : $variant === "thin" ? "1px" : "6px",
392
392
  ...$size === "large" && {
393
393
  paddingTop: "12px",
394
394
  paddingRight: "16px",
@@ -518,35 +518,47 @@ var Button = (0, import_react6.forwardRef)(function Button2({
518
518
 
519
519
  // src/components/Chip.tsx
520
520
  var import_noya_icons3 = require("@noya-app/noya-icons");
521
- var import_react36 = __toESM(require("react"));
521
+ var import_react37 = __toESM(require("react"));
522
522
  var import_styled_components16 = __toESM(require("styled-components"));
523
523
 
524
524
  // src/contexts/DesignSystemConfiguration.tsx
525
525
  var import_noya_keymap3 = require("@noya-app/noya-keymap");
526
- var import_react35 = __toESM(require("react"));
526
+ var import_react36 = __toESM(require("react"));
527
527
  var import_styled_components15 = require("styled-components");
528
528
 
529
529
  // src/components/Toast.tsx
530
530
  var ToastPrimitive = __toESM(require("@radix-ui/react-toast"));
531
- var import_react8 = __toESM(require("react"));
531
+ var import_react9 = __toESM(require("react"));
532
532
  var import_styled_components7 = __toESM(require("styled-components"));
533
533
 
534
534
  // src/components/IconButton.tsx
535
+ var import_react8 = __toESM(require("react"));
536
+ var import_styled_components6 = require("styled-components");
537
+
538
+ // src/components/Icons.tsx
535
539
  var Icons = __toESM(require("@noya-app/noya-icons"));
536
540
  var import_react7 = __toESM(require("react"));
537
- var import_styled_components6 = require("styled-components");
538
- var IconButton = (0, import_react7.memo)(
539
- (0, import_react7.forwardRef)(function IconButton2({ selected, iconName, color, size: size2, contentStyle, ...props }, forwardedRef) {
541
+ function renderIcon(iconName) {
542
+ if (typeof iconName === "string") {
543
+ const Icon = Icons[iconName];
544
+ return /* @__PURE__ */ import_react7.default.createElement(Icon, null);
545
+ }
546
+ return iconName;
547
+ }
548
+
549
+ // src/components/IconButton.tsx
550
+ var IconButton = (0, import_react8.memo)(
551
+ (0, import_react8.forwardRef)(function IconButton2({ selected, iconName, color, size: size2, contentStyle, ...props }, forwardedRef) {
540
552
  const { icon: iconColor, iconSelected: iconSelectedColor } = (0, import_styled_components6.useTheme)().colors;
541
553
  const Icon = Icons[iconName];
542
- const style3 = (0, import_react7.useMemo)(() => {
554
+ const style3 = (0, import_react8.useMemo)(() => {
543
555
  return {
544
556
  padding: "0 2px",
545
557
  ...size2 && { minHeight: size2 },
546
558
  ...contentStyle
547
559
  };
548
560
  }, [contentStyle, size2]);
549
- return /* @__PURE__ */ import_react7.default.createElement(Button, { ref: forwardedRef, ...props, variant: "none", contentStyle: style3 }, /* @__PURE__ */ import_react7.default.createElement(
561
+ return /* @__PURE__ */ import_react8.default.createElement(Button, { ref: forwardedRef, ...props, variant: "none", contentStyle: style3 }, /* @__PURE__ */ import_react8.default.createElement(
550
562
  Icon,
551
563
  {
552
564
  color: color ?? (selected ? iconSelectedColor : iconColor),
@@ -606,9 +618,9 @@ var Toast = ({
606
618
  children,
607
619
  ...props
608
620
  }) => {
609
- return /* @__PURE__ */ import_react8.default.createElement(ToastRoot, { ...props }, title && /* @__PURE__ */ import_react8.default.createElement(ToastTitle, null, title), /* @__PURE__ */ import_react8.default.createElement(ToastDescription, null, content), children && /* @__PURE__ */ import_react8.default.createElement(ToastAction, { asChild: true, altText: "" }, children), /* @__PURE__ */ import_react8.default.createElement(ToastPrimitive.Close, { "aria-label": "Close", asChild: true }, /* @__PURE__ */ import_react8.default.createElement(IconButton, { iconName: "Cross1Icon" })));
621
+ return /* @__PURE__ */ import_react9.default.createElement(ToastRoot, { ...props }, title && /* @__PURE__ */ import_react9.default.createElement(ToastTitle, null, title), /* @__PURE__ */ import_react9.default.createElement(ToastDescription, null, content), children && /* @__PURE__ */ import_react9.default.createElement(ToastAction, { asChild: true, altText: "" }, children), /* @__PURE__ */ import_react9.default.createElement(ToastPrimitive.Close, { "aria-label": "Close", asChild: true }, /* @__PURE__ */ import_react9.default.createElement(IconButton, { iconName: "Cross1Icon" })));
610
622
  };
611
- var ToastProvider = ({ children }) => /* @__PURE__ */ import_react8.default.createElement(ToastPrimitive.Provider, null, children, /* @__PURE__ */ import_react8.default.createElement(ToastViewport, null));
623
+ var ToastProvider = ({ children }) => /* @__PURE__ */ import_react9.default.createElement(ToastPrimitive.Provider, null, children, /* @__PURE__ */ import_react9.default.createElement(ToastViewport, null));
612
624
 
613
625
  // src/theme/dark.ts
614
626
  var dark_exports = {};
@@ -891,33 +903,33 @@ var colors2 = (0, import_immer.default)(colors, (colors3) => {
891
903
  });
892
904
 
893
905
  // src/contexts/DialogContext.tsx
894
- var import_react33 = __toESM(require("react"));
906
+ var import_react34 = __toESM(require("react"));
895
907
  var import_styled_components14 = __toESM(require("styled-components"));
896
908
 
897
909
  // src/components/Dialog.tsx
898
910
  var DialogPrimitive = __toESM(require("@radix-ui/react-dialog"));
899
- var import_react10 = __toESM(require("react"));
911
+ var import_react11 = __toESM(require("react"));
900
912
  var import_styled_components9 = __toESM(require("styled-components"));
901
913
 
902
914
  // src/components/Spacer.tsx
903
- var import_react9 = __toESM(require("react"));
915
+ var import_react10 = __toESM(require("react"));
904
916
  var import_styled_components8 = __toESM(require("styled-components"));
905
917
  var SpacerVertical_ = import_styled_components8.default.span(({ $size, $inline }) => ({
906
918
  display: $inline ? "inline-block" : "block",
907
919
  ...$size === void 0 ? { flex: 1 } : { minHeight: $size }
908
920
  }));
909
- var SpacerVertical = (0, import_react9.forwardRef)(
921
+ var SpacerVertical = (0, import_react10.forwardRef)(
910
922
  ({ size: size2, inline, ...props }, ref) => {
911
- return /* @__PURE__ */ import_react9.default.createElement(SpacerVertical_, { $size: size2, $inline: inline, ...props, ref });
923
+ return /* @__PURE__ */ import_react10.default.createElement(SpacerVertical_, { $size: size2, $inline: inline, ...props, ref });
912
924
  }
913
925
  );
914
926
  var SpacerHorizontal_ = import_styled_components8.default.span(({ $size, $inline }) => ({
915
927
  display: $inline ? "inline-block" : "block",
916
928
  ...$size === void 0 ? { flex: 1 } : { minWidth: $size }
917
929
  }));
918
- var SpacerHorizontal = (0, import_react9.forwardRef)(
930
+ var SpacerHorizontal = (0, import_react10.forwardRef)(
919
931
  ({ size: size2, inline, ...props }, ref) => {
920
- return /* @__PURE__ */ import_react9.default.createElement(SpacerHorizontal_, { $size: size2, $inline: inline, ...props, ref });
932
+ return /* @__PURE__ */ import_react10.default.createElement(SpacerHorizontal_, { $size: size2, $inline: inline, ...props, ref });
921
933
  }
922
934
  );
923
935
  var Spacer;
@@ -972,7 +984,7 @@ var CloseButtonContainer = import_styled_components9.default.div(({ theme }) =>
972
984
  // boxShadow: `0 0 2px rgba(0, 0, 0, 0.2)`,
973
985
  border: `1px solid rgba(128,128,128,0.2)`
974
986
  }));
975
- var Dialog = (0, import_react10.forwardRef)(function Dialog2({
987
+ var Dialog = (0, import_react11.forwardRef)(function Dialog2({
976
988
  children,
977
989
  title,
978
990
  description,
@@ -982,15 +994,15 @@ var Dialog = (0, import_react10.forwardRef)(function Dialog2({
982
994
  onOpenAutoFocus,
983
995
  closeOnInteractOutside = true
984
996
  }, forwardedRef) {
985
- const contentRef = (0, import_react10.useRef)(null);
986
- (0, import_react10.useImperativeHandle)(forwardedRef, () => ({
997
+ const contentRef = (0, import_react11.useRef)(null);
998
+ (0, import_react11.useImperativeHandle)(forwardedRef, () => ({
987
999
  containsElement(element) {
988
1000
  if (!contentRef.current)
989
1001
  return false;
990
1002
  return contentRef.current.contains(element);
991
1003
  }
992
1004
  }));
993
- return /* @__PURE__ */ import_react10.default.createElement(DialogPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react10.default.createElement(StyledOverlay, null), /* @__PURE__ */ import_react10.default.createElement(
1005
+ return /* @__PURE__ */ import_react11.default.createElement(DialogPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react11.default.createElement(StyledOverlay, null), /* @__PURE__ */ import_react11.default.createElement(
994
1006
  StyledContent,
995
1007
  {
996
1008
  ref: contentRef,
@@ -1005,14 +1017,14 @@ var Dialog = (0, import_react10.forwardRef)(function Dialog2({
1005
1017
  }
1006
1018
  }
1007
1019
  },
1008
- /* @__PURE__ */ import_react10.default.createElement(CloseButtonContainer, null, /* @__PURE__ */ import_react10.default.createElement(DialogPrimitive.Close, { asChild: true }, /* @__PURE__ */ import_react10.default.createElement(IconButton, { iconName: "Cross1Icon" }))),
1009
- 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 })),
1010
- 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 })),
1020
+ /* @__PURE__ */ import_react11.default.createElement(CloseButtonContainer, null, /* @__PURE__ */ import_react11.default.createElement(DialogPrimitive.Close, { asChild: true }, /* @__PURE__ */ import_react11.default.createElement(IconButton, { iconName: "Cross1Icon" }))),
1021
+ title && /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(StyledTitle, null, title), /* @__PURE__ */ import_react11.default.createElement(Spacer.Vertical, { size: description ? 10 : 20 })),
1022
+ description && /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(Spacer.Vertical, { size: 10 }), /* @__PURE__ */ import_react11.default.createElement(StyledDescription, null, description), /* @__PURE__ */ import_react11.default.createElement(Spacer.Vertical, { size: 20 })),
1011
1023
  children
1012
1024
  ));
1013
1025
  });
1014
- var FullscreenDialog = (0, import_react10.forwardRef)(function FullscreenDialog2({ style: style3, ...rest }, forwardedRef) {
1015
- return /* @__PURE__ */ import_react10.default.createElement(
1026
+ var FullscreenDialog = (0, import_react11.forwardRef)(function FullscreenDialog2({ style: style3, ...rest }, forwardedRef) {
1027
+ return /* @__PURE__ */ import_react11.default.createElement(
1016
1028
  Dialog,
1017
1029
  {
1018
1030
  ref: forwardedRef,
@@ -1038,13 +1050,13 @@ var FullscreenDialog = (0, import_react10.forwardRef)(function FullscreenDialog2
1038
1050
  var import_noya_icons2 = require("@noya-app/noya-icons");
1039
1051
 
1040
1052
  // ../noya-react-utils/src/components/AutoSizer.tsx
1041
- var import_react11 = __toESM(require("react"));
1053
+ var import_react12 = __toESM(require("react"));
1042
1054
 
1043
1055
  // ../noya-react-utils/src/hooks/useSize.ts
1044
- var React10 = __toESM(require("react"));
1056
+ var React11 = __toESM(require("react"));
1045
1057
  function useSize(refToObserve, dimensions = "both") {
1046
- const [size2, setSize] = React10.useState(void 0);
1047
- React10.useEffect(() => {
1058
+ const [size2, setSize] = React11.useState(void 0);
1059
+ React11.useEffect(() => {
1048
1060
  if (refToObserve.current) {
1049
1061
  const elementToObserve = refToObserve.current;
1050
1062
  const resizeObserver = new ResizeObserver((entries) => {
@@ -1091,37 +1103,37 @@ var style = {
1091
1103
  flex: "1 0 0",
1092
1104
  flexDirection: "column"
1093
1105
  };
1094
- var AutoSizer = (0, import_react11.memo)(function AutoSizer2({
1106
+ var AutoSizer = (0, import_react12.memo)(function AutoSizer2({
1095
1107
  children,
1096
1108
  className
1097
1109
  }) {
1098
- const containerRef = (0, import_react11.useRef)(null);
1110
+ const containerRef = (0, import_react12.useRef)(null);
1099
1111
  const containerSize = useSize(containerRef);
1100
- return /* @__PURE__ */ import_react11.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize.width > 0 && containerSize.height > 0 && children(containerSize));
1112
+ return /* @__PURE__ */ import_react12.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize.width > 0 && containerSize.height > 0 && children(containerSize));
1101
1113
  });
1102
- var SingleDimensionAutoSizer = (0, import_react11.memo)(function SingleDimensionAutoSizer2({
1114
+ var SingleDimensionAutoSizer = (0, import_react12.memo)(function SingleDimensionAutoSizer2({
1103
1115
  children,
1104
1116
  dimension,
1105
1117
  className
1106
1118
  }) {
1107
- const containerRef = (0, import_react11.useRef)(null);
1119
+ const containerRef = (0, import_react12.useRef)(null);
1108
1120
  const containerSize = useSize(containerRef, dimension);
1109
- return /* @__PURE__ */ import_react11.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize[dimension] > 0 && children(containerSize[dimension]));
1121
+ return /* @__PURE__ */ import_react12.default.createElement("div", { ref: containerRef, style, className }, containerSize && containerSize[dimension] > 0 && children(containerSize[dimension]));
1110
1122
  });
1111
1123
 
1112
1124
  // ../noya-react-utils/src/components/FileDropTarget.tsx
1113
- var import_react13 = __toESM(require("react"));
1125
+ var import_react14 = __toESM(require("react"));
1114
1126
 
1115
1127
  // ../noya-react-utils/src/hooks/useFileDropTarget.ts
1116
- var import_react12 = require("react");
1128
+ var import_react13 = require("react");
1117
1129
  function useFileDropTarget(dropEvent) {
1118
- const [isDropTargetActive, setIsDropTargetActive] = (0, import_react12.useState)(false);
1119
- const handleDragEvent = (0, import_react12.useCallback)((event, on) => {
1130
+ const [isDropTargetActive, setIsDropTargetActive] = (0, import_react13.useState)(false);
1131
+ const handleDragEvent = (0, import_react13.useCallback)((event, on) => {
1120
1132
  if (on !== void 0)
1121
1133
  setIsDropTargetActive(on);
1122
1134
  event.preventDefault();
1123
1135
  }, []);
1124
- const handleDropEvent = (0, import_react12.useCallback)(
1136
+ const handleDropEvent = (0, import_react13.useCallback)(
1125
1137
  (event) => {
1126
1138
  dropEvent(event);
1127
1139
  setIsDropTargetActive(false);
@@ -1144,12 +1156,12 @@ function isSupportedFile(file, supportedFileTypes) {
1144
1156
  return supportedFileTypes.includes(file.type) || file.type === "" && file.name.endsWith(".sketch");
1145
1157
  }
1146
1158
  var style2 = { display: "flex", flex: 1 };
1147
- var FileDropTarget = (0, import_react13.memo)(function FileDropTarget2({
1159
+ var FileDropTarget = (0, import_react14.memo)(function FileDropTarget2({
1148
1160
  children,
1149
1161
  onDropFiles,
1150
1162
  supportedFileTypes
1151
1163
  }) {
1152
- const handleFile = (0, import_react13.useCallback)(
1164
+ const handleFile = (0, import_react14.useCallback)(
1153
1165
  (event) => {
1154
1166
  event.preventDefault();
1155
1167
  const offsetPoint = {
@@ -1182,51 +1194,51 @@ var FileDropTarget = (0, import_react13.memo)(function FileDropTarget2({
1182
1194
  [onDropFiles, supportedFileTypes]
1183
1195
  );
1184
1196
  const { dropTargetProps, isDropTargetActive } = useFileDropTarget(handleFile);
1185
- return /* @__PURE__ */ import_react13.default.createElement("div", { style: style2, ...dropTargetProps }, typeof children === "function" ? children(isDropTargetActive) : children);
1197
+ return /* @__PURE__ */ import_react14.default.createElement("div", { style: style2, ...dropTargetProps }, typeof children === "function" ? children(isDropTargetActive) : children);
1186
1198
  });
1187
1199
 
1188
1200
  // ../noya-react-utils/src/hooks/useDeepArray.ts
1189
1201
  var import_noya_utils = require("@noya-app/noya-utils");
1190
- var import_react14 = require("react");
1202
+ var import_react15 = require("react");
1191
1203
 
1192
1204
  // ../noya-react-utils/src/hooks/useDeepState.ts
1193
1205
  var import_noya_utils2 = require("@noya-app/noya-utils");
1194
- var import_react15 = require("react");
1206
+ var import_react16 = require("react");
1195
1207
 
1196
1208
  // ../noya-react-utils/src/hooks/useFetch.ts
1197
- var import_react16 = require("react");
1209
+ var import_react17 = require("react");
1198
1210
 
1199
1211
  // ../noya-react-utils/src/hooks/useIsMounted.ts
1200
- var import_react17 = require("react");
1212
+ var import_react18 = require("react");
1201
1213
 
1202
1214
  // ../noya-react-utils/src/hooks/useLateReference.ts
1203
- var import_react18 = require("react");
1215
+ var import_react19 = require("react");
1204
1216
 
1205
1217
  // ../noya-react-utils/src/hooks/useLazyValue.ts
1206
- var import_react19 = require("react");
1218
+ var import_react20 = require("react");
1207
1219
 
1208
1220
  // ../noya-react-utils/src/hooks/useMutableState.ts
1209
- var import_react20 = require("react");
1221
+ var import_react21 = require("react");
1210
1222
 
1211
1223
  // ../noya-react-utils/src/hooks/usePersistentState.ts
1212
- var import_react21 = require("react");
1224
+ var import_react22 = require("react");
1213
1225
 
1214
1226
  // ../noya-react-utils/src/hooks/usePixelRatio.ts
1215
- var import_react22 = require("react");
1227
+ var import_react23 = require("react");
1216
1228
 
1217
1229
  // ../noya-react-utils/src/hooks/useShallowArray.ts
1218
1230
  var import_noya_utils3 = require("@noya-app/noya-utils");
1219
- var import_react23 = require("react");
1231
+ var import_react24 = require("react");
1220
1232
 
1221
1233
  // ../noya-react-utils/src/hooks/useStableCallback.ts
1222
- var import_react24 = require("react");
1234
+ var import_react25 = require("react");
1223
1235
 
1224
1236
  // ../noya-react-utils/src/hooks/useSystemColorScheme.ts
1225
- var import_react25 = require("react");
1237
+ var import_react26 = require("react");
1226
1238
 
1227
1239
  // ../noya-react-utils/src/hooks/useUrlHashParameters.ts
1228
1240
  var import_noya_utils4 = require("@noya-app/noya-utils");
1229
- var import_react26 = require("react");
1241
+ var import_react27 = require("react");
1230
1242
 
1231
1243
  // ../emitter/src/index.ts
1232
1244
  var Emitter = class {
@@ -1317,7 +1329,7 @@ function assignRef(ref, value) {
1317
1329
  }
1318
1330
 
1319
1331
  // src/components/InputField.tsx
1320
- var import_react32 = __toESM(require("react"));
1332
+ var import_react33 = __toESM(require("react"));
1321
1333
  var import_styled_components13 = __toESM(require("styled-components"));
1322
1334
 
1323
1335
  // src/utils/handleNudge.ts
@@ -1348,12 +1360,12 @@ function handleNudge(e) {
1348
1360
  var import_noya_icons = require("@noya-app/noya-icons");
1349
1361
  var import_noya_keymap2 = require("@noya-app/noya-keymap");
1350
1362
  var RadixDropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
1351
- var import_react28 = __toESM(require("react"));
1363
+ var import_react29 = __toESM(require("react"));
1352
1364
  var import_styled_components11 = __toESM(require("styled-components"));
1353
1365
 
1354
1366
  // src/components/internal/Menu.tsx
1355
1367
  var import_noya_keymap = require("@noya-app/noya-keymap");
1356
- var import_react27 = __toESM(require("react"));
1368
+ var import_react28 = __toESM(require("react"));
1357
1369
  var import_styled_components10 = __toESM(require("styled-components"));
1358
1370
  var SEPARATOR_ITEM = "separator";
1359
1371
  var CHECKBOX_WIDTH = 15;
@@ -1440,12 +1452,12 @@ var ShortcutElement = import_styled_components10.default.kbd(
1440
1452
  }
1441
1453
  })
1442
1454
  );
1443
- var KeyboardShortcut = (0, import_react27.memo)(function KeyboardShortcut2({
1455
+ var KeyboardShortcut = (0, import_react28.memo)(function KeyboardShortcut2({
1444
1456
  shortcut
1445
1457
  }) {
1446
1458
  const platform = useDesignSystemConfiguration().platform;
1447
1459
  const { keys, separator } = (0, import_noya_keymap.getShortcutDisplayParts)(shortcut, platform);
1448
- const keyElements = keys.map((key) => /* @__PURE__ */ import_react27.default.createElement(
1460
+ const keyElements = keys.map((key) => /* @__PURE__ */ import_react28.default.createElement(
1449
1461
  ShortcutElement,
1450
1462
  {
1451
1463
  key,
@@ -1453,9 +1465,9 @@ var KeyboardShortcut = (0, import_react27.memo)(function KeyboardShortcut2({
1453
1465
  },
1454
1466
  key
1455
1467
  ));
1456
- return /* @__PURE__ */ import_react27.default.createElement(import_react27.default.Fragment, null, separator ? withSeparatorElements(
1468
+ return /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, separator ? withSeparatorElements(
1457
1469
  keyElements,
1458
- /* @__PURE__ */ import_react27.default.createElement(ShortcutElement, null, separator)
1470
+ /* @__PURE__ */ import_react28.default.createElement(ShortcutElement, null, separator)
1459
1471
  ) : keyElements);
1460
1472
  });
1461
1473
 
@@ -1470,7 +1482,7 @@ var CheckboxItemElement = (0, import_styled_components11.default)(RadixDropdownM
1470
1482
  var StyledItemIndicator = (0, import_styled_components11.default)(RadixDropdownMenu.ItemIndicator)(
1471
1483
  styles.itemIndicatorStyle
1472
1484
  );
1473
- var DropdownMenuItem = (0, import_react28.memo)(function ContextMenuItem({
1485
+ var DropdownMenuItem = (0, import_react29.memo)(function ContextMenuItem({
1474
1486
  value,
1475
1487
  children,
1476
1488
  onSelect,
@@ -1481,27 +1493,27 @@ var DropdownMenuItem = (0, import_react28.memo)(function ContextMenuItem({
1481
1493
  items,
1482
1494
  shortcut
1483
1495
  }) {
1484
- const handleSelectItem = (0, import_react28.useCallback)(() => {
1496
+ const handleSelectItem = (0, import_react29.useCallback)(() => {
1485
1497
  if (!value)
1486
1498
  return;
1487
1499
  onSelect(value);
1488
1500
  }, [onSelect, value]);
1489
1501
  if (checked) {
1490
- return /* @__PURE__ */ import_react28.default.createElement(
1502
+ return /* @__PURE__ */ import_react29.default.createElement(
1491
1503
  CheckboxItemElement,
1492
1504
  {
1493
1505
  checked,
1494
1506
  disabled,
1495
1507
  onSelect: handleSelectItem
1496
1508
  },
1497
- /* @__PURE__ */ import_react28.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react28.default.createElement(import_noya_icons.CheckIcon, null)),
1498
- icon && /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, icon, /* @__PURE__ */ import_react28.default.createElement(Spacer.Horizontal, { size: 8 })),
1509
+ /* @__PURE__ */ import_react29.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react29.default.createElement(import_noya_icons.CheckIcon, null)),
1510
+ icon && /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, { size: 8 })),
1499
1511
  children
1500
1512
  );
1501
1513
  }
1502
- 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)));
1514
+ const element = /* @__PURE__ */ import_react29.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react29.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react29.default.createElement(import_react29.default.Fragment, null, /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react29.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react29.default.createElement(import_noya_icons.ChevronRightIcon, null)));
1503
1515
  if (items && items.length > 0) {
1504
- return /* @__PURE__ */ import_react28.default.createElement(
1516
+ return /* @__PURE__ */ import_react29.default.createElement(
1505
1517
  DropdownMenuRoot,
1506
1518
  {
1507
1519
  isNested: true,
@@ -1517,7 +1529,7 @@ var DropdownMenuItem = (0, import_react28.memo)(function ContextMenuItem({
1517
1529
  });
1518
1530
  var Content5 = (0, import_styled_components11.default)(RadixDropdownMenu.Content)(styles.contentStyle);
1519
1531
  var SubContent2 = (0, import_styled_components11.default)(RadixDropdownMenu.SubContent)(styles.contentStyle);
1520
- var DropdownMenuRoot = (0, import_react28.forwardRef)(function DropdownMenuRoot2({
1532
+ var DropdownMenuRoot = (0, import_react29.forwardRef)(function DropdownMenuRoot2({
1521
1533
  items,
1522
1534
  children,
1523
1535
  onSelect,
@@ -1535,7 +1547,7 @@ var DropdownMenuRoot = (0, import_react28.forwardRef)(function DropdownMenuRoot2
1535
1547
  const hasCheckedItem = items.some(
1536
1548
  (item) => item !== SEPARATOR_ITEM && item.checked
1537
1549
  );
1538
- const keymap = (0, import_react28.useMemo)(
1550
+ const keymap = (0, import_react29.useMemo)(
1539
1551
  () => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
1540
1552
  [isNested, items, onSelect, shouldBindKeyboardShortcuts]
1541
1553
  );
@@ -1543,8 +1555,8 @@ var DropdownMenuRoot = (0, import_react28.forwardRef)(function DropdownMenuRoot2
1543
1555
  const RootComponent = isNested ? RadixDropdownMenu.Sub : RadixDropdownMenu.Root;
1544
1556
  const TriggerComponent = isNested ? RadixDropdownMenu.SubTrigger : RadixDropdownMenu.Trigger;
1545
1557
  const ContentComponent = isNested ? SubContent2 : Content5;
1546
- const contentStyle = (0, import_react28.useMemo)(() => ({ zIndex: 1e3 }), []);
1547
- 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(
1558
+ const contentStyle = (0, import_react29.useMemo)(() => ({ zIndex: 1e3 }), []);
1559
+ return /* @__PURE__ */ import_react29.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react29.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react29.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react29.default.createElement(
1548
1560
  ContentComponent,
1549
1561
  {
1550
1562
  side,
@@ -1556,7 +1568,7 @@ var DropdownMenuRoot = (0, import_react28.forwardRef)(function DropdownMenuRoot2
1556
1568
  ...{ onCloseAutoFocus }
1557
1569
  },
1558
1570
  items.map(
1559
- (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react28.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react28.default.createElement(
1571
+ (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react29.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react29.default.createElement(
1560
1572
  DropdownMenuItem,
1561
1573
  {
1562
1574
  key: item.value ?? index,
@@ -1574,14 +1586,14 @@ var DropdownMenuRoot = (0, import_react28.forwardRef)(function DropdownMenuRoot2
1574
1586
  )
1575
1587
  )));
1576
1588
  });
1577
- var DropdownMenu = (0, import_react28.memo)(DropdownMenuRoot);
1589
+ var DropdownMenu = (0, import_react29.memo)(DropdownMenuRoot);
1578
1590
 
1579
1591
  // src/components/internal/TextInput.tsx
1580
1592
  var import_react_compose_refs = require("@radix-ui/react-compose-refs");
1581
- var import_react30 = __toESM(require("react"));
1593
+ var import_react31 = __toESM(require("react"));
1582
1594
 
1583
1595
  // src/contexts/GlobalInputBlurContext.tsx
1584
- var import_react29 = require("react");
1596
+ var import_react30 = require("react");
1585
1597
  var defaultValue = /* @__PURE__ */ (() => {
1586
1598
  const listeners = [];
1587
1599
  const value = {
@@ -1602,14 +1614,14 @@ var defaultValue = /* @__PURE__ */ (() => {
1602
1614
  };
1603
1615
  return value;
1604
1616
  })();
1605
- var GlobalInputBlurContext = (0, import_react29.createContext)(defaultValue);
1617
+ var GlobalInputBlurContext = (0, import_react30.createContext)(defaultValue);
1606
1618
  var GlobalInputBlurProvider = GlobalInputBlurContext.Provider;
1607
1619
  var useGlobalInputBlur = () => {
1608
- return (0, import_react29.useContext)(GlobalInputBlurContext);
1620
+ return (0, import_react30.useContext)(GlobalInputBlurContext);
1609
1621
  };
1610
1622
  function useGlobalInputBlurListener(f) {
1611
1623
  const context = useGlobalInputBlur();
1612
- (0, import_react29.useEffect)(() => {
1624
+ (0, import_react30.useEffect)(() => {
1613
1625
  context.addListener(f);
1614
1626
  return () => {
1615
1627
  context.removeListener(f);
@@ -1621,8 +1633,8 @@ function useGlobalInputBlurTrigger() {
1621
1633
  }
1622
1634
 
1623
1635
  // src/components/internal/TextInput.tsx
1624
- var ReadOnlyTextInput = (0, import_react30.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
1625
- return /* @__PURE__ */ import_react30.default.createElement(
1636
+ var ReadOnlyTextInput = (0, import_react31.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
1637
+ return /* @__PURE__ */ import_react31.default.createElement(
1626
1638
  "input",
1627
1639
  {
1628
1640
  ref: forwardedRef,
@@ -1633,7 +1645,7 @@ var ReadOnlyTextInput = (0, import_react30.forwardRef)(function ReadOnlyTextInpu
1633
1645
  }
1634
1646
  );
1635
1647
  });
1636
- var ControlledTextInput = (0, import_react30.forwardRef)(function ControlledTextInput2({
1648
+ var ControlledTextInput = (0, import_react31.forwardRef)(function ControlledTextInput2({
1637
1649
  onKeyDown,
1638
1650
  value,
1639
1651
  onChange,
@@ -1642,28 +1654,28 @@ var ControlledTextInput = (0, import_react30.forwardRef)(function ControlledText
1642
1654
  onFocusCapture,
1643
1655
  ...rest
1644
1656
  }, forwardedRef) {
1645
- const handleBlur = (0, import_react30.useCallback)(
1657
+ const handleBlur = (0, import_react31.useCallback)(
1646
1658
  (event) => {
1647
1659
  onBlur?.(event);
1648
1660
  onFocusChange?.(false);
1649
1661
  },
1650
1662
  [onBlur, onFocusChange]
1651
1663
  );
1652
- const handleFocusCapture = (0, import_react30.useCallback)(
1664
+ const handleFocusCapture = (0, import_react31.useCallback)(
1653
1665
  (event) => {
1654
1666
  onFocusCapture?.(event);
1655
1667
  onFocusChange?.(true);
1656
1668
  },
1657
1669
  [onFocusCapture, onFocusChange]
1658
1670
  );
1659
- return /* @__PURE__ */ import_react30.default.createElement(
1671
+ return /* @__PURE__ */ import_react31.default.createElement(
1660
1672
  "input",
1661
1673
  {
1662
1674
  ref: forwardedRef,
1663
1675
  ...rest,
1664
1676
  value,
1665
1677
  onKeyDown,
1666
- onChange: (0, import_react30.useCallback)(
1678
+ onChange: (0, import_react31.useCallback)(
1667
1679
  (event) => onChange(event.target.value),
1668
1680
  [onChange]
1669
1681
  ),
@@ -1672,7 +1684,7 @@ var ControlledTextInput = (0, import_react30.forwardRef)(function ControlledText
1672
1684
  }
1673
1685
  );
1674
1686
  });
1675
- var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTextInput2({
1687
+ var SubmittableTextInput = (0, import_react31.forwardRef)(function SubmittableTextInput2({
1676
1688
  onKeyDown,
1677
1689
  value,
1678
1690
  onSubmit,
@@ -1683,16 +1695,16 @@ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTe
1683
1695
  submitAutomaticallyAfterDelay,
1684
1696
  ...rest
1685
1697
  }, forwardedRef) {
1686
- const ref = import_react30.default.useRef(null);
1687
- const latestValue = (0, import_react30.useRef)(value);
1698
+ const ref = import_react31.default.useRef(null);
1699
+ const latestValue = (0, import_react31.useRef)(value);
1688
1700
  latestValue.current = value;
1689
- const userDidEdit = (0, import_react30.useRef)(false);
1690
- const isSubmitTriggeredByEscapeKey = (0, import_react30.useRef)(false);
1691
- const [internalValue, setInternalValue] = (0, import_react30.useState)("");
1692
- (0, import_react30.useLayoutEffect)(() => {
1701
+ const userDidEdit = (0, import_react31.useRef)(false);
1702
+ const isSubmitTriggeredByEscapeKey = (0, import_react31.useRef)(false);
1703
+ const [internalValue, setInternalValue] = (0, import_react31.useState)("");
1704
+ (0, import_react31.useLayoutEffect)(() => {
1693
1705
  setInternalValue(value);
1694
1706
  }, [value]);
1695
- const handleSubmit = (0, import_react30.useCallback)(() => {
1707
+ const handleSubmit = (0, import_react31.useCallback)(() => {
1696
1708
  const submissionValue = isSubmitTriggeredByEscapeKey.current ? value : internalValue;
1697
1709
  isSubmitTriggeredByEscapeKey.current = false;
1698
1710
  if (submissionValue === value && !allowSubmittingWithSameValue)
@@ -1702,13 +1714,13 @@ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTe
1702
1714
  setInternalValue(latestValue.current);
1703
1715
  }, [allowSubmittingWithSameValue, value, internalValue, onSubmit]);
1704
1716
  useGlobalInputBlurListener(
1705
- (0, import_react30.useCallback)(() => {
1717
+ (0, import_react31.useCallback)(() => {
1706
1718
  if (ref.current !== document.activeElement)
1707
1719
  return;
1708
1720
  handleSubmit();
1709
1721
  }, [handleSubmit])
1710
1722
  );
1711
- const handleKeyDown = (0, import_react30.useCallback)(
1723
+ const handleKeyDown = (0, import_react31.useCallback)(
1712
1724
  (event) => {
1713
1725
  if (event.key === "Enter") {
1714
1726
  handleSubmit();
@@ -1723,14 +1735,14 @@ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTe
1723
1735
  },
1724
1736
  [onKeyDown, handleSubmit]
1725
1737
  );
1726
- const handleChange = (0, import_react30.useCallback)(
1738
+ const handleChange = (0, import_react31.useCallback)(
1727
1739
  (event) => {
1728
1740
  userDidEdit.current = true;
1729
1741
  setInternalValue(event.target.value);
1730
1742
  },
1731
1743
  []
1732
1744
  );
1733
- const handleBlur = (0, import_react30.useCallback)(
1745
+ const handleBlur = (0, import_react31.useCallback)(
1734
1746
  (event) => {
1735
1747
  onBlur?.(event);
1736
1748
  onFocusChange?.(false);
@@ -1738,19 +1750,19 @@ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTe
1738
1750
  },
1739
1751
  [onBlur, onFocusChange, handleSubmit]
1740
1752
  );
1741
- const handleFocusCapture = (0, import_react30.useCallback)(
1753
+ const handleFocusCapture = (0, import_react31.useCallback)(
1742
1754
  (event) => {
1743
1755
  onFocusCapture?.(event);
1744
1756
  onFocusChange?.(true);
1745
1757
  },
1746
1758
  [onFocusCapture, onFocusChange]
1747
1759
  );
1748
- const autoSubmitTimeoutRef = (0, import_react30.useRef)(
1760
+ const autoSubmitTimeoutRef = (0, import_react31.useRef)(
1749
1761
  null
1750
1762
  );
1751
- const latestHandleSubmit = (0, import_react30.useRef)(handleSubmit);
1763
+ const latestHandleSubmit = (0, import_react31.useRef)(handleSubmit);
1752
1764
  latestHandleSubmit.current = handleSubmit;
1753
- (0, import_react30.useEffect)(() => {
1765
+ (0, import_react31.useEffect)(() => {
1754
1766
  if (submitAutomaticallyAfterDelay) {
1755
1767
  if (autoSubmitTimeoutRef.current) {
1756
1768
  clearTimeout(autoSubmitTimeoutRef.current);
@@ -1767,7 +1779,7 @@ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTe
1767
1779
  }
1768
1780
  };
1769
1781
  }, [internalValue, submitAutomaticallyAfterDelay]);
1770
- return /* @__PURE__ */ import_react30.default.createElement(
1782
+ return /* @__PURE__ */ import_react31.default.createElement(
1771
1783
  "input",
1772
1784
  {
1773
1785
  ref: (0, import_react_compose_refs.composeRefs)(ref, forwardedRef),
@@ -1780,13 +1792,13 @@ var SubmittableTextInput = (0, import_react30.forwardRef)(function SubmittableTe
1780
1792
  }
1781
1793
  );
1782
1794
  });
1783
- var TextInput_default = (0, import_react30.forwardRef)(function TextInput(props, forwardedRef) {
1795
+ var TextInput_default = (0, import_react31.forwardRef)(function TextInput(props, forwardedRef) {
1784
1796
  const commonProps = {
1785
- onPointerDown: (0, import_react30.useCallback)(
1797
+ onPointerDown: (0, import_react31.useCallback)(
1786
1798
  (event) => event.stopPropagation(),
1787
1799
  []
1788
1800
  ),
1789
- onClick: (0, import_react30.useCallback)(
1801
+ onClick: (0, import_react31.useCallback)(
1790
1802
  (event) => event.stopPropagation(),
1791
1803
  []
1792
1804
  ),
@@ -1799,17 +1811,17 @@ var TextInput_default = (0, import_react30.forwardRef)(function TextInput(props,
1799
1811
  ...props
1800
1812
  };
1801
1813
  if ("readOnly" in commonProps) {
1802
- return /* @__PURE__ */ import_react30.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
1814
+ return /* @__PURE__ */ import_react31.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
1803
1815
  } else if ("onChange" in commonProps) {
1804
- return /* @__PURE__ */ import_react30.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
1816
+ return /* @__PURE__ */ import_react31.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
1805
1817
  } else {
1806
- return /* @__PURE__ */ import_react30.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
1818
+ return /* @__PURE__ */ import_react31.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
1807
1819
  }
1808
1820
  });
1809
1821
 
1810
1822
  // src/components/Popover.tsx
1811
1823
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
1812
- var import_react31 = __toESM(require("react"));
1824
+ var import_react32 = __toESM(require("react"));
1813
1825
  var import_styled_components12 = __toESM(require("styled-components"));
1814
1826
  var ContentElement = (0, import_styled_components12.default)(PopoverPrimitive.Content)(({ theme, variant }) => ({
1815
1827
  borderRadius: 4,
@@ -1856,7 +1868,7 @@ function Popover({
1856
1868
  onFocusOutside,
1857
1869
  onClickClose
1858
1870
  }) {
1859
- 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(
1871
+ return /* @__PURE__ */ import_react32.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react32.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react32.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react32.default.createElement(
1860
1872
  ContentElement,
1861
1873
  {
1862
1874
  variant,
@@ -1872,13 +1884,13 @@ function Popover({
1872
1884
  arrowPadding: 2
1873
1885
  },
1874
1886
  children,
1875
- showArrow && /* @__PURE__ */ import_react31.default.createElement(ArrowElement, null),
1876
- closable && /* @__PURE__ */ import_react31.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react31.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
1887
+ showArrow && /* @__PURE__ */ import_react32.default.createElement(ArrowElement, null),
1888
+ closable && /* @__PURE__ */ import_react32.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react32.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
1877
1889
  )));
1878
1890
  }
1879
1891
 
1880
1892
  // src/components/InputField.tsx
1881
- var InputFieldContext = (0, import_react32.createContext)({
1893
+ var InputFieldContext = (0, import_react33.createContext)({
1882
1894
  labelPosition: "end",
1883
1895
  labelSize: 6,
1884
1896
  hasLabel: false,
@@ -1906,11 +1918,11 @@ var LabelContainer = import_styled_components13.default.label(({ theme, $labelPo
1906
1918
  paddingRight: $hasDropdown ? "16px" : "6px"
1907
1919
  }
1908
1920
  }));
1909
- var InputFieldLabel = (0, import_react32.memo)(
1910
- (0, import_react32.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
1911
- const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react32.useContext)(InputFieldContext);
1912
- const ref = (0, import_react32.useRef)(null);
1913
- (0, import_react32.useLayoutEffect)(() => {
1921
+ var InputFieldLabel = (0, import_react33.memo)(
1922
+ (0, import_react33.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
1923
+ const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react33.useContext)(InputFieldContext);
1924
+ const ref = (0, import_react33.useRef)(null);
1925
+ (0, import_react33.useLayoutEffect)(() => {
1914
1926
  if (!setLabelWidth)
1915
1927
  return;
1916
1928
  const width = ref.current?.getBoundingClientRect().width;
@@ -1918,7 +1930,7 @@ var InputFieldLabel = (0, import_react32.memo)(
1918
1930
  return;
1919
1931
  setLabelWidth(width);
1920
1932
  }, [setLabelWidth]);
1921
- return /* @__PURE__ */ import_react32.default.createElement(
1933
+ return /* @__PURE__ */ import_react33.default.createElement(
1922
1934
  LabelContainer,
1923
1935
  {
1924
1936
  ref: (element) => {
@@ -1942,16 +1954,16 @@ var DropdownContainer = import_styled_components13.default.span(({ theme }) => (
1942
1954
  display: "flex",
1943
1955
  flexDirection: "column"
1944
1956
  }));
1945
- var InputFieldDropdownMenu = (0, import_react32.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
1946
- const { size: size2 } = (0, import_react32.useContext)(InputFieldContext);
1947
- const contentStyle = (0, import_react32.useMemo)(
1957
+ var InputFieldDropdownMenu = (0, import_react33.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
1958
+ const { size: size2 } = (0, import_react33.useContext)(InputFieldContext);
1959
+ const contentStyle = (0, import_react33.useMemo)(
1948
1960
  () => ({
1949
1961
  margin: "-4px 0",
1950
1962
  minHeight: size2 === "small" ? "15px" : void 0
1951
1963
  }),
1952
1964
  [size2]
1953
1965
  );
1954
- 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))));
1966
+ return /* @__PURE__ */ import_react33.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react33.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react33.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react33.default.createElement(import_noya_icons2.CaretDownIcon, null))));
1955
1967
  });
1956
1968
  var ButtonContainer = import_styled_components13.default.span(
1957
1969
  ({ theme, $size }) => ({
@@ -1960,12 +1972,12 @@ var ButtonContainer = import_styled_components13.default.span(
1960
1972
  top: $size === "large" ? "8px" : $size === "medium" ? "4px" : "2px"
1961
1973
  })
1962
1974
  );
1963
- var InputFieldButton = (0, import_react32.memo)(function InputFieldButton2({
1975
+ var InputFieldButton = (0, import_react33.memo)(function InputFieldButton2({
1964
1976
  children,
1965
1977
  onClick
1966
1978
  }) {
1967
- const { size: size2, inputRef } = (0, import_react32.useContext)(InputFieldContext);
1968
- const defaultHandleClick = (0, import_react32.useCallback)(
1979
+ const { size: size2, inputRef } = (0, import_react33.useContext)(InputFieldContext);
1980
+ const defaultHandleClick = (0, import_react33.useCallback)(
1969
1981
  (event) => {
1970
1982
  if (inputRef && typeof inputRef !== "function") {
1971
1983
  inputRef.current?.focus();
@@ -1976,11 +1988,11 @@ var InputFieldButton = (0, import_react32.memo)(function InputFieldButton2({
1976
1988
  },
1977
1989
  [inputRef]
1978
1990
  );
1979
- const handlePointerDown = (0, import_react32.useCallback)((event) => {
1991
+ const handlePointerDown = (0, import_react33.useCallback)((event) => {
1980
1992
  event.preventDefault();
1981
1993
  event.stopPropagation();
1982
1994
  }, []);
1983
- return /* @__PURE__ */ import_react32.default.createElement(ButtonContainer, { $size: size2 }, /* @__PURE__ */ import_react32.default.createElement(
1995
+ return /* @__PURE__ */ import_react33.default.createElement(ButtonContainer, { $size: size2 }, /* @__PURE__ */ import_react33.default.createElement(
1984
1996
  Button,
1985
1997
  {
1986
1998
  variant: "floating",
@@ -2051,7 +2063,7 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default)(({
2051
2063
  // },
2052
2064
  };
2053
2065
  });
2054
- var InputFieldInput = (0, import_react32.forwardRef)(function InputFieldInput2({
2066
+ var InputFieldInput = (0, import_react33.forwardRef)(function InputFieldInput2({
2055
2067
  textAlign,
2056
2068
  variant,
2057
2069
  ...rest
@@ -2064,17 +2076,17 @@ var InputFieldInput = (0, import_react32.forwardRef)(function InputFieldInput2({
2064
2076
  size: size2,
2065
2077
  onFocusChange,
2066
2078
  setInputRef
2067
- } = (0, import_react32.useContext)(InputFieldContext);
2068
- const handleFocusChange = (0, import_react32.useCallback)(
2079
+ } = (0, import_react33.useContext)(InputFieldContext);
2080
+ const handleFocusChange = (0, import_react33.useCallback)(
2069
2081
  (isFocused) => {
2070
2082
  onFocusChange(isFocused);
2071
2083
  },
2072
2084
  [onFocusChange]
2073
2085
  );
2074
- (0, import_react32.useLayoutEffect)(() => {
2086
+ (0, import_react33.useLayoutEffect)(() => {
2075
2087
  setInputRef?.(forwardedRef);
2076
2088
  }, [forwardedRef, setInputRef]);
2077
- return /* @__PURE__ */ import_react32.default.createElement(
2089
+ return /* @__PURE__ */ import_react33.default.createElement(
2078
2090
  InputElement,
2079
2091
  {
2080
2092
  ref: forwardedRef,
@@ -2098,8 +2110,8 @@ var InputFieldTypeahead = (props) => {
2098
2110
  hasLabel,
2099
2111
  size: size2,
2100
2112
  onFocusChange
2101
- } = (0, import_react32.useContext)(InputFieldContext);
2102
- return /* @__PURE__ */ import_react32.default.createElement(
2113
+ } = (0, import_react33.useContext)(InputFieldContext);
2114
+ return /* @__PURE__ */ import_react33.default.createElement(
2103
2115
  InputElement,
2104
2116
  {
2105
2117
  $labelPosition: labelPosition,
@@ -2133,8 +2145,8 @@ function InputFieldNumberInput(props) {
2133
2145
  const { value, placeholder, onNudge, onBlur, ...rest } = props;
2134
2146
  const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
2135
2147
  const onChange = "onChange" in props ? props.onChange : void 0;
2136
- const [internalValue, setInternalValue] = (0, import_react32.useState)();
2137
- const handleSubmit = (0, import_react32.useCallback)(
2148
+ const [internalValue, setInternalValue] = (0, import_react33.useState)();
2149
+ const handleSubmit = (0, import_react33.useCallback)(
2138
2150
  (value2) => {
2139
2151
  const newValue = parseNumber(value2);
2140
2152
  if (!isNaN(newValue)) {
@@ -2143,7 +2155,7 @@ function InputFieldNumberInput(props) {
2143
2155
  },
2144
2156
  [onSubmit]
2145
2157
  );
2146
- const handleKeyDown = (0, import_react32.useCallback)(
2158
+ const handleKeyDown = (0, import_react33.useCallback)(
2147
2159
  (event) => {
2148
2160
  const amount = handleNudge(event);
2149
2161
  if (!amount)
@@ -2155,7 +2167,7 @@ function InputFieldNumberInput(props) {
2155
2167
  },
2156
2168
  [onNudge]
2157
2169
  );
2158
- const handleChange = (0, import_react32.useCallback)(
2170
+ const handleChange = (0, import_react33.useCallback)(
2159
2171
  (value2) => {
2160
2172
  if (value2 === "" || value2 === "-" || value2 === ".") {
2161
2173
  setInternalValue(value2);
@@ -2173,14 +2185,14 @@ function InputFieldNumberInput(props) {
2173
2185
  },
2174
2186
  [onChange]
2175
2187
  );
2176
- const handleBlur = (0, import_react32.useCallback)(
2188
+ const handleBlur = (0, import_react33.useCallback)(
2177
2189
  (event) => {
2178
2190
  setInternalValue(void 0);
2179
2191
  onBlur?.(event);
2180
2192
  },
2181
2193
  [onBlur]
2182
2194
  );
2183
- return /* @__PURE__ */ import_react32.default.createElement(
2195
+ return /* @__PURE__ */ import_react33.default.createElement(
2184
2196
  InputFieldInput,
2185
2197
  {
2186
2198
  ...rest,
@@ -2210,34 +2222,36 @@ function InputFieldRoot({
2210
2222
  labelSize,
2211
2223
  size: size2 = "medium",
2212
2224
  renderPopoverContent,
2213
- onFocusChange
2225
+ onFocusChange,
2226
+ style: style3,
2227
+ className
2214
2228
  }) {
2215
- const childrenArray = import_react32.Children.toArray(children);
2229
+ const childrenArray = import_react33.Children.toArray(children);
2216
2230
  const hasDropdown = childrenArray.some(
2217
- (child) => (0, import_react32.isValidElement)(child) && child.type === InputFieldDropdownMenu
2231
+ (child) => (0, import_react33.isValidElement)(child) && child.type === InputFieldDropdownMenu
2218
2232
  );
2219
2233
  const hasLabel = childrenArray.some(
2220
- (child) => (0, import_react32.isValidElement)(child) && child.type === InputFieldLabel
2234
+ (child) => (0, import_react33.isValidElement)(child) && child.type === InputFieldLabel
2221
2235
  );
2222
- const [isFocused, setIsFocused] = import_react32.default.useState(false);
2223
- const [measuredLabelSize, setMeasuredLabelSize] = import_react32.default.useState();
2224
- const [measuredWidth, setMeasuredWidth] = import_react32.default.useState();
2225
- const handleFocusChange = (0, import_react32.useCallback)(
2236
+ const [isFocused, setIsFocused] = import_react33.default.useState(false);
2237
+ const [measuredLabelSize, setMeasuredLabelSize] = import_react33.default.useState();
2238
+ const [measuredWidth, setMeasuredWidth] = import_react33.default.useState();
2239
+ const handleFocusChange = (0, import_react33.useCallback)(
2226
2240
  (isFocused2) => {
2227
2241
  setIsFocused(isFocused2);
2228
2242
  onFocusChange?.(isFocused2);
2229
2243
  },
2230
2244
  [onFocusChange]
2231
2245
  );
2232
- const [inputRef, setInputRef] = import_react32.default.useState();
2233
- (0, import_react32.useEffect)(() => {
2246
+ const [inputRef, setInputRef] = import_react33.default.useState();
2247
+ (0, import_react33.useEffect)(() => {
2234
2248
  if (inputRef && typeof inputRef !== "function") {
2235
2249
  setMeasuredWidth?.(
2236
2250
  isFocused ? inputRef?.current?.getBoundingClientRect().width : void 0
2237
2251
  );
2238
2252
  }
2239
2253
  }, [inputRef, isFocused]);
2240
- const contextValue = (0, import_react32.useMemo)(
2254
+ const contextValue = (0, import_react33.useMemo)(
2241
2255
  () => ({
2242
2256
  labelPosition,
2243
2257
  labelSize: measuredLabelSize ?? labelSize ?? 6,
@@ -2262,8 +2276,18 @@ function InputFieldRoot({
2262
2276
  inputRef
2263
2277
  ]
2264
2278
  );
2265
- const rootElement = /* @__PURE__ */ import_react32.default.createElement(RootContainer, { id, $width: width, $flex: flex }, children);
2266
- return /* @__PURE__ */ import_react32.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react32.default.createElement(
2279
+ const rootElement = /* @__PURE__ */ import_react33.default.createElement(
2280
+ RootContainer,
2281
+ {
2282
+ id,
2283
+ $width: width,
2284
+ $flex: flex,
2285
+ style: style3,
2286
+ className
2287
+ },
2288
+ children
2289
+ );
2290
+ return /* @__PURE__ */ import_react33.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react33.default.createElement(
2267
2291
  Popover,
2268
2292
  {
2269
2293
  open: true,
@@ -2279,15 +2303,15 @@ function InputFieldRoot({
2279
2303
  event.stopPropagation();
2280
2304
  }
2281
2305
  },
2282
- measuredWidth && /* @__PURE__ */ import_react32.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
2306
+ measuredWidth && /* @__PURE__ */ import_react33.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
2283
2307
  ) : rootElement);
2284
2308
  }
2285
2309
  var InputField;
2286
2310
  ((InputField2) => {
2287
- InputField2.Root = (0, import_react32.memo)(InputFieldRoot);
2288
- InputField2.Input = (0, import_react32.memo)(InputFieldInput);
2289
- InputField2.Typeahead = (0, import_react32.memo)(InputFieldTypeahead);
2290
- InputField2.NumberInput = (0, import_react32.memo)(InputFieldNumberInput);
2311
+ InputField2.Root = (0, import_react33.memo)(InputFieldRoot);
2312
+ InputField2.Input = (0, import_react33.memo)(InputFieldInput);
2313
+ InputField2.Typeahead = (0, import_react33.memo)(InputFieldTypeahead);
2314
+ InputField2.NumberInput = (0, import_react33.memo)(InputFieldNumberInput);
2291
2315
  InputField2.DropdownMenu = InputFieldDropdownMenu;
2292
2316
  InputField2.Button = InputFieldButton;
2293
2317
  InputField2.Label = InputFieldLabel;
@@ -2311,24 +2335,24 @@ function createDeferredPromise() {
2311
2335
  });
2312
2336
  return { promise, resolve, reject };
2313
2337
  }
2314
- var DialogContext = (0, import_react33.createContext)(void 0);
2338
+ var DialogContext = (0, import_react34.createContext)(void 0);
2315
2339
  var DialogProvider = function DialogProvider2({
2316
2340
  children
2317
2341
  }) {
2318
- const [contents, setContents] = (0, import_react33.useState)();
2342
+ const [contents, setContents] = (0, import_react34.useState)();
2319
2343
  const isOpen = !!contents;
2320
- const close = (0, import_react33.useCallback)(() => {
2344
+ const close = (0, import_react34.useCallback)(() => {
2321
2345
  if (!contents)
2322
2346
  return;
2323
2347
  contents.resolve(void 0);
2324
2348
  }, [contents]);
2325
- const submit = (0, import_react33.useCallback)(() => {
2349
+ const submit = (0, import_react34.useCallback)(() => {
2326
2350
  if (!contents || !contents.inputValue)
2327
2351
  return;
2328
2352
  contents.resolve(contents.inputValue);
2329
2353
  setContents(void 0);
2330
2354
  }, [contents]);
2331
- const open = (0, import_react33.useCallback)(
2355
+ const open = (0, import_react34.useCallback)(
2332
2356
  (title, inputValue = "") => {
2333
2357
  const { promise, resolve } = createDeferredPromise();
2334
2358
  setContents({
@@ -2343,7 +2367,7 @@ var DialogProvider = function DialogProvider2({
2343
2367
  },
2344
2368
  []
2345
2369
  );
2346
- const handleKeyDown = (0, import_react33.useCallback)(
2370
+ const handleKeyDown = (0, import_react34.useCallback)(
2347
2371
  (event) => {
2348
2372
  if (event.key !== "Enter")
2349
2373
  return;
@@ -2353,29 +2377,29 @@ var DialogProvider = function DialogProvider2({
2353
2377
  },
2354
2378
  [submit]
2355
2379
  );
2356
- const inputRef = (0, import_react33.useRef)(null);
2357
- const dialogRef = (0, import_react33.useRef)(null);
2358
- const containsElement = (0, import_react33.useCallback)((element) => {
2380
+ const inputRef = (0, import_react34.useRef)(null);
2381
+ const dialogRef = (0, import_react34.useRef)(null);
2382
+ const containsElement = (0, import_react34.useCallback)((element) => {
2359
2383
  if (!dialogRef.current)
2360
2384
  return false;
2361
2385
  return dialogRef.current.containsElement(element);
2362
2386
  }, []);
2363
- return /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(
2387
+ return /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(
2364
2388
  DialogContext.Provider,
2365
2389
  {
2366
- value: (0, import_react33.useMemo)(
2390
+ value: (0, import_react34.useMemo)(
2367
2391
  () => ({ openInputDialog: open, containsElement }),
2368
2392
  [containsElement, open]
2369
2393
  )
2370
2394
  },
2371
2395
  children
2372
- ), /* @__PURE__ */ import_react33.default.createElement(
2396
+ ), /* @__PURE__ */ import_react34.default.createElement(
2373
2397
  Dialog,
2374
2398
  {
2375
2399
  ref: dialogRef,
2376
2400
  title: contents?.title,
2377
2401
  open: isOpen,
2378
- onOpenChange: (0, import_react33.useCallback)(
2402
+ onOpenChange: (0, import_react34.useCallback)(
2379
2403
  (isOpen2) => {
2380
2404
  if (!isOpen2) {
2381
2405
  close();
@@ -2383,14 +2407,14 @@ var DialogProvider = function DialogProvider2({
2383
2407
  },
2384
2408
  [close]
2385
2409
  ),
2386
- onOpenAutoFocus: (0, import_react33.useCallback)((event) => {
2410
+ onOpenAutoFocus: (0, import_react34.useCallback)((event) => {
2387
2411
  event.stopPropagation();
2388
2412
  event.preventDefault();
2389
2413
  inputRef.current?.focus();
2390
2414
  inputRef.current?.setSelectionRange(0, inputRef.current.value.length);
2391
2415
  }, [])
2392
2416
  },
2393
- /* @__PURE__ */ import_react33.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react33.default.createElement(
2417
+ /* @__PURE__ */ import_react34.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react34.default.createElement(
2394
2418
  InputField.Input,
2395
2419
  {
2396
2420
  ref: inputRef,
@@ -2406,12 +2430,12 @@ var DialogProvider = function DialogProvider2({
2406
2430
  onKeyDown: handleKeyDown
2407
2431
  }
2408
2432
  )),
2409
- /* @__PURE__ */ import_react33.default.createElement(Spacer.Vertical, { size: 20 }),
2410
- /* @__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"))
2433
+ /* @__PURE__ */ import_react34.default.createElement(Spacer.Vertical, { size: 20 }),
2434
+ /* @__PURE__ */ import_react34.default.createElement(Row, null, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react34.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react34.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
2411
2435
  ));
2412
2436
  };
2413
2437
  function useDialog() {
2414
- const value = (0, import_react33.useContext)(DialogContext);
2438
+ const value = (0, import_react34.useContext)(DialogContext);
2415
2439
  if (!value) {
2416
2440
  throw new Error("Missing DialogProvider");
2417
2441
  }
@@ -2426,20 +2450,20 @@ function useDialogContainsElement() {
2426
2450
 
2427
2451
  // src/contexts/FloatingWindowContext.tsx
2428
2452
  var import_noya_utils5 = require("@noya-app/noya-utils");
2429
- var import_react34 = __toESM(require("react"));
2453
+ var import_react35 = __toESM(require("react"));
2430
2454
  var import_react_dom = require("react-dom");
2431
- var FloatingWindowContext = (0, import_react34.createContext)(void 0);
2432
- var CurrentWindowContext = (0, import_react34.createContext)(void 0);
2455
+ var FloatingWindowContext = (0, import_react35.createContext)(void 0);
2456
+ var CurrentWindowContext = (0, import_react35.createContext)(void 0);
2433
2457
  var FloatingWindowProvider = ({
2434
2458
  children
2435
2459
  }) => {
2436
- const [windows, setWindows] = (0, import_react34.useState)({});
2437
- const contextValue = (0, import_react34.useMemo)(() => {
2460
+ const [windows, setWindows] = (0, import_react35.useState)({});
2461
+ const contextValue = (0, import_react35.useMemo)(() => {
2438
2462
  const createWindow = (element) => {
2439
2463
  const id = (0, import_noya_utils5.uuid)();
2440
2464
  setWindows((windows2) => ({
2441
2465
  ...windows2,
2442
- [id]: /* @__PURE__ */ import_react34.default.createElement(CurrentWindowContext.Provider, { value: { id } }, element)
2466
+ [id]: /* @__PURE__ */ import_react35.default.createElement(CurrentWindowContext.Provider, { value: { id } }, element)
2443
2467
  }));
2444
2468
  return id;
2445
2469
  };
@@ -2451,12 +2475,12 @@ var FloatingWindowProvider = ({
2451
2475
  };
2452
2476
  return { createWindow, closeWindow };
2453
2477
  }, []);
2454
- return /* @__PURE__ */ import_react34.default.createElement(FloatingWindowContext.Provider, { value: contextValue }, children, Object.entries(windows).map(
2478
+ return /* @__PURE__ */ import_react35.default.createElement(FloatingWindowContext.Provider, { value: contextValue }, children, Object.entries(windows).map(
2455
2479
  ([id, element]) => (0, import_react_dom.createPortal)(element, document.body, id)
2456
2480
  ));
2457
2481
  };
2458
2482
  var useFloatingWindowManager = () => {
2459
- const context = (0, import_react34.useContext)(FloatingWindowContext);
2483
+ const context = (0, import_react35.useContext)(FloatingWindowContext);
2460
2484
  if (!context) {
2461
2485
  throw new Error(
2462
2486
  "useFloatingWindow must be used within a FloatingWindowProvider"
@@ -2465,7 +2489,7 @@ var useFloatingWindowManager = () => {
2465
2489
  return context;
2466
2490
  };
2467
2491
  var useCurrentFloatingWindowInternal = () => {
2468
- const context = (0, import_react34.useContext)(CurrentWindowContext);
2492
+ const context = (0, import_react35.useContext)(CurrentWindowContext);
2469
2493
  if (!context) {
2470
2494
  throw new Error("useCurrentWindow must be used within a FloatingWindow");
2471
2495
  }
@@ -2473,7 +2497,7 @@ var useCurrentFloatingWindowInternal = () => {
2473
2497
  };
2474
2498
 
2475
2499
  // src/contexts/DesignSystemConfiguration.tsx
2476
- var DesignSystemThemeProvider = (0, import_react35.memo)(
2500
+ var DesignSystemThemeProvider = (0, import_react36.memo)(
2477
2501
  function DesignSystemThemeProvider2({
2478
2502
  children,
2479
2503
  theme
@@ -2484,50 +2508,50 @@ var DesignSystemThemeProvider = (0, import_react35.memo)(
2484
2508
  } catch (e) {
2485
2509
  }
2486
2510
  if (theme) {
2487
- return /* @__PURE__ */ import_react35.default.createElement(import_styled_components15.ThemeProvider, { theme }, children);
2511
+ return /* @__PURE__ */ import_react36.default.createElement(import_styled_components15.ThemeProvider, { theme }, children);
2488
2512
  } else if (parentTheme) {
2489
2513
  return children;
2490
2514
  } else {
2491
- return /* @__PURE__ */ import_react35.default.createElement(import_styled_components15.ThemeProvider, { theme: light_exports }, children);
2515
+ return /* @__PURE__ */ import_react36.default.createElement(import_styled_components15.ThemeProvider, { theme: light_exports }, children);
2492
2516
  }
2493
2517
  }
2494
2518
  );
2495
- var DesignSystemConfigurationContext = (0, import_react35.createContext)({
2519
+ var DesignSystemConfigurationContext = (0, import_react36.createContext)({
2496
2520
  platform: "key"
2497
2521
  });
2498
- var DesignSystemConfigurationProvider = (0, import_react35.memo)(
2522
+ var DesignSystemConfigurationProvider = (0, import_react36.memo)(
2499
2523
  function DesignSystemConfigurationProvider2({
2500
2524
  children,
2501
2525
  theme,
2502
2526
  platform
2503
2527
  }) {
2504
- const [internalPlatform, setInternalPlatform] = (0, import_react35.useState)(
2528
+ const [internalPlatform, setInternalPlatform] = (0, import_react36.useState)(
2505
2529
  platform ?? "key"
2506
2530
  );
2507
- (0, import_react35.useEffect)(() => {
2531
+ (0, import_react36.useEffect)(() => {
2508
2532
  if (platform !== void 0)
2509
2533
  return;
2510
2534
  if (typeof navigator !== "undefined") {
2511
2535
  setInternalPlatform((0, import_noya_keymap3.getCurrentPlatform)(navigator));
2512
2536
  }
2513
2537
  }, [platform]);
2514
- const contextValue = (0, import_react35.useMemo)(
2538
+ const contextValue = (0, import_react36.useMemo)(
2515
2539
  () => ({ platform: platform ?? internalPlatform }),
2516
2540
  [platform, internalPlatform]
2517
2541
  );
2518
2542
  const resolvedTheme = theme === "light" ? light_exports : theme === "dark" ? dark_exports : theme ?? light_exports;
2519
- return /* @__PURE__ */ import_react35.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react35.default.createElement(import_styled_components15.ThemeProvider, { theme: resolvedTheme }, /* @__PURE__ */ import_react35.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react35.default.createElement(ToastProvider, null, /* @__PURE__ */ import_react35.default.createElement(FloatingWindowProvider, null, children)))));
2543
+ return /* @__PURE__ */ import_react36.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react36.default.createElement(import_styled_components15.ThemeProvider, { theme: resolvedTheme }, /* @__PURE__ */ import_react36.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react36.default.createElement(ToastProvider, null, /* @__PURE__ */ import_react36.default.createElement(FloatingWindowProvider, null, children)))));
2520
2544
  }
2521
2545
  );
2522
2546
  function useDesignSystemConfiguration() {
2523
- return (0, import_react35.useContext)(DesignSystemConfigurationContext);
2547
+ return (0, import_react36.useContext)(DesignSystemConfigurationContext);
2524
2548
  }
2525
2549
  function useDesignSystemTheme() {
2526
2550
  return (0, import_styled_components15.useTheme)();
2527
2551
  }
2528
2552
 
2529
2553
  // src/hooks/useHover.ts
2530
- var React21 = __toESM(require("react"));
2554
+ var React22 = __toESM(require("react"));
2531
2555
  var globalIgnoreEmulatedMouseEvents = false;
2532
2556
  var hoverCount = 0;
2533
2557
  function setGlobalIgnoreEmulatedMouseEvents() {
@@ -2557,13 +2581,13 @@ function setupGlobalTouchEvents() {
2557
2581
  }
2558
2582
  function useHover(props = {}) {
2559
2583
  const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;
2560
- const [isHovered, setHovered] = React21.useState(false);
2561
- const state = React21.useRef({
2584
+ const [isHovered, setHovered] = React22.useState(false);
2585
+ const state = React22.useRef({
2562
2586
  isHovered: false,
2563
2587
  ignoreEmulatedMouseEvents: false
2564
2588
  }).current;
2565
- React21.useEffect(setupGlobalTouchEvents, []);
2566
- const hoverProps = React21.useMemo(
2589
+ React22.useEffect(setupGlobalTouchEvents, []);
2590
+ const hoverProps = React22.useMemo(
2567
2591
  function getHoverProps() {
2568
2592
  function triggerHoverStart(event, pointerType) {
2569
2593
  if (isDisabled || pointerType === "touch" || state.isHovered) {
@@ -2704,8 +2728,8 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
2704
2728
  opacity: 0.85
2705
2729
  }
2706
2730
  }));
2707
- var Chip = (0, import_react36.memo)(
2708
- (0, import_react36.forwardRef)(function Chip2({
2731
+ var Chip = (0, import_react37.memo)(
2732
+ (0, import_react37.forwardRef)(function Chip2({
2709
2733
  colorScheme,
2710
2734
  children,
2711
2735
  deletable,
@@ -2728,7 +2752,7 @@ var Chip = (0, import_react36.memo)(
2728
2752
  });
2729
2753
  const handleClick = !children && !deletable && addable ? onAdd : onClick;
2730
2754
  const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2731
- return /* @__PURE__ */ import_react36.default.createElement(
2755
+ return /* @__PURE__ */ import_react37.default.createElement(
2732
2756
  ChipElement,
2733
2757
  {
2734
2758
  ref: forwardedRef,
@@ -2742,7 +2766,7 @@ var Chip = (0, import_react36.memo)(
2742
2766
  tabIndex,
2743
2767
  ...rest
2744
2768
  },
2745
- addable && /* @__PURE__ */ import_react36.default.createElement(
2769
+ addable && /* @__PURE__ */ import_react37.default.createElement(
2746
2770
  AddElement,
2747
2771
  {
2748
2772
  size: size2,
@@ -2755,7 +2779,7 @@ var Chip = (0, import_react36.memo)(
2755
2779
  }
2756
2780
  ),
2757
2781
  children,
2758
- deletable && /* @__PURE__ */ import_react36.default.createElement(
2782
+ deletable && /* @__PURE__ */ import_react37.default.createElement(
2759
2783
  DeleteElement,
2760
2784
  {
2761
2785
  size: size2,
@@ -2775,7 +2799,7 @@ var Chip = (0, import_react36.memo)(
2775
2799
  var import_noya_icons4 = require("@noya-app/noya-icons");
2776
2800
  var import_noya_keymap4 = require("@noya-app/noya-keymap");
2777
2801
  var RadixContextMenu = __toESM(require("@radix-ui/react-context-menu"));
2778
- var import_react37 = __toESM(require("react"));
2802
+ var import_react38 = __toESM(require("react"));
2779
2803
  var import_styled_components17 = __toESM(require("styled-components"));
2780
2804
  var SeparatorElement2 = (0, import_styled_components17.default)(RadixContextMenu.Separator)(
2781
2805
  styles.separatorStyle
@@ -2787,7 +2811,7 @@ var CheckboxItemElement2 = (0, import_styled_components17.default)(RadixContextM
2787
2811
  var StyledItemIndicator2 = (0, import_styled_components17.default)(RadixContextMenu.ItemIndicator)(
2788
2812
  styles.itemIndicatorStyle
2789
2813
  );
2790
- var ContextMenuItem2 = (0, import_react37.memo)(function ContextMenuItem3({
2814
+ var ContextMenuItem2 = (0, import_react38.memo)(function ContextMenuItem3({
2791
2815
  value,
2792
2816
  children,
2793
2817
  onSelect,
@@ -2798,42 +2822,42 @@ var ContextMenuItem2 = (0, import_react37.memo)(function ContextMenuItem3({
2798
2822
  items,
2799
2823
  shortcut
2800
2824
  }) {
2801
- const handlePointerDown = (0, import_react37.useCallback)(
2825
+ const handlePointerDown = (0, import_react38.useCallback)(
2802
2826
  (event) => event.stopPropagation(),
2803
2827
  []
2804
2828
  );
2805
- const handleSelectItem = (0, import_react37.useCallback)(() => {
2829
+ const handleSelectItem = (0, import_react38.useCallback)(() => {
2806
2830
  if (!value)
2807
2831
  return;
2808
2832
  onSelect(value);
2809
2833
  }, [onSelect, value]);
2810
2834
  if (checked) {
2811
- return /* @__PURE__ */ import_react37.default.createElement(
2835
+ return /* @__PURE__ */ import_react38.default.createElement(
2812
2836
  CheckboxItemElement2,
2813
2837
  {
2814
2838
  checked,
2815
2839
  disabled,
2816
2840
  onSelect: handleSelectItem
2817
2841
  },
2818
- /* @__PURE__ */ import_react37.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react37.default.createElement(import_noya_icons4.CheckIcon, null)),
2842
+ /* @__PURE__ */ import_react38.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react38.default.createElement(import_noya_icons4.CheckIcon, null)),
2819
2843
  children
2820
2844
  );
2821
2845
  }
2822
- const element = /* @__PURE__ */ import_react37.default.createElement(
2846
+ const element = /* @__PURE__ */ import_react38.default.createElement(
2823
2847
  ItemElement2,
2824
2848
  {
2825
2849
  disabled,
2826
2850
  onSelect: handleSelectItem,
2827
2851
  onPointerDown: handlePointerDown
2828
2852
  },
2829
- indented && /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
2830
- icon && /* @__PURE__ */ import_react37.default.createElement(import_react37.default.Fragment, null, icon, /* @__PURE__ */ import_react37.default.createElement(Spacer.Horizontal, { size: 8 })),
2853
+ indented && /* @__PURE__ */ import_react38.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
2854
+ icon && /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react38.default.createElement(Spacer.Horizontal, { size: 8 })),
2831
2855
  children,
2832
- 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 })),
2833
- 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))
2856
+ shortcut && /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, /* @__PURE__ */ import_react38.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react38.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react38.default.createElement(KeyboardShortcut, { shortcut })),
2857
+ items && items.length > 0 && /* @__PURE__ */ import_react38.default.createElement(import_react38.default.Fragment, null, /* @__PURE__ */ import_react38.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react38.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react38.default.createElement(import_noya_icons4.ChevronRightIcon, null))
2834
2858
  );
2835
2859
  if (items && items.length > 0) {
2836
- return /* @__PURE__ */ import_react37.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
2860
+ return /* @__PURE__ */ import_react38.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
2837
2861
  } else {
2838
2862
  return element;
2839
2863
  }
@@ -2851,19 +2875,19 @@ function ContextMenuRoot({
2851
2875
  const hasCheckedItem = items.some(
2852
2876
  (item) => item !== SEPARATOR_ITEM && item.checked
2853
2877
  );
2854
- const keymap = (0, import_react37.useMemo)(
2878
+ const keymap = (0, import_react38.useMemo)(
2855
2879
  () => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
2856
2880
  [isNested, items, onSelect, shouldBindKeyboardShortcuts]
2857
2881
  );
2858
2882
  (0, import_noya_keymap4.useKeyboardShortcuts)(keymap);
2859
- const onPointerDown = (0, import_react37.useCallback)((event) => {
2883
+ const onPointerDown = (0, import_react38.useCallback)((event) => {
2860
2884
  event.preventDefault();
2861
2885
  }, []);
2862
2886
  const RootComponent = isNested ? RadixContextMenu.Sub : RadixContextMenu.Root;
2863
2887
  const TriggerComponent = isNested ? RadixContextMenu.SubTrigger : RadixContextMenu.Trigger;
2864
2888
  const ContentComponent = isNested ? SubContent4 : Content8;
2865
- 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(
2866
- (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react37.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react37.default.createElement(
2889
+ return /* @__PURE__ */ import_react38.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react38.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react38.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react38.default.createElement(ContentComponent, null, items.map(
2890
+ (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react38.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react38.default.createElement(
2867
2891
  ContextMenuItem2,
2868
2892
  {
2869
2893
  key: item.value ?? index,
@@ -2880,22 +2904,22 @@ function ContextMenuRoot({
2880
2904
  )
2881
2905
  ))));
2882
2906
  }
2883
- var ContextMenu = (0, import_react37.memo)(ContextMenuRoot);
2907
+ var ContextMenu = (0, import_react38.memo)(ContextMenuRoot);
2884
2908
 
2885
2909
  // src/components/Divider.tsx
2886
- var import_react38 = __toESM(require("react"));
2910
+ var import_react39 = __toESM(require("react"));
2887
2911
  var import_styled_components18 = __toESM(require("styled-components"));
2888
2912
  var DividerContainer = import_styled_components18.default.div(({ theme, $variant = "normal", $orientation, $overflow = 0 }) => ({
2889
2913
  ...$orientation === "horizontal" ? { height: "1px", minHeight: "1px", margin: `0px -${$overflow}px` } : { width: "1px", minWidth: "1px", margin: `-${$overflow}px 0px` },
2890
2914
  background: $variant === "strong" ? theme.colors.dividerStrong : $variant === "subtle" ? theme.colors.dividerSubtle : theme.colors.divider,
2891
2915
  alignSelf: "stretch"
2892
2916
  }));
2893
- var Divider = (0, import_react38.memo)(function Divider2({
2917
+ var Divider = (0, import_react39.memo)(function Divider2({
2894
2918
  variant,
2895
2919
  overflow,
2896
2920
  ...props
2897
2921
  }) {
2898
- return /* @__PURE__ */ import_react38.default.createElement(
2922
+ return /* @__PURE__ */ import_react39.default.createElement(
2899
2923
  DividerContainer,
2900
2924
  {
2901
2925
  $orientation: "horizontal",
@@ -2905,12 +2929,12 @@ var Divider = (0, import_react38.memo)(function Divider2({
2905
2929
  }
2906
2930
  );
2907
2931
  });
2908
- var DividerVertical = (0, import_react38.memo)(function DividerVertical2({
2932
+ var DividerVertical = (0, import_react39.memo)(function DividerVertical2({
2909
2933
  variant,
2910
2934
  overflow,
2911
2935
  ...props
2912
2936
  }) {
2913
- return /* @__PURE__ */ import_react38.default.createElement(
2937
+ return /* @__PURE__ */ import_react39.default.createElement(
2914
2938
  DividerContainer,
2915
2939
  {
2916
2940
  $orientation: "vertical",
@@ -2923,7 +2947,7 @@ var DividerVertical = (0, import_react38.memo)(function DividerVertical2({
2923
2947
 
2924
2948
  // src/components/DraggableMenuButton.tsx
2925
2949
  var import_noya_icons5 = require("@noya-app/noya-icons");
2926
- var import_react39 = __toESM(require("react"));
2950
+ var import_react40 = __toESM(require("react"));
2927
2951
  var import_styled_components19 = __toESM(require("styled-components"));
2928
2952
  var DotButtonElement = import_styled_components19.default.div(({ theme }) => ({
2929
2953
  cursor: "pointer",
@@ -2943,15 +2967,15 @@ var TriggerElement = import_styled_components19.default.div({
2943
2967
  pointerEvents: "none",
2944
2968
  height: "15px"
2945
2969
  });
2946
- var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2({
2970
+ var DraggableMenuButton = (0, import_react40.memo)(function DraggableMenuButton2({
2947
2971
  items,
2948
2972
  onSelect,
2949
2973
  isVisible = true
2950
2974
  }) {
2951
2975
  const color = useDesignSystemTheme().colors.icon;
2952
- const [open, setOpen] = (0, import_react39.useState)(false);
2953
- const [downPosition, setDownPosition] = import_react39.default.useState(null);
2954
- const handlePointerDownCapture = (0, import_react39.useCallback)(
2976
+ const [open, setOpen] = (0, import_react40.useState)(false);
2977
+ const [downPosition, setDownPosition] = import_react40.default.useState(null);
2978
+ const handlePointerDownCapture = (0, import_react40.useCallback)(
2955
2979
  (event) => {
2956
2980
  if (open) {
2957
2981
  setDownPosition(null);
@@ -2964,7 +2988,7 @@ var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2
2964
2988
  },
2965
2989
  [open]
2966
2990
  );
2967
- const handlePointerUp = (0, import_react39.useCallback)(
2991
+ const handlePointerUp = (0, import_react40.useCallback)(
2968
2992
  (event) => {
2969
2993
  if (open || !downPosition) {
2970
2994
  setDownPosition(null);
@@ -2980,14 +3004,14 @@ var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2
2980
3004
  },
2981
3005
  [downPosition, open]
2982
3006
  );
2983
- const handleOpenChange = (0, import_react39.useCallback)(
3007
+ const handleOpenChange = (0, import_react40.useCallback)(
2984
3008
  (isOpen) => {
2985
3009
  if (!isOpen)
2986
3010
  setOpen(false);
2987
3011
  },
2988
3012
  [setOpen]
2989
3013
  );
2990
- return /* @__PURE__ */ import_react39.default.createElement(
3014
+ return /* @__PURE__ */ import_react40.default.createElement(
2991
3015
  DotButtonElement,
2992
3016
  {
2993
3017
  onPointerDownCapture: handlePointerDownCapture,
@@ -2997,7 +3021,7 @@ var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2
2997
3021
  event.preventDefault();
2998
3022
  }
2999
3023
  },
3000
- items && onSelect ? /* @__PURE__ */ import_react39.default.createElement(
3024
+ items && onSelect ? /* @__PURE__ */ import_react40.default.createElement(
3001
3025
  DropdownMenu,
3002
3026
  {
3003
3027
  open,
@@ -3006,13 +3030,13 @@ var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2
3006
3030
  onSelect,
3007
3031
  shouldBindKeyboardShortcuts: false
3008
3032
  },
3009
- /* @__PURE__ */ import_react39.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react39.default.createElement(
3033
+ /* @__PURE__ */ import_react40.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react40.default.createElement(
3010
3034
  import_noya_icons5.DragHandleDots2Icon,
3011
3035
  {
3012
3036
  color: isVisible || open ? color : "transparent"
3013
3037
  }
3014
3038
  ))
3015
- ) : /* @__PURE__ */ import_react39.default.createElement(
3039
+ ) : /* @__PURE__ */ import_react40.default.createElement(
3016
3040
  import_noya_icons5.DragHandleDots2Icon,
3017
3041
  {
3018
3042
  color: isVisible || open ? color : "transparent"
@@ -3022,7 +3046,7 @@ var DraggableMenuButton = (0, import_react39.memo)(function DraggableMenuButton2
3022
3046
  });
3023
3047
 
3024
3048
  // src/components/FillInputField.tsx
3025
- var import_react43 = __toESM(require("react"));
3049
+ var import_react44 = __toESM(require("react"));
3026
3050
  var import_styled_components21 = __toESM(require("styled-components"));
3027
3051
 
3028
3052
  // ../noya-file-format/src/types.ts
@@ -3348,26 +3372,26 @@ var ClassValue = /* @__PURE__ */ ((ClassValue2) => {
3348
3372
  })(ClassValue || {});
3349
3373
 
3350
3374
  // src/components/FillPreviewBackground.tsx
3351
- var import_react42 = __toESM(require("react"));
3375
+ var import_react43 = __toESM(require("react"));
3352
3376
  var import_styled_components20 = __toESM(require("styled-components"));
3353
3377
 
3354
3378
  // src/contexts/ImageDataContext.tsx
3355
- var import_react40 = __toESM(require("react"));
3356
- var ImageDataContext = (0, import_react40.createContext)(
3379
+ var import_react41 = __toESM(require("react"));
3380
+ var ImageDataContext = (0, import_react41.createContext)(
3357
3381
  void 0
3358
3382
  );
3359
- var ImageDataProvider = (0, import_react40.memo)(function ImageDataProvider2({
3383
+ var ImageDataProvider = (0, import_react41.memo)(function ImageDataProvider2({
3360
3384
  children,
3361
3385
  getImageData
3362
3386
  }) {
3363
- const contextValue = (0, import_react40.useMemo)(
3387
+ const contextValue = (0, import_react41.useMemo)(
3364
3388
  () => ({ getImageData: getImageData ?? (() => void 0) }),
3365
3389
  [getImageData]
3366
3390
  );
3367
- return /* @__PURE__ */ import_react40.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
3391
+ return /* @__PURE__ */ import_react41.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
3368
3392
  });
3369
3393
  function useImageData(ref) {
3370
- const value = (0, import_react40.useContext)(ImageDataContext);
3394
+ const value = (0, import_react41.useContext)(ImageDataContext);
3371
3395
  if (!value) {
3372
3396
  throw new Error("Missing ImageDataProvider");
3373
3397
  }
@@ -3375,15 +3399,15 @@ function useImageData(ref) {
3375
3399
  }
3376
3400
 
3377
3401
  // src/hooks/useObjectURL.ts
3378
- var import_react41 = require("react");
3402
+ var import_react42 = require("react");
3379
3403
  function useObjectURL(object) {
3380
- const objectURL = (0, import_react41.useMemo)(() => {
3404
+ const objectURL = (0, import_react42.useMemo)(() => {
3381
3405
  if (object instanceof Blob)
3382
3406
  return URL.createObjectURL(object);
3383
3407
  const bytes = object instanceof Uint8Array ? object : object !== void 0 ? new Uint8Array(object) : new Uint8Array();
3384
3408
  return URL.createObjectURL(new Blob([bytes]));
3385
3409
  }, [object]);
3386
- (0, import_react41.useLayoutEffect)(() => {
3410
+ (0, import_react42.useLayoutEffect)(() => {
3387
3411
  return () => URL.revokeObjectURL(objectURL);
3388
3412
  }, [objectURL]);
3389
3413
  return objectURL;
@@ -3439,9 +3463,9 @@ var Background = import_styled_components20.default.span(({ background }) => ({
3439
3463
  position: "absolute",
3440
3464
  inset: 0
3441
3465
  }));
3442
- var HorizontalDotsBackground = (0, import_react42.memo)(function HorizontalDotsBackground2() {
3466
+ var HorizontalDotsBackground = (0, import_react43.memo)(function HorizontalDotsBackground2() {
3443
3467
  const { inputBackground, placeholderDots } = (0, import_styled_components20.useTheme)().colors;
3444
- const background = (0, import_react42.useMemo)(
3468
+ const background = (0, import_react43.useMemo)(
3445
3469
  () => [
3446
3470
  `center url("data:image/svg+xml;utf8,${dotsHorizontalSvg(
3447
3471
  placeholderDots
@@ -3450,7 +3474,7 @@ var HorizontalDotsBackground = (0, import_react42.memo)(function HorizontalDotsB
3450
3474
  ].join(","),
3451
3475
  [inputBackground, placeholderDots]
3452
3476
  );
3453
- return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3477
+ return /* @__PURE__ */ import_react43.default.createElement(Background, { background });
3454
3478
  });
3455
3479
  function getPatternSizeAndPosition(fillType, tileScale) {
3456
3480
  switch (fillType) {
@@ -3464,7 +3488,7 @@ function getPatternSizeAndPosition(fillType, tileScale) {
3464
3488
  return "center / 100% 100%";
3465
3489
  }
3466
3490
  }
3467
- var PatternPreviewBackground = (0, import_react42.memo)(function PatternPreviewBackground2({
3491
+ var PatternPreviewBackground = (0, import_react43.memo)(function PatternPreviewBackground2({
3468
3492
  fillType,
3469
3493
  tileScale,
3470
3494
  imageRef
@@ -3472,7 +3496,7 @@ var PatternPreviewBackground = (0, import_react42.memo)(function PatternPreviewB
3472
3496
  const image = useImageData(imageRef);
3473
3497
  const url = useObjectURL(image);
3474
3498
  const size2 = getPatternSizeAndPosition(fillType, tileScale);
3475
- const background = (0, import_react42.useMemo)(
3499
+ const background = (0, import_react43.useMemo)(
3476
3500
  () => [
3477
3501
  size2,
3478
3502
  `url(${url})`,
@@ -3480,37 +3504,37 @@ var PatternPreviewBackground = (0, import_react42.memo)(function PatternPreviewB
3480
3504
  ].join(" "),
3481
3505
  [fillType, size2, url]
3482
3506
  );
3483
- return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3507
+ return /* @__PURE__ */ import_react43.default.createElement(Background, { background });
3484
3508
  });
3485
- var ColorPreviewBackground = (0, import_react42.memo)(function ColorPreviewBackground2({
3509
+ var ColorPreviewBackground = (0, import_react43.memo)(function ColorPreviewBackground2({
3486
3510
  color
3487
3511
  }) {
3488
- const background = (0, import_react42.useMemo)(() => sketchColorToRgbaString(color), [color]);
3489
- return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3512
+ const background = (0, import_react43.useMemo)(() => sketchColorToRgbaString(color), [color]);
3513
+ return /* @__PURE__ */ import_react43.default.createElement(Background, { background });
3490
3514
  });
3491
- var GradientPreviewBackground = (0, import_react42.memo)(function GradientPreviewBackground2({
3515
+ var GradientPreviewBackground = (0, import_react43.memo)(function GradientPreviewBackground2({
3492
3516
  gradient
3493
3517
  }) {
3494
- const background = (0, import_react42.useMemo)(
3518
+ const background = (0, import_react43.useMemo)(
3495
3519
  () => getGradientBackground(gradient.stops, gradient.gradientType, 180),
3496
3520
  [gradient.gradientType, gradient.stops]
3497
3521
  );
3498
- return /* @__PURE__ */ import_react42.default.createElement(Background, { background });
3522
+ return /* @__PURE__ */ import_react43.default.createElement(Background, { background });
3499
3523
  });
3500
- var FillPreviewBackground = (0, import_react42.memo)(function FillPreviewBackground2({
3524
+ var FillPreviewBackground = (0, import_react43.memo)(function FillPreviewBackground2({
3501
3525
  value
3502
3526
  }) {
3503
3527
  if (!value)
3504
- return /* @__PURE__ */ import_react42.default.createElement(HorizontalDotsBackground, null);
3528
+ return /* @__PURE__ */ import_react43.default.createElement(HorizontalDotsBackground, null);
3505
3529
  switch (value._class) {
3506
3530
  case "color":
3507
- return /* @__PURE__ */ import_react42.default.createElement(ColorPreviewBackground, { color: value });
3531
+ return /* @__PURE__ */ import_react43.default.createElement(ColorPreviewBackground, { color: value });
3508
3532
  case "gradient":
3509
- return /* @__PURE__ */ import_react42.default.createElement(GradientPreviewBackground, { gradient: value });
3533
+ return /* @__PURE__ */ import_react43.default.createElement(GradientPreviewBackground, { gradient: value });
3510
3534
  case "pattern":
3511
3535
  if (!value.image)
3512
3536
  return null;
3513
- return /* @__PURE__ */ import_react42.default.createElement(
3537
+ return /* @__PURE__ */ import_react43.default.createElement(
3514
3538
  PatternPreviewBackground,
3515
3539
  {
3516
3540
  fillType: value.patternFillType,
@@ -3540,14 +3564,14 @@ var Container = import_styled_components21.default.button(
3540
3564
  flex: $flex
3541
3565
  })
3542
3566
  );
3543
- var FillInputField = (0, import_react43.memo)(
3544
- (0, import_react43.forwardRef)(function FillInputField2({ id, value, flex, ...rest }, ref) {
3545
- return /* @__PURE__ */ import_react43.default.createElement(Container, { ref, id, $flex: flex, ...rest }, /* @__PURE__ */ import_react43.default.createElement(FillPreviewBackground, { value }));
3567
+ var FillInputField = (0, import_react44.memo)(
3568
+ (0, import_react44.forwardRef)(function FillInputField2({ id, value, flex, ...rest }, ref) {
3569
+ return /* @__PURE__ */ import_react44.default.createElement(Container, { ref, id, $flex: flex, ...rest }, /* @__PURE__ */ import_react44.default.createElement(FillPreviewBackground, { value }));
3546
3570
  })
3547
3571
  );
3548
3572
 
3549
3573
  // src/components/FloatingWindow.tsx
3550
- var import_react44 = __toESM(require("react"));
3574
+ var import_react45 = __toESM(require("react"));
3551
3575
  var styles2 = {
3552
3576
  noSelect: {
3553
3577
  userSelect: "none",
@@ -3640,7 +3664,7 @@ function defaultRenderToolbar({
3640
3664
  toolbarContent,
3641
3665
  onClose
3642
3666
  }) {
3643
- 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(
3667
+ return /* @__PURE__ */ import_react45.default.createElement(import_react45.default.Fragment, null, /* @__PURE__ */ import_react45.default.createElement(Small, { flex: "1", fontWeight: "500", color: "text" }, title), toolbarContent, /* @__PURE__ */ import_react45.default.createElement(
3644
3668
  IconButton,
3645
3669
  {
3646
3670
  iconName: "Cross3Icon",
@@ -3665,16 +3689,16 @@ var FloatingWindow = ({
3665
3689
  toolbarContent,
3666
3690
  renderToolbar = defaultRenderToolbar
3667
3691
  }) => {
3668
- const [position, setPosition] = (0, import_react44.useState)({ x: initialX, y: initialY });
3669
- const [size2, setSize] = (0, import_react44.useState)({
3692
+ const [position, setPosition] = (0, import_react45.useState)({ x: initialX, y: initialY });
3693
+ const [size2, setSize] = (0, import_react45.useState)({
3670
3694
  width: initialWidth,
3671
3695
  height: initialHeight
3672
3696
  });
3673
- const [isDragging, setIsDragging] = (0, import_react44.useState)(false);
3674
- const [isResizing, setIsResizing] = (0, import_react44.useState)(false);
3675
- const [dragOffset, setDragOffset] = (0, import_react44.useState)({ x: 0, y: 0 });
3676
- const [resizeDirection, setResizeDirection] = (0, import_react44.useState)(null);
3677
- const wrapperRef = (0, import_react44.useRef)(null);
3697
+ const [isDragging, setIsDragging] = (0, import_react45.useState)(false);
3698
+ const [isResizing, setIsResizing] = (0, import_react45.useState)(false);
3699
+ const [dragOffset, setDragOffset] = (0, import_react45.useState)({ x: 0, y: 0 });
3700
+ const [resizeDirection, setResizeDirection] = (0, import_react45.useState)(null);
3701
+ const wrapperRef = (0, import_react45.useRef)(null);
3678
3702
  const toggleGlobalTextSelection = (disable) => {
3679
3703
  if (disable) {
3680
3704
  document.body.style.userSelect = "none";
@@ -3682,7 +3706,7 @@ var FloatingWindow = ({
3682
3706
  document.body.style.userSelect = "";
3683
3707
  }
3684
3708
  };
3685
- const handleMouseDown = (0, import_react44.useCallback)((e) => {
3709
+ const handleMouseDown = (0, import_react45.useCallback)((e) => {
3686
3710
  if (!wrapperRef.current)
3687
3711
  return;
3688
3712
  const rect = wrapperRef.current.getBoundingClientRect();
@@ -3692,7 +3716,7 @@ var FloatingWindow = ({
3692
3716
  });
3693
3717
  setIsDragging(true);
3694
3718
  }, []);
3695
- const handleResizeStart = (0, import_react44.useCallback)(
3719
+ const handleResizeStart = (0, import_react45.useCallback)(
3696
3720
  (direction) => (e) => {
3697
3721
  e.stopPropagation();
3698
3722
  setIsResizing(true);
@@ -3701,7 +3725,7 @@ var FloatingWindow = ({
3701
3725
  },
3702
3726
  []
3703
3727
  );
3704
- const handleMouseMove = (0, import_react44.useCallback)(
3728
+ const handleMouseMove = (0, import_react45.useCallback)(
3705
3729
  (e) => {
3706
3730
  if (isDragging) {
3707
3731
  setPosition({
@@ -3755,13 +3779,13 @@ var FloatingWindow = ({
3755
3779
  minHeight
3756
3780
  ]
3757
3781
  );
3758
- const handleMouseUp = (0, import_react44.useCallback)((e) => {
3782
+ const handleMouseUp = (0, import_react45.useCallback)((e) => {
3759
3783
  setIsDragging(false);
3760
3784
  setIsResizing(false);
3761
3785
  setResizeDirection(null);
3762
3786
  toggleGlobalTextSelection(false);
3763
3787
  }, []);
3764
- import_react44.default.useEffect(() => {
3788
+ import_react45.default.useEffect(() => {
3765
3789
  document.addEventListener("mousemove", handleMouseMove);
3766
3790
  document.addEventListener("mouseup", handleMouseUp);
3767
3791
  return () => {
@@ -3772,12 +3796,12 @@ var FloatingWindow = ({
3772
3796
  const theme = useDesignSystemTheme();
3773
3797
  const floatingWindowManager = useFloatingWindowManager();
3774
3798
  const currentFloatingWindow = useCurrentFloatingWindowInternal();
3775
- const handleClose = (0, import_react44.useCallback)(() => {
3799
+ const handleClose = (0, import_react45.useCallback)(() => {
3776
3800
  if (onClose)
3777
3801
  onClose();
3778
3802
  floatingWindowManager.closeWindow(currentFloatingWindow.id);
3779
3803
  }, [currentFloatingWindow.id, floatingWindowManager, onClose]);
3780
- return /* @__PURE__ */ import_react44.default.createElement(
3804
+ return /* @__PURE__ */ import_react45.default.createElement(
3781
3805
  "div",
3782
3806
  {
3783
3807
  ref: wrapperRef,
@@ -3791,7 +3815,7 @@ var FloatingWindow = ({
3791
3815
  backgroundColor: theme.colors.canvas.background
3792
3816
  }
3793
3817
  },
3794
- /* @__PURE__ */ import_react44.default.createElement(
3818
+ /* @__PURE__ */ import_react45.default.createElement(
3795
3819
  "div",
3796
3820
  {
3797
3821
  style: {
@@ -3802,9 +3826,9 @@ var FloatingWindow = ({
3802
3826
  },
3803
3827
  renderToolbar({ title, toolbarContent, onClose: handleClose })
3804
3828
  ),
3805
- /* @__PURE__ */ import_react44.default.createElement(Divider, null),
3806
- /* @__PURE__ */ import_react44.default.createElement("div", { style: styles2.content }, children),
3807
- Object.entries(resizeHandlePositions).map(([direction, style3]) => /* @__PURE__ */ import_react44.default.createElement(
3829
+ /* @__PURE__ */ import_react45.default.createElement(Divider, null),
3830
+ /* @__PURE__ */ import_react45.default.createElement("div", { style: styles2.content }, children),
3831
+ Object.entries(resizeHandlePositions).map(([direction, style3]) => /* @__PURE__ */ import_react45.default.createElement(
3808
3832
  "div",
3809
3833
  {
3810
3834
  key: direction,
@@ -3817,8 +3841,8 @@ var FloatingWindow = ({
3817
3841
 
3818
3842
  // src/components/GradientPicker.tsx
3819
3843
  var import_noya_colorpicker2 = require("@noya-app/noya-colorpicker");
3820
- var import_react45 = __toESM(require("react"));
3821
- var GradientPicker = (0, import_react45.memo)(function GradientPicker2({
3844
+ var import_react46 = __toESM(require("react"));
3845
+ var GradientPicker = (0, import_react46.memo)(function GradientPicker2({
3822
3846
  value,
3823
3847
  selectedStop,
3824
3848
  onChangeColor,
@@ -3827,7 +3851,7 @@ var GradientPicker = (0, import_react45.memo)(function GradientPicker2({
3827
3851
  onDelete,
3828
3852
  onSelectStop
3829
3853
  }) {
3830
- const colorModel = (0, import_react45.useMemo)(
3854
+ const colorModel = (0, import_react46.useMemo)(
3831
3855
  () => ({
3832
3856
  defaultColor: { r: 0, g: 0, b: 0, a: 1 },
3833
3857
  toHsva: import_noya_colorpicker2.rgbaToHsva,
@@ -3836,30 +3860,30 @@ var GradientPicker = (0, import_react45.memo)(function GradientPicker2({
3836
3860
  }),
3837
3861
  []
3838
3862
  );
3839
- const rgbaColor = (0, import_react45.useMemo)(
3863
+ const rgbaColor = (0, import_react46.useMemo)(
3840
3864
  () => sketchColorToRgba(value[selectedStop].color),
3841
3865
  [value, selectedStop]
3842
3866
  );
3843
- const handleChangeColor = (0, import_react45.useCallback)(
3867
+ const handleChangeColor = (0, import_react46.useCallback)(
3844
3868
  (value2) => {
3845
3869
  onChangeColor(rgbaToSketchColor(value2));
3846
3870
  },
3847
3871
  [onChangeColor]
3848
3872
  );
3849
- const handleAddGradientStop = (0, import_react45.useCallback)(
3873
+ const handleAddGradientStop = (0, import_react46.useCallback)(
3850
3874
  (value2, position) => {
3851
3875
  onAdd(rgbaToSketchColor(value2), position);
3852
3876
  },
3853
3877
  [onAdd]
3854
3878
  );
3855
- return /* @__PURE__ */ import_react45.default.createElement(
3879
+ return /* @__PURE__ */ import_react46.default.createElement(
3856
3880
  import_noya_colorpicker2.ColorPicker,
3857
3881
  {
3858
3882
  onChange: handleChangeColor,
3859
3883
  colorModel,
3860
3884
  color: rgbaColor
3861
3885
  },
3862
- /* @__PURE__ */ import_react45.default.createElement(
3886
+ /* @__PURE__ */ import_react46.default.createElement(
3863
3887
  import_noya_colorpicker2.Gradient,
3864
3888
  {
3865
3889
  gradients: value,
@@ -3870,12 +3894,12 @@ var GradientPicker = (0, import_react45.memo)(function GradientPicker2({
3870
3894
  onDelete
3871
3895
  }
3872
3896
  ),
3873
- /* @__PURE__ */ import_react45.default.createElement(Spacer.Vertical, { size: 10 }),
3874
- /* @__PURE__ */ import_react45.default.createElement(import_noya_colorpicker2.Saturation, null),
3875
- /* @__PURE__ */ import_react45.default.createElement(Spacer.Vertical, { size: 12 }),
3876
- /* @__PURE__ */ import_react45.default.createElement(import_noya_colorpicker2.Hue, null),
3877
- /* @__PURE__ */ import_react45.default.createElement(Spacer.Vertical, { size: 5 }),
3878
- /* @__PURE__ */ import_react45.default.createElement(import_noya_colorpicker2.Alpha, null)
3897
+ /* @__PURE__ */ import_react46.default.createElement(Spacer.Vertical, { size: 10 }),
3898
+ /* @__PURE__ */ import_react46.default.createElement(import_noya_colorpicker2.Saturation, null),
3899
+ /* @__PURE__ */ import_react46.default.createElement(Spacer.Vertical, { size: 12 }),
3900
+ /* @__PURE__ */ import_react46.default.createElement(import_noya_colorpicker2.Hue, null),
3901
+ /* @__PURE__ */ import_react46.default.createElement(Spacer.Vertical, { size: 5 }),
3902
+ /* @__PURE__ */ import_react46.default.createElement(import_noya_colorpicker2.Alpha, null)
3879
3903
  );
3880
3904
  });
3881
3905
 
@@ -3907,12 +3931,12 @@ var Grid = import_styled_components22.default.div((props) => ({
3907
3931
  }));
3908
3932
 
3909
3933
  // src/components/GridView.tsx
3910
- var import_react47 = __toESM(require("react"));
3934
+ var import_react48 = __toESM(require("react"));
3911
3935
  var import_styled_components24 = __toESM(require("styled-components"));
3912
3936
 
3913
3937
  // src/components/ScrollArea.tsx
3914
3938
  var RadixScrollArea = __toESM(require("@radix-ui/react-scroll-area"));
3915
- var import_react46 = __toESM(require("react"));
3939
+ var import_react47 = __toESM(require("react"));
3916
3940
  var import_styled_components23 = __toESM(require("styled-components"));
3917
3941
  var SCROLLBAR_SIZE = 10;
3918
3942
  var StyledViewport = (0, import_styled_components23.default)(RadixScrollArea.Viewport)({
@@ -3940,18 +3964,18 @@ var Container2 = import_styled_components23.default.div({
3940
3964
  flex: "1 1 0px",
3941
3965
  minHeight: 0
3942
3966
  });
3943
- var ScrollArea = (0, import_react46.memo)(function ScrollArea2({ children }) {
3944
- const [scrollElementRef, setScrollElementRef] = (0, import_react46.useState)(null);
3945
- 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(
3967
+ var ScrollArea = (0, import_react47.memo)(function ScrollArea2({ children }) {
3968
+ const [scrollElementRef, setScrollElementRef] = (0, import_react47.useState)(null);
3969
+ return /* @__PURE__ */ import_react47.default.createElement(Container2, null, /* @__PURE__ */ import_react47.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react47.default.createElement(
3946
3970
  StyledViewport,
3947
3971
  {
3948
- ref: (0, import_react46.useCallback)(
3972
+ ref: (0, import_react47.useCallback)(
3949
3973
  (ref) => setScrollElementRef(ref),
3950
3974
  []
3951
3975
  )
3952
3976
  },
3953
3977
  typeof children === "function" ? scrollElementRef ? children(scrollElementRef) : null : children
3954
- ), /* @__PURE__ */ import_react46.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react46.default.createElement(StyledThumb, { className: "scroll-component" }))));
3978
+ ), /* @__PURE__ */ import_react47.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react47.default.createElement(StyledThumb, { className: "scroll-component" }))));
3955
3979
  });
3956
3980
 
3957
3981
  // src/components/GridView.tsx
@@ -4131,7 +4155,7 @@ var Shimmer = import_styled_components24.default.div`
4131
4155
  align-items: end;
4132
4156
  padding: 4px;
4133
4157
  `;
4134
- var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4158
+ var GridViewItem = (0, import_react48.forwardRef)(function GridViewItem2({
4135
4159
  id,
4136
4160
  title,
4137
4161
  subtitle,
@@ -4147,15 +4171,15 @@ var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4147
4171
  onContextMenu,
4148
4172
  style: style3
4149
4173
  }, forwardedRef) {
4150
- const [hovered, setHovered] = import_react47.default.useState(false);
4174
+ const [hovered, setHovered] = import_react48.default.useState(false);
4151
4175
  const { hoverProps } = useHover({
4152
4176
  onHoverChange: (isHovering) => {
4153
4177
  onHoverChange?.(isHovering);
4154
4178
  setHovered(isHovering);
4155
4179
  }
4156
4180
  });
4157
- const { textPosition, bordered, disabled } = (0, import_react47.useContext)(GridViewContext);
4158
- const handleClick = (0, import_react47.useCallback)(
4181
+ const { textPosition, bordered, disabled } = (0, import_react48.useContext)(GridViewContext);
4182
+ const handleClick = (0, import_react48.useCallback)(
4159
4183
  (event) => {
4160
4184
  event.stopPropagation();
4161
4185
  event.preventDefault();
@@ -4164,7 +4188,7 @@ var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4164
4188
  },
4165
4189
  [onClick, onPress]
4166
4190
  );
4167
- const handleKeyDown = (0, import_react47.useCallback)(
4191
+ const handleKeyDown = (0, import_react48.useCallback)(
4168
4192
  (event) => {
4169
4193
  if (event.key === "Enter" || event.key === " ") {
4170
4194
  event.stopPropagation();
@@ -4176,7 +4200,7 @@ var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4176
4200
  },
4177
4201
  [onPress]
4178
4202
  );
4179
- let element = /* @__PURE__ */ import_react47.default.createElement(
4203
+ let element = /* @__PURE__ */ import_react48.default.createElement(
4180
4204
  ItemContainer,
4181
4205
  {
4182
4206
  id,
@@ -4185,7 +4209,7 @@ var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4185
4209
  tabIndex: disabled ? void 0 : 0,
4186
4210
  onKeyDown: handleKeyDown
4187
4211
  },
4188
- /* @__PURE__ */ import_react47.default.createElement(
4212
+ /* @__PURE__ */ import_react48.default.createElement(
4189
4213
  ContentContainer,
4190
4214
  {
4191
4215
  disabled,
@@ -4199,25 +4223,25 @@ var GridViewItem = (0, import_react47.forwardRef)(function GridViewItem2({
4199
4223
  },
4200
4224
  children
4201
4225
  ),
4202
- 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 || " ")),
4203
- 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)),
4204
- loading && /* @__PURE__ */ import_react47.default.createElement(Shimmer, null, /* @__PURE__ */ import_react47.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
4226
+ textPosition === "below" && /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react48.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react48.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
4227
+ textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react48.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react48.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react48.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
4228
+ loading && /* @__PURE__ */ import_react48.default.createElement(Shimmer, null, /* @__PURE__ */ import_react48.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
4205
4229
  );
4206
4230
  if (menuItems && onSelectMenuItem) {
4207
- element = /* @__PURE__ */ import_react47.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
4231
+ element = /* @__PURE__ */ import_react48.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
4208
4232
  }
4209
4233
  if (textPosition === "toolip") {
4210
- element = /* @__PURE__ */ import_react47.default.createElement(
4234
+ element = /* @__PURE__ */ import_react48.default.createElement(
4211
4235
  Tooltip,
4212
4236
  {
4213
- 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))
4237
+ content: /* @__PURE__ */ import_react48.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react48.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react48.default.createElement(ItemDescription, { showBackground: false }, subtitle))
4214
4238
  },
4215
4239
  element
4216
4240
  );
4217
4241
  }
4218
4242
  return element;
4219
4243
  });
4220
- var GridViewContext = (0, import_react47.createContext)({
4244
+ var GridViewContext = (0, import_react48.createContext)({
4221
4245
  size: "small",
4222
4246
  textPosition: "below",
4223
4247
  bordered: false,
@@ -4232,7 +4256,7 @@ function GridViewRoot({
4232
4256
  bordered = false,
4233
4257
  disabled = false
4234
4258
  }) {
4235
- const handleClick = (0, import_react47.useCallback)(
4259
+ const handleClick = (0, import_react48.useCallback)(
4236
4260
  (event) => {
4237
4261
  event.stopPropagation();
4238
4262
  event.preventDefault();
@@ -4240,7 +4264,7 @@ function GridViewRoot({
4240
4264
  },
4241
4265
  [onClick]
4242
4266
  );
4243
- const contextValue = (0, import_react47.useMemo)(
4267
+ const contextValue = (0, import_react48.useMemo)(
4244
4268
  () => ({
4245
4269
  size: size2,
4246
4270
  textPosition,
@@ -4249,33 +4273,33 @@ function GridViewRoot({
4249
4273
  }),
4250
4274
  [bordered, disabled, size2, textPosition]
4251
4275
  );
4252
- 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));
4276
+ return /* @__PURE__ */ import_react48.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react48.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react48.default.createElement(ScrollArea, null, children) : children));
4253
4277
  }
4254
4278
  function GridViewSection({
4255
4279
  children,
4256
4280
  padding = "20px"
4257
4281
  }) {
4258
- const { size: size2 } = (0, import_react47.useContext)(GridViewContext);
4259
- return /* @__PURE__ */ import_react47.default.createElement(Grid2, { size: size2, padding }, children);
4282
+ const { size: size2 } = (0, import_react48.useContext)(GridViewContext);
4283
+ return /* @__PURE__ */ import_react48.default.createElement(Grid2, { size: size2, padding }, children);
4260
4284
  }
4261
4285
  function GridViewSectionHeader({ title }) {
4262
4286
  const grouped = title.split("/");
4263
- return /* @__PURE__ */ import_react47.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react47.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
4264
- grouped.map((title2, index) => /* @__PURE__ */ import_react47.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
4265
- /* @__PURE__ */ import_react47.default.createElement(SectionTitle, null, " / ")
4287
+ return /* @__PURE__ */ import_react48.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react48.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
4288
+ grouped.map((title2, index) => /* @__PURE__ */ import_react48.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
4289
+ /* @__PURE__ */ import_react48.default.createElement(SectionTitle, null, " / ")
4266
4290
  ));
4267
4291
  }
4268
4292
  var GridView;
4269
4293
  ((GridView2) => {
4270
- GridView2.Root = (0, import_react47.memo)(GridViewRoot);
4271
- GridView2.Item = (0, import_react47.memo)(GridViewItem);
4272
- GridView2.Section = (0, import_react47.memo)(GridViewSection);
4273
- GridView2.SectionHeader = (0, import_react47.memo)(GridViewSectionHeader);
4294
+ GridView2.Root = (0, import_react48.memo)(GridViewRoot);
4295
+ GridView2.Item = (0, import_react48.memo)(GridViewItem);
4296
+ GridView2.Section = (0, import_react48.memo)(GridViewSection);
4297
+ GridView2.SectionHeader = (0, import_react48.memo)(GridViewSectionHeader);
4274
4298
  })(GridView || (GridView = {}));
4275
4299
 
4276
4300
  // src/components/InputFieldWithCompletions.tsx
4277
4301
  var import_noya_utils8 = require("@noya-app/noya-utils");
4278
- var import_react51 = __toESM(require("react"));
4302
+ var import_react52 = __toESM(require("react"));
4279
4303
  var import_styled_components27 = __toESM(require("styled-components"));
4280
4304
 
4281
4305
  // src/utils/fuzzyScorer.ts
@@ -4352,7 +4376,7 @@ function mergeRanges(ranges) {
4352
4376
  // src/components/ListView.tsx
4353
4377
  var import_noya_utils7 = require("@noya-app/noya-utils");
4354
4378
  var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
4355
- var import_react49 = __toESM(require("react"));
4379
+ var import_react50 = __toESM(require("react"));
4356
4380
  var import_react_virtualized = require("react-virtualized");
4357
4381
  var import_react_window = require("react-window");
4358
4382
  var import_styled_components25 = __toESM(require("styled-components"));
@@ -4383,7 +4407,7 @@ function mergeEventHandlers(...handlerMaps) {
4383
4407
  // src/components/Sortable.tsx
4384
4408
  var import_core = require("@dnd-kit/core");
4385
4409
  var import_sortable = require("@dnd-kit/sortable");
4386
- var import_react48 = __toESM(require("react"));
4410
+ var import_react49 = __toESM(require("react"));
4387
4411
  var import_react_dom2 = require("react-dom");
4388
4412
  var normalizeListDestinationIndex = (index, position) => {
4389
4413
  return position === "above" ? index : index + 1;
@@ -4397,7 +4421,7 @@ var defaultAcceptsDrop = (sourceIndex, destinationIndex, position) => {
4397
4421
  }
4398
4422
  return true;
4399
4423
  };
4400
- var SortableItemContext = (0, import_react48.createContext)({
4424
+ var SortableItemContext = (0, import_react49.createContext)({
4401
4425
  keys: [],
4402
4426
  position: { x: 0, y: 0 },
4403
4427
  acceptsDrop: defaultAcceptsDrop,
@@ -4419,7 +4443,7 @@ function SortableItem({
4419
4443
  disabled,
4420
4444
  children
4421
4445
  }) {
4422
- const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react48.useContext)(SortableItemContext);
4446
+ const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react49.useContext)(SortableItemContext);
4423
4447
  const sortable = (0, import_sortable.useSortable)({ id, disabled });
4424
4448
  const {
4425
4449
  active,
@@ -4439,7 +4463,7 @@ function SortableItem({
4439
4463
  const eventY = activatorEvent?.clientY ?? 0;
4440
4464
  const offsetLeft = eventX + position.x;
4441
4465
  const offsetTop = eventY + position.y;
4442
- const ref = (0, import_react48.useCallback)((node) => setNodeRef(node), [setNodeRef]);
4466
+ const ref = (0, import_react49.useCallback)((node) => setNodeRef(node), [setNodeRef]);
4443
4467
  return children({
4444
4468
  ref,
4445
4469
  ...attributes,
@@ -4470,22 +4494,22 @@ function SortableRoot({
4470
4494
  }
4471
4495
  })
4472
4496
  );
4473
- const [activeIndex, setActiveIndex] = (0, import_react48.useState)();
4474
- const activatorEvent = (0, import_react48.useRef)(null);
4475
- const setActivatorEvent = (0, import_react48.useCallback)((event) => {
4497
+ const [activeIndex, setActiveIndex] = (0, import_react49.useState)();
4498
+ const activatorEvent = (0, import_react49.useRef)(null);
4499
+ const setActivatorEvent = (0, import_react49.useCallback)((event) => {
4476
4500
  activatorEvent.current = event;
4477
4501
  }, []);
4478
- const [position, setPosition] = (0, import_react48.useState)({ x: 0, y: 0 });
4479
- const handleDragStart = (0, import_react48.useCallback)(
4502
+ const [position, setPosition] = (0, import_react49.useState)({ x: 0, y: 0 });
4503
+ const handleDragStart = (0, import_react49.useCallback)(
4480
4504
  (event) => {
4481
4505
  setActiveIndex(keys.indexOf(event.active.id));
4482
4506
  },
4483
4507
  [keys]
4484
4508
  );
4485
- const handleDragMove = (0, import_react48.useCallback)((event) => {
4509
+ const handleDragMove = (0, import_react49.useCallback)((event) => {
4486
4510
  setPosition({ ...event.delta });
4487
4511
  }, []);
4488
- const handleDragEnd = (0, import_react48.useCallback)(
4512
+ const handleDragEnd = (0, import_react49.useCallback)(
4489
4513
  (event) => {
4490
4514
  const { active, over } = event;
4491
4515
  setActiveIndex(void 0);
@@ -4512,14 +4536,14 @@ function SortableRoot({
4512
4536
  },
4513
4537
  [acceptsDrop, axis, keys, onMoveItem, position.x, position.y]
4514
4538
  );
4515
- const [mounted, setMounted] = (0, import_react48.useState)(false);
4516
- (0, import_react48.useEffect)(() => {
4539
+ const [mounted, setMounted] = (0, import_react49.useState)(false);
4540
+ (0, import_react49.useEffect)(() => {
4517
4541
  setMounted(true);
4518
4542
  }, []);
4519
- return /* @__PURE__ */ import_react48.default.createElement(
4543
+ return /* @__PURE__ */ import_react49.default.createElement(
4520
4544
  SortableItemContext.Provider,
4521
4545
  {
4522
- value: (0, import_react48.useMemo)(
4546
+ value: (0, import_react49.useMemo)(
4523
4547
  () => ({
4524
4548
  keys,
4525
4549
  acceptsDrop,
@@ -4530,7 +4554,7 @@ function SortableRoot({
4530
4554
  [acceptsDrop, axis, keys, position, setActivatorEvent]
4531
4555
  )
4532
4556
  },
4533
- /* @__PURE__ */ import_react48.default.createElement(
4557
+ /* @__PURE__ */ import_react49.default.createElement(
4534
4558
  import_core.DndContext,
4535
4559
  {
4536
4560
  sensors,
@@ -4539,9 +4563,9 @@ function SortableRoot({
4539
4563
  onDragMove: handleDragMove,
4540
4564
  onDragEnd: handleDragEnd
4541
4565
  },
4542
- /* @__PURE__ */ import_react48.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
4566
+ /* @__PURE__ */ import_react49.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
4543
4567
  mounted && renderOverlay && (0, import_react_dom2.createPortal)(
4544
- /* @__PURE__ */ import_react48.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
4568
+ /* @__PURE__ */ import_react49.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
4545
4569
  document.body
4546
4570
  )
4547
4571
  )
@@ -4549,17 +4573,17 @@ function SortableRoot({
4549
4573
  }
4550
4574
  var Sortable;
4551
4575
  ((Sortable2) => {
4552
- Sortable2.Item = (0, import_react48.memo)(SortableItem);
4553
- Sortable2.Root = (0, import_react48.memo)(SortableRoot);
4576
+ Sortable2.Item = (0, import_react49.memo)(SortableItem);
4577
+ Sortable2.Root = (0, import_react49.memo)(SortableRoot);
4554
4578
  })(Sortable || (Sortable = {}));
4555
4579
 
4556
4580
  // src/components/ListView.tsx
4557
4581
  var ROW_HEIGHT = 31;
4558
4582
  var SECTION_HEADER_LABEL_HEIGHT = 27;
4559
- var DraggingContext = (0, import_react49.createContext)({
4583
+ var DraggingContext = (0, import_react50.createContext)({
4560
4584
  indentation: 12
4561
4585
  });
4562
- var ListRowContext = (0, import_react49.createContext)({
4586
+ var ListRowContext = (0, import_react50.createContext)({
4563
4587
  marginType: "none",
4564
4588
  selectedPosition: "only",
4565
4589
  sortable: false,
@@ -4589,8 +4613,8 @@ function ListViewEditableRowTitle({
4589
4613
  autoFocus,
4590
4614
  placeholder
4591
4615
  }) {
4592
- const inputRef = (0, import_react49.useRef)(null);
4593
- (0, import_react49.useLayoutEffect)(() => {
4616
+ const inputRef = (0, import_react50.useRef)(null);
4617
+ (0, import_react50.useLayoutEffect)(() => {
4594
4618
  const element = inputRef.current;
4595
4619
  if (!element || !autoFocus)
4596
4620
  return;
@@ -4599,7 +4623,7 @@ function ListViewEditableRowTitle({
4599
4623
  element.select();
4600
4624
  }, 0);
4601
4625
  }, [autoFocus]);
4602
- return /* @__PURE__ */ import_react49.default.createElement(
4626
+ return /* @__PURE__ */ import_react50.default.createElement(
4603
4627
  ListViewEditableRowTitleElement,
4604
4628
  {
4605
4629
  ref: inputRef,
@@ -4721,7 +4745,7 @@ var ListViewDragIndicatorElement = import_styled_components25.default.div(({ the
4721
4745
  boxShadow: "0 0 2px rgba(0,0,0,0.5)"
4722
4746
  }
4723
4747
  }));
4724
- var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4748
+ var ListViewRow = (0, import_react50.forwardRef)(function ListViewRow2({
4725
4749
  id,
4726
4750
  tabIndex = 0,
4727
4751
  gap,
@@ -4741,7 +4765,8 @@ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4741
4765
  onSelectMenuItem,
4742
4766
  onMenuOpenChange,
4743
4767
  onKeyDown,
4744
- style: style3
4768
+ style: style3,
4769
+ dragIndicatorStyle
4745
4770
  }, forwardedRef) {
4746
4771
  depth = Math.max(0, depth);
4747
4772
  const {
@@ -4754,12 +4779,12 @@ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4754
4779
  divider,
4755
4780
  gap: listGap,
4756
4781
  colorScheme
4757
- } = (0, import_react49.useContext)(ListRowContext);
4782
+ } = (0, import_react50.useContext)(ListRowContext);
4758
4783
  const { hoverProps } = useHover({
4759
4784
  onHoverChange
4760
4785
  });
4761
- const { indentation, isDragging } = (0, import_react49.useContext)(DraggingContext);
4762
- const handlePress = (0, import_react49.useCallback)(
4786
+ const { indentation, isDragging } = (0, import_react50.useContext)(DraggingContext);
4787
+ const handlePress = (0, import_react50.useCallback)(
4763
4788
  (event) => {
4764
4789
  event.preventDefault();
4765
4790
  if (event.button !== 0)
@@ -4768,14 +4793,14 @@ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4768
4793
  },
4769
4794
  [onPress]
4770
4795
  );
4771
- const handleDoubleClick = (0, import_react49.useCallback)(
4796
+ const handleDoubleClick = (0, import_react50.useCallback)(
4772
4797
  (event) => {
4773
4798
  event.stopPropagation();
4774
4799
  onDoubleClick?.();
4775
4800
  },
4776
4801
  [onDoubleClick]
4777
4802
  );
4778
- const mergedStyle = (0, import_react49.useMemo)(() => {
4803
+ const mergedStyle = (0, import_react50.useMemo)(() => {
4779
4804
  return isDragging ? {
4780
4805
  // TODO: Where do these offsets actually come from?
4781
4806
  transform: `translate3d(-36px, -6px, 0)`,
@@ -4788,7 +4813,7 @@ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4788
4813
  ...renderProps
4789
4814
  }, ref) => {
4790
4815
  const Component = RowContainer;
4791
- const element = /* @__PURE__ */ import_react49.default.createElement(
4816
+ const element = /* @__PURE__ */ import_react50.default.createElement(
4792
4817
  Component,
4793
4818
  {
4794
4819
  ref,
@@ -4819,20 +4844,25 @@ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4819
4844
  ),
4820
4845
  tabIndex
4821
4846
  },
4822
- relativeDropPosition && /* @__PURE__ */ import_react49.default.createElement(
4847
+ relativeDropPosition && /* @__PURE__ */ import_react50.default.createElement(
4823
4848
  ListViewDragIndicatorElement,
4824
4849
  {
4825
4850
  $colorScheme: colorScheme,
4826
4851
  $relativeDropPosition: relativeDropPosition,
4827
4852
  $offsetLeft: 33 + depth * indentation,
4828
- $gap: listGap
4853
+ $gap: listGap + (divider ? 1 : 0),
4854
+ style: typeof dragIndicatorStyle === "function" ? dragIndicatorStyle({
4855
+ depth,
4856
+ indentation,
4857
+ position: relativeDropPosition
4858
+ }) : dragIndicatorStyle
4829
4859
  }
4830
4860
  ),
4831
- depth > 0 && /* @__PURE__ */ import_react49.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
4861
+ depth > 0 && /* @__PURE__ */ import_react50.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
4832
4862
  children
4833
4863
  );
4834
4864
  if (menuItems && onSelectMenuItem) {
4835
- return /* @__PURE__ */ import_react49.default.createElement(
4865
+ return /* @__PURE__ */ import_react50.default.createElement(
4836
4866
  ContextMenu,
4837
4867
  {
4838
4868
  items: menuItems,
@@ -4845,24 +4875,24 @@ var ListViewRow = (0, import_react49.forwardRef)(function ListViewRow2({
4845
4875
  return element;
4846
4876
  };
4847
4877
  if (sortable && id) {
4848
- return /* @__PURE__ */ import_react49.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(
4878
+ return /* @__PURE__ */ import_react50.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(
4849
4879
  sortableProps,
4850
4880
  (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)
4851
4881
  ));
4852
4882
  }
4853
4883
  return renderContent({}, forwardedRef);
4854
4884
  });
4855
- var RenderItemContext = (0, import_react49.createContext)(
4885
+ var RenderItemContext = (0, import_react50.createContext)(
4856
4886
  () => null
4857
4887
  );
4858
- var VirtualizedListRow = (0, import_react49.memo)(function VirtualizedListRow2({
4888
+ var VirtualizedListRow = (0, import_react50.memo)(function VirtualizedListRow2({
4859
4889
  index,
4860
4890
  style: style3
4861
4891
  }) {
4862
- const renderItem = (0, import_react49.useContext)(RenderItemContext);
4863
- return /* @__PURE__ */ import_react49.default.createElement("div", { key: index, style: style3 }, renderItem(index));
4892
+ const renderItem = (0, import_react50.useContext)(RenderItemContext);
4893
+ return /* @__PURE__ */ import_react50.default.createElement("div", { key: index, style: style3 }, renderItem(index));
4864
4894
  });
4865
- var VirtualizedListInner = (0, import_react49.forwardRef)(function VirtualizedListInner2({
4895
+ var VirtualizedListInner = (0, import_react50.forwardRef)(function VirtualizedListInner2({
4866
4896
  size: size2,
4867
4897
  scrollElement,
4868
4898
  items,
@@ -4870,20 +4900,20 @@ var VirtualizedListInner = (0, import_react49.forwardRef)(function VirtualizedLi
4870
4900
  keyExtractor,
4871
4901
  renderItem
4872
4902
  }, ref) {
4873
- const listRef = (0, import_react49.useRef)(null);
4874
- (0, import_react49.useImperativeHandle)(ref, () => ({
4903
+ const listRef = (0, import_react50.useRef)(null);
4904
+ (0, import_react50.useImperativeHandle)(ref, () => ({
4875
4905
  scrollToIndex(index) {
4876
4906
  listRef.current?.scrollToItem(index);
4877
4907
  }
4878
4908
  }));
4879
- (0, import_react49.useLayoutEffect)(() => {
4909
+ (0, import_react50.useLayoutEffect)(() => {
4880
4910
  listRef.current?.resetAfterIndex(0);
4881
4911
  }, [
4882
4912
  // When items change, we need to re-render the virtualized list,
4883
4913
  // since it doesn't currently support row height changes
4884
4914
  items
4885
4915
  ]);
4886
- const listStyle = (0, import_react49.useMemo)(
4916
+ const listStyle = (0, import_react50.useMemo)(
4887
4917
  () => ({
4888
4918
  overflowX: "initial",
4889
4919
  overflowY: "initial",
@@ -4891,18 +4921,18 @@ var VirtualizedListInner = (0, import_react49.forwardRef)(function VirtualizedLi
4891
4921
  }),
4892
4922
  []
4893
4923
  );
4894
- return /* @__PURE__ */ import_react49.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react49.default.createElement(
4924
+ return /* @__PURE__ */ import_react50.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react50.default.createElement(
4895
4925
  import_react_virtualized.WindowScroller,
4896
4926
  {
4897
4927
  scrollElement,
4898
- style: (0, import_react49.useMemo)(() => ({ flex: "1 1 auto" }), [])
4928
+ style: (0, import_react50.useMemo)(() => ({ flex: "1 1 auto" }), [])
4899
4929
  },
4900
- (0, import_react49.useCallback)(
4930
+ (0, import_react50.useCallback)(
4901
4931
  ({
4902
4932
  registerChild,
4903
4933
  onChildScroll,
4904
4934
  scrollTop
4905
- }) => /* @__PURE__ */ import_react49.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react49.default.createElement(
4935
+ }) => /* @__PURE__ */ import_react50.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react50.default.createElement(
4906
4936
  import_react_window.VariableSizeList,
4907
4937
  {
4908
4938
  ref: listRef,
@@ -4932,7 +4962,7 @@ var VirtualizedListInner = (0, import_react49.forwardRef)(function VirtualizedLi
4932
4962
  )
4933
4963
  ));
4934
4964
  });
4935
- var VirtualizedList = (0, import_react49.memo)(
4965
+ var VirtualizedList = (0, import_react50.memo)(
4936
4966
  VirtualizedListInner
4937
4967
  );
4938
4968
  var RootContainer2 = import_styled_components25.default.div(({ theme, $scrollable, $gap }) => ({
@@ -4943,7 +4973,7 @@ var RootContainer2 = import_styled_components25.default.div(({ theme, $scrollabl
4943
4973
  color: theme.colors.textMuted,
4944
4974
  gap: $gap
4945
4975
  }));
4946
- var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInner2({
4976
+ var ListViewRootInner = (0, import_react50.forwardRef)(function ListViewRootInner2({
4947
4977
  id,
4948
4978
  className,
4949
4979
  style: style3,
@@ -4965,7 +4995,7 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
4965
4995
  colorScheme = "primary",
4966
4996
  gap = 0
4967
4997
  }, forwardedRef) {
4968
- const handleClick = (0, import_react49.useCallback)(
4998
+ const handleClick = (0, import_react50.useCallback)(
4969
4999
  (event) => {
4970
5000
  if (event.target instanceof HTMLElement && event.target.classList.contains("scroll-component"))
4971
5001
  return;
@@ -4975,19 +5005,19 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
4975
5005
  },
4976
5006
  [onPress]
4977
5007
  );
4978
- const renderChild = (0, import_react49.useCallback)(
5008
+ const renderChild = (0, import_react50.useCallback)(
4979
5009
  (index) => renderItem(data[index], index, { isDragging: false }),
4980
5010
  [data, renderItem]
4981
5011
  );
4982
- const getItemContextValue = (0, import_react49.useCallback)(
5012
+ const getItemContextValue = (0, import_react50.useCallback)(
4983
5013
  (i) => {
4984
5014
  const current = renderChild(i);
4985
- if (!(0, import_react49.isValidElement)(current))
5015
+ if (!(0, import_react50.isValidElement)(current))
4986
5016
  return;
4987
5017
  const prevChild = i - 1 >= 0 && renderChild(i - 1);
4988
5018
  const nextChild = i + 1 < data.length && renderChild(i + 1);
4989
- const next = (0, import_react49.isValidElement)(nextChild) ? nextChild : void 0;
4990
- const prev = (0, import_react49.isValidElement)(prevChild) ? prevChild : void 0;
5019
+ const next = (0, import_react50.isValidElement)(nextChild) ? nextChild : void 0;
5020
+ const prev = (0, import_react50.isValidElement)(prevChild) ? prevChild : void 0;
4991
5021
  const hasMarginTop = !prev;
4992
5022
  const hasMarginBottom = !next || current.props.isSectionHeader || next && next.props.isSectionHeader;
4993
5023
  let marginType;
@@ -5039,26 +5069,26 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
5039
5069
  gap
5040
5070
  ]
5041
5071
  );
5042
- const draggingContextOverlayValue = (0, import_react49.useMemo)(
5072
+ const draggingContextOverlayValue = (0, import_react50.useMemo)(
5043
5073
  () => ({ indentation, isDragging: true }),
5044
5074
  [indentation]
5045
5075
  );
5046
- const renderOverlay = (0, import_react49.useCallback)(
5047
- (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 }))),
5076
+ const renderOverlay = (0, import_react50.useCallback)(
5077
+ (index) => /* @__PURE__ */ import_react50.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react50.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
5048
5078
  [draggingContextOverlayValue, renderItem, data]
5049
5079
  );
5050
- const renderWrappedChild = (0, import_react49.useCallback)(
5080
+ const renderWrappedChild = (0, import_react50.useCallback)(
5051
5081
  (index) => {
5052
5082
  const contextValue = getItemContextValue(index);
5053
5083
  const current = renderChild(index);
5054
- if (!contextValue || !(0, import_react49.isValidElement)(current))
5084
+ if (!contextValue || !(0, import_react50.isValidElement)(current))
5055
5085
  return null;
5056
- return /* @__PURE__ */ import_react49.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
5086
+ return /* @__PURE__ */ import_react50.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
5057
5087
  },
5058
5088
  [getItemContextValue, renderChild]
5059
5089
  );
5060
- const ids = (0, import_react49.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
5061
- const withSortable = (children) => sortable ? /* @__PURE__ */ import_react49.default.createElement(
5090
+ const ids = (0, import_react50.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
5091
+ const withSortable = (children) => sortable ? /* @__PURE__ */ import_react50.default.createElement(
5062
5092
  Sortable.Root,
5063
5093
  {
5064
5094
  onMoveItem,
@@ -5068,8 +5098,8 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
5068
5098
  },
5069
5099
  children
5070
5100
  ) : children;
5071
- const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react49.default.createElement(ScrollArea, null, children) : children(null);
5072
- const getItemHeight = (0, import_react49.useCallback)(
5101
+ const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react50.default.createElement(ScrollArea, null, children) : children(null);
5102
+ const getItemHeight = (0, import_react50.useCallback)(
5073
5103
  (index) => {
5074
5104
  const child = getItemContextValue(index);
5075
5105
  const margin = child?.marginType ? getPositionMargin(child.marginType) : { top: 0, bottom: 0 };
@@ -5078,12 +5108,12 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
5078
5108
  },
5079
5109
  [getItemContextValue, variant]
5080
5110
  );
5081
- const getKey = (0, import_react49.useCallback)(
5111
+ const getKey = (0, import_react50.useCallback)(
5082
5112
  (index) => keyExtractor(data[index], index),
5083
5113
  [data, keyExtractor]
5084
5114
  );
5085
- const draggingContextValue = (0, import_react49.useMemo)(() => ({ indentation }), [indentation]);
5086
- return /* @__PURE__ */ import_react49.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react49.default.createElement(
5115
+ const draggingContextValue = (0, import_react50.useMemo)(() => ({ indentation }), [indentation]);
5116
+ return /* @__PURE__ */ import_react50.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react50.default.createElement(
5087
5117
  RootContainer2,
5088
5118
  {
5089
5119
  id,
@@ -5097,7 +5127,7 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
5097
5127
  },
5098
5128
  withScrollable(
5099
5129
  (scrollElementRef) => withSortable(
5100
- virtualized ? /* @__PURE__ */ import_react49.default.createElement(
5130
+ virtualized ? /* @__PURE__ */ import_react50.default.createElement(
5101
5131
  VirtualizedList,
5102
5132
  {
5103
5133
  ref: forwardedRef,
@@ -5113,42 +5143,42 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
5113
5143
  )
5114
5144
  ));
5115
5145
  });
5116
- var ListViewRoot = (0, import_react49.memo)(ListViewRootInner);
5117
- var ChildrenListViewInner = (0, import_react49.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
5118
- const items = (0, import_react49.useMemo)(
5119
- () => import_react49.Children.toArray(children).flatMap(
5120
- (child) => (0, import_react49.isValidElement)(child) ? [child] : []
5146
+ var ListViewRoot = (0, import_react50.memo)(ListViewRootInner);
5147
+ var ChildrenListViewInner = (0, import_react50.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
5148
+ const items = (0, import_react50.useMemo)(
5149
+ () => import_react50.Children.toArray(children).flatMap(
5150
+ (child) => (0, import_react50.isValidElement)(child) ? [child] : []
5121
5151
  ),
5122
5152
  [children]
5123
5153
  );
5124
- return /* @__PURE__ */ import_react49.default.createElement(
5154
+ return /* @__PURE__ */ import_react50.default.createElement(
5125
5155
  ListViewRoot,
5126
5156
  {
5127
5157
  ref: forwardedRef,
5128
5158
  ...rest,
5129
5159
  data: items,
5130
- keyExtractor: (0, import_react49.useCallback)(
5160
+ keyExtractor: (0, import_react50.useCallback)(
5131
5161
  ({ key }, index) => typeof key === "string" ? key : (key ?? index).toString(),
5132
5162
  []
5133
5163
  ),
5134
- renderItem: (0, import_react49.useCallback)((item) => item, [])
5164
+ renderItem: (0, import_react50.useCallback)((item) => item, [])
5135
5165
  }
5136
5166
  );
5137
5167
  });
5138
- var ChildrenListView = (0, import_react49.memo)(ChildrenListViewInner);
5139
- var SimpleListViewInner = (0, import_react49.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
5168
+ var ChildrenListView = (0, import_react50.memo)(ChildrenListViewInner);
5169
+ var SimpleListViewInner = (0, import_react50.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
5140
5170
  if ("children" in props) {
5141
- return /* @__PURE__ */ import_react49.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
5171
+ return /* @__PURE__ */ import_react50.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
5142
5172
  } else {
5143
- return /* @__PURE__ */ import_react49.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
5173
+ return /* @__PURE__ */ import_react50.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
5144
5174
  }
5145
5175
  });
5146
- var SimpleListView = (0, import_react49.memo)(SimpleListViewInner);
5176
+ var SimpleListView = (0, import_react50.memo)(SimpleListViewInner);
5147
5177
  var ListView;
5148
5178
  ((ListView2) => {
5149
- ListView2.RowTitle = (0, import_react49.memo)(ListViewRowTitle);
5150
- ListView2.EditableRowTitle = (0, import_react49.memo)(ListViewEditableRowTitle);
5151
- ListView2.Row = (0, import_react49.memo)(ListViewRow);
5179
+ ListView2.RowTitle = (0, import_react50.memo)(ListViewRowTitle);
5180
+ ListView2.EditableRowTitle = (0, import_react50.memo)(ListViewEditableRowTitle);
5181
+ ListView2.Row = (0, import_react50.memo)(ListViewRow);
5152
5182
  ListView2.Root = SimpleListView;
5153
5183
  ListView2.RowContext = ListRowContext;
5154
5184
  ListView2.DragIndicator = ListViewDragIndicatorElement;
@@ -5161,7 +5191,7 @@ var ListView;
5161
5191
  })(ListView || (ListView = {}));
5162
5192
 
5163
5193
  // src/components/Text.tsx
5164
- var import_react50 = __toESM(require("react"));
5194
+ var import_react51 = __toESM(require("react"));
5165
5195
  var import_styled_components26 = __toESM(require("styled-components"));
5166
5196
  var elements = {
5167
5197
  title: "h1",
@@ -5183,7 +5213,7 @@ var StyledElement = import_styled_components26.default.span(({ theme, $variant,
5183
5213
  ...$styleProps,
5184
5214
  ...mergeBreakpoints($breakpoints || [])
5185
5215
  }));
5186
- var Text = (0, import_react50.forwardRef)(function Text2({
5216
+ var Text = (0, import_react51.forwardRef)(function Text2({
5187
5217
  as,
5188
5218
  variant,
5189
5219
  breakpoints,
@@ -5197,7 +5227,7 @@ var Text = (0, import_react50.forwardRef)(function Text2({
5197
5227
  ...rest
5198
5228
  }, forwardedRef) {
5199
5229
  const element = as ?? elements[variant] ?? "span";
5200
- return /* @__PURE__ */ import_react50.default.createElement(
5230
+ return /* @__PURE__ */ import_react51.default.createElement(
5201
5231
  StyledElement,
5202
5232
  {
5203
5233
  ref: forwardedRef,
@@ -5215,28 +5245,28 @@ var Text = (0, import_react50.forwardRef)(function Text2({
5215
5245
  children
5216
5246
  );
5217
5247
  });
5218
- var Heading1 = (0, import_react50.forwardRef)(
5219
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading1" })
5248
+ var Heading1 = (0, import_react51.forwardRef)(
5249
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "heading1" })
5220
5250
  );
5221
- var Heading2 = (0, import_react50.forwardRef)(
5222
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading2" })
5251
+ var Heading2 = (0, import_react51.forwardRef)(
5252
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "heading2" })
5223
5253
  );
5224
- var Heading3 = (0, import_react50.forwardRef)(
5225
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading3" })
5254
+ var Heading3 = (0, import_react51.forwardRef)(
5255
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "heading3" })
5226
5256
  );
5227
- var Heading4 = (0, import_react50.forwardRef)(
5228
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading4" })
5257
+ var Heading4 = (0, import_react51.forwardRef)(
5258
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "heading4" })
5229
5259
  );
5230
- var Heading5 = (0, import_react50.forwardRef)(
5231
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "heading5" })
5260
+ var Heading5 = (0, import_react51.forwardRef)(
5261
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "heading5" })
5232
5262
  );
5233
- var Body = (0, import_react50.forwardRef)(
5234
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "body" })
5263
+ var Body = (0, import_react51.forwardRef)(
5264
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "body" })
5235
5265
  );
5236
- var Small = (0, import_react50.forwardRef)(
5237
- (props, ref) => /* @__PURE__ */ import_react50.default.createElement(Text, { ref, ...props, variant: "small" })
5266
+ var Small = (0, import_react51.forwardRef)(
5267
+ (props, ref) => /* @__PURE__ */ import_react51.default.createElement(Text, { ref, ...props, variant: "small" })
5238
5268
  );
5239
- var Italic = ({ children }) => /* @__PURE__ */ import_react50.default.createElement(
5269
+ var Italic = ({ children }) => /* @__PURE__ */ import_react51.default.createElement(
5240
5270
  "span",
5241
5271
  {
5242
5272
  style: {
@@ -5278,15 +5308,15 @@ var CompletionToken = import_styled_components27.default.span(
5278
5308
  whiteSpace: "pre"
5279
5309
  })
5280
5310
  );
5281
- var CompletionMenu = (0, import_react51.memo)(
5282
- (0, import_react51.forwardRef)(function CompletionMenu2({
5311
+ var CompletionMenu = (0, import_react52.memo)(
5312
+ (0, import_react52.forwardRef)(function CompletionMenu2({
5283
5313
  items,
5284
5314
  selectedIndex,
5285
5315
  onSelectItem,
5286
5316
  onHoverIndex,
5287
5317
  listSize
5288
5318
  }, forwardedRef) {
5289
- return /* @__PURE__ */ import_react51.default.createElement(
5319
+ return /* @__PURE__ */ import_react52.default.createElement(
5290
5320
  ListView.Root,
5291
5321
  {
5292
5322
  ref: forwardedRef,
@@ -5298,13 +5328,13 @@ var CompletionMenu = (0, import_react51.memo)(
5298
5328
  sectionHeaderVariant: "label",
5299
5329
  renderItem: (item, i) => {
5300
5330
  if (item.type === "sectionHeader") {
5301
- return /* @__PURE__ */ import_react51.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
5331
+ return /* @__PURE__ */ import_react52.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
5302
5332
  }
5303
5333
  const tokens = fuzzyTokenize({
5304
5334
  item: item.name,
5305
5335
  itemScore: item
5306
5336
  });
5307
- return /* @__PURE__ */ import_react51.default.createElement(
5337
+ return /* @__PURE__ */ import_react52.default.createElement(
5308
5338
  ListView.Row,
5309
5339
  {
5310
5340
  key: item.id,
@@ -5316,16 +5346,16 @@ var CompletionMenu = (0, import_react51.memo)(
5316
5346
  }
5317
5347
  }
5318
5348
  },
5319
- tokens.map((token, j) => /* @__PURE__ */ import_react51.default.createElement(CompletionToken, { key: j, $type: token.type }, token.text)),
5320
- item.icon && /* @__PURE__ */ import_react51.default.createElement(import_react51.default.Fragment, null, /* @__PURE__ */ import_react51.default.createElement(Spacer.Horizontal, null), item.icon)
5349
+ tokens.map((token, j) => /* @__PURE__ */ import_react52.default.createElement(CompletionToken, { key: j, $type: token.type }, token.text)),
5350
+ item.icon && /* @__PURE__ */ import_react52.default.createElement(import_react52.default.Fragment, null, /* @__PURE__ */ import_react52.default.createElement(Spacer.Horizontal, null), item.icon)
5321
5351
  );
5322
5352
  }
5323
5353
  }
5324
5354
  );
5325
5355
  })
5326
5356
  );
5327
- var InputFieldWithCompletions = (0, import_react51.memo)(
5328
- (0, import_react51.forwardRef)(function InputFieldWithCompletions2({
5357
+ var InputFieldWithCompletions = (0, import_react52.memo)(
5358
+ (0, import_react52.forwardRef)(function InputFieldWithCompletions2({
5329
5359
  loading,
5330
5360
  initialValue = "",
5331
5361
  placeholder,
@@ -5343,13 +5373,13 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5343
5373
  hideChildrenWhenFocused = false,
5344
5374
  hideMenuWhenEmptyValue = false
5345
5375
  }, forwardedRef) {
5346
- const ref = (0, import_react51.useRef)(null);
5347
- const [isFocused, setIsFocused] = (0, import_react51.useState)(false);
5348
- const [state, _setState] = (0, import_react51.useState)({
5376
+ const ref = (0, import_react52.useRef)(null);
5377
+ const [isFocused, setIsFocused] = (0, import_react52.useState)(false);
5378
+ const [state, _setState] = (0, import_react52.useState)({
5349
5379
  filter: initialValue,
5350
5380
  selectedIndex: 0
5351
5381
  });
5352
- const updateState = (0, import_react51.useCallback)(
5382
+ const updateState = (0, import_react52.useCallback)(
5353
5383
  (newState, hoverItem) => {
5354
5384
  const nextState = { ...state, ...newState };
5355
5385
  const nextItems = filterWithGroupedSections(items, nextState.filter);
@@ -5378,16 +5408,16 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5378
5408
  },
5379
5409
  [items, onChange, onHoverItem, state]
5380
5410
  );
5381
- const initialValueRef = (0, import_react51.useRef)(initialValue);
5382
- (0, import_react51.useLayoutEffect)(() => {
5411
+ const initialValueRef = (0, import_react52.useRef)(initialValue);
5412
+ (0, import_react52.useLayoutEffect)(() => {
5383
5413
  if (initialValueRef.current === initialValue)
5384
5414
  return;
5385
5415
  initialValueRef.current = initialValue;
5386
5416
  updateState({ filter: initialValue });
5387
5417
  }, [initialValue, updateState]);
5388
5418
  const { filter, selectedIndex } = state;
5389
- const listRef = import_react51.default.useRef(null);
5390
- const filteredItems = (0, import_react51.useMemo)(
5419
+ const listRef = import_react52.default.useRef(null);
5420
+ const filteredItems = (0, import_react52.useMemo)(
5391
5421
  () => filterWithGroupedSections(items, filter),
5392
5422
  [items, filter]
5393
5423
  );
@@ -5403,13 +5433,13 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5403
5433
  ),
5404
5434
  ListView.rowHeight * 10.5
5405
5435
  );
5406
- (0, import_react51.useEffect)(() => {
5436
+ (0, import_react52.useEffect)(() => {
5407
5437
  if (listRef.current) {
5408
5438
  listRef.current.scrollToIndex(selectedIndex);
5409
5439
  }
5410
5440
  }, [selectedIndex]);
5411
- const lastSubmittedValueRef = (0, import_react51.useRef)(void 0);
5412
- const selectItem = (0, import_react51.useCallback)(
5441
+ const lastSubmittedValueRef = (0, import_react52.useRef)(void 0);
5442
+ const selectItem = (0, import_react52.useCallback)(
5413
5443
  (item) => {
5414
5444
  if (item.type === "sectionHeader")
5415
5445
  return;
@@ -5425,17 +5455,17 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5425
5455
  },
5426
5456
  [filter, onSelectItem, onHoverItem, ref]
5427
5457
  );
5428
- const handleChange = (0, import_react51.useCallback)(
5458
+ const handleChange = (0, import_react52.useCallback)(
5429
5459
  (value) => updateState({ selectedIndex: 0, filter: value }),
5430
5460
  [updateState]
5431
5461
  );
5432
- const handleBlur = (0, import_react51.useCallback)(() => {
5462
+ const handleBlur = (0, import_react52.useCallback)(() => {
5433
5463
  setIsFocused(false);
5434
5464
  const didSubmit = lastSubmittedValueRef.current?.filter === filter;
5435
5465
  updateState({ selectedIndex: 0, filter: initialValue }, "resetHover");
5436
5466
  onBlur?.(didSubmit, filter);
5437
5467
  }, [filter, initialValue, onBlur, updateState]);
5438
- const handleFocus = (0, import_react51.useCallback)(
5468
+ const handleFocus = (0, import_react52.useCallback)(
5439
5469
  (event) => {
5440
5470
  setIsFocused(true);
5441
5471
  updateState({ selectedIndex: 0, filter: initialValue });
@@ -5443,11 +5473,11 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5443
5473
  },
5444
5474
  [initialValue, onFocus, updateState]
5445
5475
  );
5446
- const handleIndexChange = (0, import_react51.useCallback)(
5476
+ const handleIndexChange = (0, import_react52.useCallback)(
5447
5477
  (index) => updateState({ selectedIndex: index }),
5448
5478
  [updateState]
5449
5479
  );
5450
- const handleKeyDown = (0, import_react51.useCallback)(
5480
+ const handleKeyDown = (0, import_react52.useCallback)(
5451
5481
  (event) => {
5452
5482
  let handled = false;
5453
5483
  switch (event.key) {
@@ -5511,7 +5541,7 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5511
5541
  );
5512
5542
  const display = !filter && hideMenuWhenEmptyValue ? "none" : "flex";
5513
5543
  const typeaheadValue = filteredItems[selectedIndex]?.name;
5514
- (0, import_react51.useImperativeHandle)(forwardedRef, () => ({
5544
+ (0, import_react52.useImperativeHandle)(forwardedRef, () => ({
5515
5545
  focus: () => {
5516
5546
  ref.current?.focus();
5517
5547
  },
@@ -5522,14 +5552,14 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5522
5552
  ref.current?.setSelectionRange(0, ref.current.value.length);
5523
5553
  }
5524
5554
  }));
5525
- return /* @__PURE__ */ import_react51.default.createElement(
5555
+ return /* @__PURE__ */ import_react52.default.createElement(
5526
5556
  InputField.Root,
5527
5557
  {
5528
5558
  size: size2,
5529
5559
  labelSize: 16,
5530
5560
  renderPopoverContent: ({ width }) => {
5531
5561
  const listSize = { width, height };
5532
- return /* @__PURE__ */ import_react51.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react51.default.createElement(
5562
+ return /* @__PURE__ */ import_react52.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react52.default.createElement(
5533
5563
  CompletionMenu,
5534
5564
  {
5535
5565
  ref: listRef,
@@ -5539,7 +5569,7 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5539
5569
  onHoverIndex: handleIndexChange,
5540
5570
  listSize
5541
5571
  }
5542
- ) : /* @__PURE__ */ import_react51.default.createElement(
5572
+ ) : /* @__PURE__ */ import_react52.default.createElement(
5543
5573
  Stack.V,
5544
5574
  {
5545
5575
  height: "100px",
@@ -5547,11 +5577,11 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5547
5577
  alignItems: "center",
5548
5578
  justifyContent: "center"
5549
5579
  },
5550
- /* @__PURE__ */ import_react51.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
5580
+ /* @__PURE__ */ import_react52.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
5551
5581
  ));
5552
5582
  }
5553
5583
  },
5554
- /* @__PURE__ */ import_react51.default.createElement(
5584
+ /* @__PURE__ */ import_react52.default.createElement(
5555
5585
  InputField.Input,
5556
5586
  {
5557
5587
  ref,
@@ -5575,9 +5605,9 @@ var InputFieldWithCompletions = (0, import_react51.memo)(
5575
5605
  "aria-controls": "component-listbox"
5576
5606
  }
5577
5607
  ),
5578
- filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react51.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
5608
+ filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react52.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
5579
5609
  (!isFocused || !hideChildrenWhenFocused) && children,
5580
- loading && isFocused && /* @__PURE__ */ import_react51.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react51.default.createElement(ActivityIndicator, null))
5610
+ loading && isFocused && /* @__PURE__ */ import_react52.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react52.default.createElement(ActivityIndicator, null))
5581
5611
  );
5582
5612
  })
5583
5613
  );
@@ -5599,9 +5629,9 @@ function getNextIndex(items, currentIndex, direction, isDisabled) {
5599
5629
  }
5600
5630
 
5601
5631
  // src/components/InspectorContainer.tsx
5602
- var import_react52 = __toESM(require("react"));
5603
- var InspectorContainer = (0, import_react52.memo)(
5604
- (0, import_react52.forwardRef)(function InspectorContainer2({
5632
+ var import_react53 = __toESM(require("react"));
5633
+ var InspectorContainer = (0, import_react53.memo)(
5634
+ (0, import_react53.forwardRef)(function InspectorContainer2({
5605
5635
  header,
5606
5636
  children,
5607
5637
  fallback,
@@ -5611,7 +5641,7 @@ var InspectorContainer = (0, import_react52.memo)(
5611
5641
  style: style3
5612
5642
  }, forwardedRef) {
5613
5643
  const theme = useDesignSystemTheme();
5614
- return /* @__PURE__ */ import_react52.default.createElement(
5644
+ return /* @__PURE__ */ import_react53.default.createElement(
5615
5645
  "div",
5616
5646
  {
5617
5647
  ref: forwardedRef,
@@ -5626,13 +5656,13 @@ var InspectorContainer = (0, import_react52.memo)(
5626
5656
  }
5627
5657
  },
5628
5658
  header,
5629
- children ? /* @__PURE__ */ import_react52.default.createElement(ScrollArea, null, /* @__PURE__ */ import_react52.default.createElement(Stack.V, { position: "relative" }, showDividers ? withSeparatorElements(children, /* @__PURE__ */ import_react52.default.createElement(Divider, null)) : children)) : fallback ? /* @__PURE__ */ import_react52.default.createElement(Stack.V, { position: "relative", height: "100%" }, fallback) : null
5659
+ children ? /* @__PURE__ */ import_react53.default.createElement(ScrollArea, null, /* @__PURE__ */ import_react53.default.createElement(Stack.V, { position: "relative" }, showDividers ? withSeparatorElements(children, /* @__PURE__ */ import_react53.default.createElement(Divider, null)) : children)) : fallback ? /* @__PURE__ */ import_react53.default.createElement(Stack.V, { position: "relative", height: "100%" }, fallback) : null
5630
5660
  );
5631
5661
  })
5632
5662
  );
5633
5663
 
5634
5664
  // src/components/Label.tsx
5635
- var import_react53 = __toESM(require("react"));
5665
+ var import_react54 = __toESM(require("react"));
5636
5666
  var import_styled_components28 = __toESM(require("styled-components"));
5637
5667
  var LabelLabel = import_styled_components28.default.label(
5638
5668
  ({ theme, $selected }) => ({
@@ -5661,17 +5691,17 @@ var LabelContainer2 = import_styled_components28.default.span(({ theme }) => ({
5661
5691
  alignItems: "center"
5662
5692
  }));
5663
5693
  function LabelRoot({ label, children }) {
5664
- return /* @__PURE__ */ import_react53.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react53.default.createElement(import_react53.default.Fragment, null, /* @__PURE__ */ import_react53.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react53.default.createElement(LabelLabel, null, label)));
5694
+ return /* @__PURE__ */ import_react54.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react54.default.createElement(import_react54.default.Fragment, null, /* @__PURE__ */ import_react54.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react54.default.createElement(LabelLabel, null, label)));
5665
5695
  }
5666
5696
  var Label;
5667
5697
  ((_Label) => {
5668
- _Label.Label = (0, import_react53.memo)(LabelLabel);
5669
- _Label.Root = (0, import_react53.memo)(LabelRoot);
5698
+ _Label.Label = (0, import_react54.memo)(LabelLabel);
5699
+ _Label.Root = (0, import_react54.memo)(LabelRoot);
5670
5700
  })(Label || (Label = {}));
5671
5701
 
5672
5702
  // src/components/LabeledElementView.tsx
5673
5703
  var kiwi = __toESM(require("kiwi.js"));
5674
- var import_react54 = __toESM(require("react"));
5704
+ var import_react55 = __toESM(require("react"));
5675
5705
  var import_styled_components29 = __toESM(require("styled-components"));
5676
5706
  var Container4 = import_styled_components29.default.div(({ theme }) => ({
5677
5707
  display: "flex",
@@ -5690,24 +5720,24 @@ var Labels = import_styled_components29.default.div(({ theme }) => ({
5690
5720
  overflow: "hidden",
5691
5721
  userSelect: "none"
5692
5722
  }));
5693
- var LabeledElementView = (0, import_react54.memo)(function LabeledElementView2({
5723
+ var LabeledElementView = (0, import_react55.memo)(function LabeledElementView2({
5694
5724
  children,
5695
5725
  renderLabel
5696
5726
  }) {
5697
- const elementIds = import_react54.Children.toArray(children).flatMap(
5698
- (child) => (0, import_react54.isValidElement)(child) && child.type === import_react54.Fragment ? child.props.children : [child]
5727
+ const elementIds = import_react55.Children.toArray(children).flatMap(
5728
+ (child) => (0, import_react55.isValidElement)(child) && child.type === import_react55.Fragment ? child.props.children : [child]
5699
5729
  ).map(
5700
- (child) => (0, import_react54.isValidElement)(child) && "id" in child.props ? child.props.id : null
5730
+ (child) => (0, import_react55.isValidElement)(child) && "id" in child.props ? child.props.id : null
5701
5731
  ).filter((id) => !!id);
5702
5732
  const serializedIds = elementIds.join(",");
5703
- const containerRef = (0, import_react54.useRef)(null);
5704
- const refs = (0, import_react54.useMemo)(() => {
5733
+ const containerRef = (0, import_react55.useRef)(null);
5734
+ const refs = (0, import_react55.useMemo)(() => {
5705
5735
  return Object.fromEntries(
5706
- serializedIds.split(",").map((id) => [id, (0, import_react54.createRef)()])
5736
+ serializedIds.split(",").map((id) => [id, (0, import_react55.createRef)()])
5707
5737
  );
5708
5738
  }, [serializedIds]);
5709
- const labelElements = (0, import_react54.useMemo)(() => {
5710
- return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react54.default.createElement(
5739
+ const labelElements = (0, import_react55.useMemo)(() => {
5740
+ return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react55.default.createElement(
5711
5741
  "span",
5712
5742
  {
5713
5743
  key: id,
@@ -5720,7 +5750,7 @@ var LabeledElementView = (0, import_react54.memo)(function LabeledElementView2({
5720
5750
  })
5721
5751
  ));
5722
5752
  }, [refs, serializedIds, renderLabel]);
5723
- (0, import_react54.useLayoutEffect)(() => {
5753
+ (0, import_react55.useLayoutEffect)(() => {
5724
5754
  if (!containerRef.current)
5725
5755
  return;
5726
5756
  const containerRect = containerRef.current.getBoundingClientRect();
@@ -5785,13 +5815,13 @@ var LabeledElementView = (0, import_react54.memo)(function LabeledElementView2({
5785
5815
  `${Math.max(...heights)}px`
5786
5816
  );
5787
5817
  }, [refs, labelElements]);
5788
- return /* @__PURE__ */ import_react54.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react54.default.createElement(Tools, null, children), /* @__PURE__ */ import_react54.default.createElement(Labels, null, labelElements));
5818
+ return /* @__PURE__ */ import_react55.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react55.default.createElement(Tools, null, children), /* @__PURE__ */ import_react55.default.createElement(Labels, null, labelElements));
5789
5819
  });
5790
5820
 
5791
5821
  // src/components/Progress.tsx
5792
5822
  var import_noya_utils9 = require("@noya-app/noya-utils");
5793
5823
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
5794
- var import_react55 = __toESM(require("react"));
5824
+ var import_react56 = __toESM(require("react"));
5795
5825
  var import_styled_components30 = __toESM(require("styled-components"));
5796
5826
  function Progress({
5797
5827
  value,
@@ -5801,7 +5831,7 @@ function Progress({
5801
5831
  variant = "normal"
5802
5832
  }) {
5803
5833
  const clampedValue = (0, import_noya_utils9.clamp)(value, 0, 100);
5804
- return /* @__PURE__ */ import_react55.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react55.default.createElement(
5834
+ return /* @__PURE__ */ import_react56.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react56.default.createElement(
5805
5835
  ProgressIndicator,
5806
5836
  {
5807
5837
  variant,
@@ -5826,7 +5856,7 @@ var ProgressIndicator = (0, import_styled_components30.default)(ProgressPrimitiv
5826
5856
 
5827
5857
  // src/components/RadioGroup.tsx
5828
5858
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"));
5829
- var import_react56 = __toESM(require("react"));
5859
+ var import_react57 = __toESM(require("react"));
5830
5860
  var import_styled_components31 = __toESM(require("styled-components"));
5831
5861
  var ignoredProps2 = /* @__PURE__ */ new Set(["colorScheme"]);
5832
5862
  var StyledRoot = (0, import_styled_components31.default)(ToggleGroupPrimitive.Root).withConfig({
@@ -5879,9 +5909,9 @@ var StyledItem = (0, import_styled_components31.default)(ToggleGroupPrimitive.It
5879
5909
  boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors[colorScheme ?? "primary"]}`
5880
5910
  }
5881
5911
  }));
5882
- var ToggleGroupItem = (0, import_react56.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
5883
- const { colorScheme } = (0, import_react56.useContext)(RadioGroupContext);
5884
- const itemElement = /* @__PURE__ */ import_react56.default.createElement(
5912
+ var ToggleGroupItem = (0, import_react57.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
5913
+ const { colorScheme } = (0, import_react57.useContext)(RadioGroupContext);
5914
+ const itemElement = /* @__PURE__ */ import_react57.default.createElement(
5885
5915
  StyledItem,
5886
5916
  {
5887
5917
  ref: forwardedRef,
@@ -5891,9 +5921,9 @@ var ToggleGroupItem = (0, import_react56.forwardRef)(function ToggleGroupItem2({
5891
5921
  },
5892
5922
  children
5893
5923
  );
5894
- return tooltip ? /* @__PURE__ */ import_react56.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
5924
+ return tooltip ? /* @__PURE__ */ import_react57.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
5895
5925
  });
5896
- var RadioGroupContext = (0, import_react56.createContext)({
5926
+ var RadioGroupContext = (0, import_react57.createContext)({
5897
5927
  colorScheme: "primary"
5898
5928
  });
5899
5929
  function ToggleGroupRoot({
@@ -5904,8 +5934,8 @@ function ToggleGroupRoot({
5904
5934
  allowEmpty,
5905
5935
  children
5906
5936
  }) {
5907
- const contextValue = (0, import_react56.useMemo)(() => ({ colorScheme }), [colorScheme]);
5908
- const handleValueChange = (0, import_react56.useCallback)(
5937
+ const contextValue = (0, import_react57.useMemo)(() => ({ colorScheme }), [colorScheme]);
5938
+ const handleValueChange = (0, import_react57.useCallback)(
5909
5939
  (value2) => {
5910
5940
  if (!allowEmpty && !value2)
5911
5941
  return;
@@ -5913,7 +5943,7 @@ function ToggleGroupRoot({
5913
5943
  },
5914
5944
  [allowEmpty, onValueChange]
5915
5945
  );
5916
- return /* @__PURE__ */ import_react56.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react56.default.createElement(
5946
+ return /* @__PURE__ */ import_react57.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react57.default.createElement(
5917
5947
  StyledRoot,
5918
5948
  {
5919
5949
  id,
@@ -5927,28 +5957,28 @@ function ToggleGroupRoot({
5927
5957
  }
5928
5958
  var RadioGroup;
5929
5959
  ((RadioGroup2) => {
5930
- RadioGroup2.Root = (0, import_react56.memo)(ToggleGroupRoot);
5931
- RadioGroup2.Item = (0, import_react56.memo)(ToggleGroupItem);
5960
+ RadioGroup2.Root = (0, import_react57.memo)(ToggleGroupRoot);
5961
+ RadioGroup2.Item = (0, import_react57.memo)(ToggleGroupItem);
5932
5962
  })(RadioGroup || (RadioGroup = {}));
5933
5963
 
5934
5964
  // src/components/Select.tsx
5935
5965
  var import_noya_utils10 = require("@noya-app/noya-utils");
5936
- var import_react57 = __toESM(require("react"));
5966
+ var import_react58 = __toESM(require("react"));
5937
5967
  var import_styled_components32 = __toESM(require("styled-components"));
5938
- var SelectContext = (0, import_react57.createContext)(void 0);
5939
- var SelectOption = (0, import_react57.memo)(function SelectOption2({
5968
+ var SelectContext = (0, import_react58.createContext)(void 0);
5969
+ var SelectOption = (0, import_react58.memo)(function SelectOption2({
5940
5970
  value,
5941
5971
  title,
5942
5972
  onSelect
5943
5973
  }) {
5944
- const { addListener, removeListener } = (0, import_react57.useContext)(SelectContext);
5945
- (0, import_react57.useEffect)(() => {
5974
+ const { addListener, removeListener } = (0, import_react58.useContext)(SelectContext);
5975
+ (0, import_react58.useEffect)(() => {
5946
5976
  if (!onSelect)
5947
5977
  return;
5948
5978
  addListener(value, onSelect);
5949
5979
  return () => removeListener(value);
5950
5980
  }, [addListener, onSelect, removeListener, value]);
5951
- return /* @__PURE__ */ import_react57.default.createElement("option", { value }, title ?? value);
5981
+ return /* @__PURE__ */ import_react58.default.createElement("option", { value }, title ?? value);
5952
5982
  });
5953
5983
  var createChevronSVGString = (0, import_noya_utils10.memoize)(
5954
5984
  (color) => `
@@ -5983,7 +6013,7 @@ var SelectElement = import_styled_components32.default.select(
5983
6013
  borderRadius: "4px",
5984
6014
  paddingTop: "4px",
5985
6015
  paddingBottom: "4px",
5986
- paddingLeft: "8px",
6016
+ paddingLeft: "6px",
5987
6017
  paddingRight: "23px",
5988
6018
  background: [
5989
6019
  `calc(100% - 6px) / 15px url("data:image/svg+xml;utf8,${createChevronSVGString(
@@ -6010,7 +6040,7 @@ var SelectLabel = import_styled_components32.default.label(({ theme }) => ({
6010
6040
  justifyContent: "end",
6011
6041
  paddingRight: "24px"
6012
6042
  }));
6013
- var Select = (0, import_react57.memo)(function Select2({
6043
+ var Select = (0, import_react58.memo)(function Select2({
6014
6044
  id,
6015
6045
  flex,
6016
6046
  value,
@@ -6021,8 +6051,8 @@ var Select = (0, import_react57.memo)(function Select2({
6021
6051
  const getTitle = "options" in rest ? rest.getTitle : void 0;
6022
6052
  const onChange = "options" in rest ? rest.onChange : void 0;
6023
6053
  const children = "options" in rest ? void 0 : rest.children;
6024
- const optionElements = (0, import_react57.useMemo)(
6025
- () => options ? options.map((option, index) => /* @__PURE__ */ import_react57.default.createElement(
6054
+ const optionElements = (0, import_react58.useMemo)(
6055
+ () => options ? options.map((option, index) => /* @__PURE__ */ import_react58.default.createElement(
6026
6056
  SelectOption,
6027
6057
  {
6028
6058
  key: option,
@@ -6033,36 +6063,36 @@ var Select = (0, import_react57.memo)(function Select2({
6033
6063
  )) : children,
6034
6064
  [children, getTitle, onChange, options]
6035
6065
  );
6036
- const listeners = (0, import_react57.useRef)(/* @__PURE__ */ new Map());
6037
- const contextValue = (0, import_react57.useMemo)(
6066
+ const listeners = (0, import_react58.useRef)(/* @__PURE__ */ new Map());
6067
+ const contextValue = (0, import_react58.useMemo)(
6038
6068
  () => ({
6039
6069
  addListener: (value2, listener) => listeners.current.set(value2, listener),
6040
6070
  removeListener: (value2) => listeners.current.delete(value2)
6041
6071
  }),
6042
6072
  []
6043
6073
  );
6044
- return /* @__PURE__ */ import_react57.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react57.default.createElement(SelectContainer, { $flex: flex }, /* @__PURE__ */ import_react57.default.createElement(
6074
+ return /* @__PURE__ */ import_react58.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react58.default.createElement(SelectContainer, { $flex: flex }, /* @__PURE__ */ import_react58.default.createElement(
6045
6075
  SelectElement,
6046
6076
  {
6047
6077
  id,
6048
6078
  $flex: flex,
6049
6079
  value,
6050
- onChange: (0, import_react57.useCallback)(
6080
+ onChange: (0, import_react58.useCallback)(
6051
6081
  (event) => listeners.current.get(event.target.value)?.(),
6052
6082
  [listeners]
6053
6083
  ),
6054
6084
  onPointerDown: (event) => event.stopPropagation()
6055
6085
  },
6056
6086
  optionElements
6057
- )), label && /* @__PURE__ */ import_react57.default.createElement(SelectLabel, { htmlFor: id }, label));
6087
+ )), label && /* @__PURE__ */ import_react58.default.createElement(SelectLabel, { htmlFor: id }, label));
6058
6088
  });
6059
6089
 
6060
6090
  // src/components/SelectMenu.tsx
6061
6091
  var import_noya_icons6 = require("@noya-app/noya-icons");
6062
6092
  var Select3 = __toESM(require("@radix-ui/react-select"));
6063
- var import_react58 = __toESM(require("react"));
6093
+ var import_react59 = __toESM(require("react"));
6064
6094
  var import_styled_components33 = require("styled-components");
6065
- var SelectMenu = (0, import_react58.memo)(function SelectMenu2({
6095
+ var SelectMenu = (0, import_react59.memo)(function SelectMenu2({
6066
6096
  id,
6067
6097
  style: style3,
6068
6098
  className,
@@ -6075,23 +6105,23 @@ var SelectMenu = (0, import_react58.memo)(function SelectMenu2({
6075
6105
  (item) => typeof item !== "string" && item.value === value
6076
6106
  );
6077
6107
  const icon = selectedItem?.icon;
6078
- return /* @__PURE__ */ import_react58.default.createElement(Select3.Root, { value, onValueChange: onSelect }, /* @__PURE__ */ import_react58.default.createElement(Select3.SelectTrigger, { asChild: true }, /* @__PURE__ */ import_react58.default.createElement(Button, { id, style: style3, className }, icon && /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, icon, /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react58.default.createElement(Select3.Value, { placeholder }), /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react58.default.createElement(import_noya_icons6.DropdownChevronIcon, null))), /* @__PURE__ */ import_react58.default.createElement(Select3.Portal, null, /* @__PURE__ */ import_react58.default.createElement(SelectContent, null, /* @__PURE__ */ import_react58.default.createElement(SelectViewport, null, menuItems.map((menuItem) => {
6108
+ return /* @__PURE__ */ import_react59.default.createElement(Select3.Root, { value, onValueChange: onSelect }, /* @__PURE__ */ import_react59.default.createElement(Select3.SelectTrigger, { asChild: true }, /* @__PURE__ */ import_react59.default.createElement(Button, { id, style: style3, className }, icon && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react59.default.createElement(Select3.Value, { placeholder }), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react59.default.createElement(import_noya_icons6.DropdownChevronIcon, null))), /* @__PURE__ */ import_react59.default.createElement(Select3.Portal, null, /* @__PURE__ */ import_react59.default.createElement(SelectContent, null, /* @__PURE__ */ import_react59.default.createElement(SelectViewport, null, menuItems.map((menuItem) => {
6079
6109
  if (typeof menuItem === "string") {
6080
- return /* @__PURE__ */ import_react58.default.createElement(StyledSeparator, null);
6110
+ return /* @__PURE__ */ import_react59.default.createElement(StyledSeparator, null);
6081
6111
  }
6082
6112
  const value2 = menuItem.value ?? "";
6083
- return /* @__PURE__ */ import_react58.default.createElement(SelectItem, { key: value2, value: value2, icon: menuItem.icon }, menuItem.title ?? value2);
6113
+ return /* @__PURE__ */ import_react59.default.createElement(SelectItem, { key: value2, value: value2, icon: menuItem.icon }, menuItem.title ?? value2);
6084
6114
  })))));
6085
6115
  });
6086
6116
  var SelectContent = (0, import_styled_components33.styled)(Select3.Content)(styles.contentStyle);
6087
6117
  var SelectViewport = (0, import_styled_components33.styled)(Select3.Viewport)({});
6088
- var SelectItem = import_react58.default.forwardRef(
6118
+ var SelectItem = import_react59.default.forwardRef(
6089
6119
  ({
6090
6120
  children,
6091
6121
  icon,
6092
6122
  ...props
6093
6123
  }, forwardedRef) => {
6094
- return /* @__PURE__ */ import_react58.default.createElement(StyledItem2, { ...props, ref: forwardedRef }, icon && /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, icon, /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react58.default.createElement(Select3.ItemText, null, children));
6124
+ return /* @__PURE__ */ import_react59.default.createElement(StyledItem2, { ...props, ref: forwardedRef }, icon && /* @__PURE__ */ import_react59.default.createElement(import_react59.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react59.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react59.default.createElement(Select3.ItemText, null, children));
6095
6125
  }
6096
6126
  );
6097
6127
  var StyledItem2 = (0, import_styled_components33.styled)(Select3.Item)(styles.itemStyle);
@@ -6099,7 +6129,7 @@ var StyledSeparator = (0, import_styled_components33.styled)(Select3.Separator)(
6099
6129
 
6100
6130
  // src/components/Slider.tsx
6101
6131
  var RadixSlider = __toESM(require("@radix-ui/react-slider"));
6102
- var import_react59 = __toESM(require("react"));
6132
+ var import_react60 = __toESM(require("react"));
6103
6133
  var import_styled_components34 = __toESM(require("styled-components"));
6104
6134
  var StyledSlider = (0, import_styled_components34.default)(RadixSlider.Root)({
6105
6135
  flex: "1",
@@ -6140,17 +6170,17 @@ var Slider = function Slider2({
6140
6170
  min,
6141
6171
  max
6142
6172
  }) {
6143
- const arrayValue = (0, import_react59.useMemo)(
6173
+ const arrayValue = (0, import_react60.useMemo)(
6144
6174
  () => [Math.min(Math.max(value, min), max)],
6145
6175
  [value, min, max]
6146
6176
  );
6147
- const handleValueChange = (0, import_react59.useCallback)(
6177
+ const handleValueChange = (0, import_react60.useCallback)(
6148
6178
  (arrayValue2) => {
6149
6179
  onValueChange(arrayValue2[0]);
6150
6180
  },
6151
6181
  [onValueChange]
6152
6182
  );
6153
- return /* @__PURE__ */ import_react59.default.createElement(
6183
+ return /* @__PURE__ */ import_react60.default.createElement(
6154
6184
  StyledSlider,
6155
6185
  {
6156
6186
  min,
@@ -6159,14 +6189,14 @@ var Slider = function Slider2({
6159
6189
  value: arrayValue,
6160
6190
  onValueChange: handleValueChange
6161
6191
  },
6162
- /* @__PURE__ */ import_react59.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react59.default.createElement(StyledRange, null)),
6163
- /* @__PURE__ */ import_react59.default.createElement(StyledThumb2, null)
6192
+ /* @__PURE__ */ import_react60.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react60.default.createElement(StyledRange, null)),
6193
+ /* @__PURE__ */ import_react60.default.createElement(StyledThumb2, null)
6164
6194
  );
6165
6195
  };
6166
6196
 
6167
6197
  // src/components/Switch.tsx
6168
6198
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
6169
- var import_react60 = __toESM(require("react"));
6199
+ var import_react61 = __toESM(require("react"));
6170
6200
  var import_styled_components35 = __toESM(require("styled-components"));
6171
6201
  var SwitchRoot = (0, import_styled_components35.default)(SwitchPrimitive.Root)(({ theme, $colorScheme }) => ({
6172
6202
  all: "unset",
@@ -6201,7 +6231,7 @@ var Switch = function Switch2({
6201
6231
  onChange,
6202
6232
  colorScheme = "normal"
6203
6233
  }) {
6204
- return /* @__PURE__ */ import_react60.default.createElement(
6234
+ return /* @__PURE__ */ import_react61.default.createElement(
6205
6235
  SwitchRoot,
6206
6236
  {
6207
6237
  $colorScheme: colorScheme,
@@ -6210,62 +6240,62 @@ var Switch = function Switch2({
6210
6240
  onChange(newValue);
6211
6241
  }
6212
6242
  },
6213
- /* @__PURE__ */ import_react60.default.createElement(SwitchThumb, null)
6243
+ /* @__PURE__ */ import_react61.default.createElement(SwitchThumb, null)
6214
6244
  );
6215
6245
  };
6216
6246
 
6217
6247
  // src/components/TreeView.tsx
6218
- var import_react61 = __toESM(require("react"));
6219
- var TreeRow = (0, import_react61.forwardRef)(function TreeRow2({
6248
+ var import_react62 = __toESM(require("react"));
6249
+ var TreeRow = (0, import_react62.forwardRef)(function TreeRow2({
6220
6250
  icon,
6221
6251
  expanded,
6222
6252
  onClickChevron,
6223
6253
  children,
6224
6254
  ...rest
6225
6255
  }, forwardedRef) {
6226
- const { expandable } = (0, import_react61.useContext)(ListView.RowContext);
6227
- const handleClickChevron = (0, import_react61.useCallback)(
6256
+ const { expandable } = (0, import_react62.useContext)(ListView.RowContext);
6257
+ const handleClickChevron = (0, import_react62.useCallback)(
6228
6258
  (event) => {
6229
6259
  event.stopPropagation();
6230
6260
  onClickChevron?.({ altKey: event.altKey });
6231
6261
  },
6232
6262
  [onClickChevron]
6233
6263
  );
6234
- return /* @__PURE__ */ import_react61.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react61.default.createElement(
6264
+ return /* @__PURE__ */ import_react62.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react62.default.createElement(import_react62.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react62.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react62.default.createElement(
6235
6265
  IconButton,
6236
6266
  {
6237
6267
  iconName: expanded ? "ChevronDownIcon2" : "ChevronRightIcon2",
6238
6268
  onClick: handleClickChevron,
6239
6269
  selected: rest.selected
6240
6270
  }
6241
- ), /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, icon, /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 10 })), children);
6271
+ ), /* @__PURE__ */ import_react62.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react62.default.createElement(import_react62.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react62.default.createElement(Spacer.Horizontal, { size: 10 })), children);
6242
6272
  });
6243
6273
  var TreeView;
6244
6274
  ((TreeView2) => {
6245
6275
  TreeView2.Root = ListView.Root;
6246
6276
  TreeView2.RowTitle = ListView.RowTitle;
6247
6277
  TreeView2.EditableRowTitle = ListView.EditableRowTitle;
6248
- TreeView2.Row = (0, import_react61.memo)(TreeRow);
6278
+ TreeView2.Row = (0, import_react62.memo)(TreeRow);
6249
6279
  })(TreeView || (TreeView = {}));
6250
6280
 
6251
6281
  // src/components/WorkspaceLayout.tsx
6252
6282
  var import_noya_keymap5 = require("@noya-app/noya-keymap");
6253
- var import_react64 = __toESM(require("react"));
6283
+ var import_react65 = __toESM(require("react"));
6254
6284
  var import_react_resizable_panels = require("react-resizable-panels");
6255
6285
 
6256
6286
  // src/hooks/usePreservePanelSize.tsx
6257
- var import_react63 = require("react");
6287
+ var import_react64 = require("react");
6258
6288
 
6259
6289
  // src/hooks/useWindowSize.tsx
6260
- var import_react62 = require("react");
6290
+ var import_react63 = require("react");
6261
6291
  function useWindowSize() {
6262
- const [size2, setSize] = (0, import_react62.useState)(
6292
+ const [size2, setSize] = (0, import_react63.useState)(
6263
6293
  typeof window === "undefined" ? { width: 0, height: 0 } : {
6264
6294
  width: window.innerWidth,
6265
6295
  height: window.innerHeight
6266
6296
  }
6267
6297
  );
6268
- (0, import_react62.useEffect)(() => {
6298
+ (0, import_react63.useEffect)(() => {
6269
6299
  const handleResize = () => setSize({
6270
6300
  width: window.innerWidth,
6271
6301
  height: window.innerHeight
@@ -6283,8 +6313,8 @@ var RIGHT_SIDEBAR_ID = "editor-right-sidebar";
6283
6313
  var CONTENT_AREA_ID = "editor-content-area";
6284
6314
  function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
6285
6315
  const windowSize = useWindowSize();
6286
- const layoutRef = (0, import_react63.useRef)();
6287
- (0, import_react63.useLayoutEffect)(() => {
6316
+ const layoutRef = (0, import_react64.useRef)();
6317
+ (0, import_react64.useLayoutEffect)(() => {
6288
6318
  const panelGroup = document.querySelector(
6289
6319
  `[data-panel-group-id="${EDITOR_PANEL_GROUP_ID}"]`
6290
6320
  );
@@ -6327,7 +6357,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
6327
6357
  panelGroupObserver.disconnect();
6328
6358
  };
6329
6359
  }, [panelGroupRef, setPanelLayoutState]);
6330
- (0, import_react63.useLayoutEffect)(() => {
6360
+ (0, import_react64.useLayoutEffect)(() => {
6331
6361
  if (!layoutRef.current)
6332
6362
  return;
6333
6363
  const {
@@ -6387,7 +6417,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
6387
6417
  }
6388
6418
 
6389
6419
  // src/components/WorkspaceLayout.tsx
6390
- var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6420
+ var WorkspaceLayout = (0, import_react65.forwardRef)(function WorkspaceLayout2({
6391
6421
  autoSavePrefix,
6392
6422
  leftSidebarContent: leftPanelContent,
6393
6423
  children: centerPanelContent,
@@ -6412,12 +6442,12 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6412
6442
  const rightSidebarPercentage = getPercentage(rightSidebarInitialSize);
6413
6443
  const leftSidebarMinPercentage = leftSidebarMinSize !== void 0 ? getPercentage(leftSidebarMinSize) : void 0;
6414
6444
  const rightSidebarMinPercentage = rightSidebarMinSize !== void 0 ? getPercentage(rightSidebarMinSize) : void 0;
6415
- const panelGroupRef = (0, import_react64.useRef)(null);
6416
- const leftSidebarRef = (0, import_react64.useRef)(null);
6417
- const rightSidebarRef = (0, import_react64.useRef)(null);
6445
+ const panelGroupRef = (0, import_react65.useRef)(null);
6446
+ const leftSidebarRef = (0, import_react65.useRef)(null);
6447
+ const rightSidebarRef = (0, import_react65.useRef)(null);
6418
6448
  usePreservePanelSize(panelGroupRef, onChangeLayoutState);
6419
6449
  const theme = useDesignSystemTheme();
6420
- (0, import_react64.useImperativeHandle)(forwardedRef, () => ({
6450
+ (0, import_react65.useImperativeHandle)(forwardedRef, () => ({
6421
6451
  setLeftSidebarExpanded: (expanded) => {
6422
6452
  if (expanded) {
6423
6453
  leftSidebarRef.current?.expand();
@@ -6474,7 +6504,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6474
6504
  }
6475
6505
  });
6476
6506
  const centerPanelPercentage = 100 - (leftPanelContent ? leftSidebarPercentage : 0) - (rightPanelContent ? rightSidebarPercentage : 0);
6477
- return /* @__PURE__ */ import_react64.default.createElement(
6507
+ return /* @__PURE__ */ import_react65.default.createElement(
6478
6508
  "div",
6479
6509
  {
6480
6510
  id,
@@ -6486,7 +6516,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6486
6516
  ...style3
6487
6517
  }
6488
6518
  },
6489
- /* @__PURE__ */ import_react64.default.createElement(
6519
+ /* @__PURE__ */ import_react65.default.createElement(
6490
6520
  import_react_resizable_panels.PanelGroup,
6491
6521
  {
6492
6522
  ref: panelGroupRef,
@@ -6495,7 +6525,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6495
6525
  autoSaveId: autoSavePrefix ? `${autoSavePrefix}--${EDITOR_PANEL_GROUP_ID}` : void 0,
6496
6526
  style: { flex: "1" }
6497
6527
  },
6498
- hasLeftSidebar && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(
6528
+ hasLeftSidebar && /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, /* @__PURE__ */ import_react65.default.createElement(
6499
6529
  import_react_resizable_panels.Panel,
6500
6530
  {
6501
6531
  id: LEFT_SIDEBAR_ID,
@@ -6512,7 +6542,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6512
6542
  }
6513
6543
  },
6514
6544
  leftPanelContent
6515
- ), /* @__PURE__ */ import_react64.default.createElement(
6545
+ ), /* @__PURE__ */ import_react65.default.createElement(
6516
6546
  import_react_resizable_panels.PanelResizeHandle,
6517
6547
  {
6518
6548
  style: {
@@ -6523,7 +6553,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6523
6553
  }
6524
6554
  }
6525
6555
  )),
6526
- /* @__PURE__ */ import_react64.default.createElement(
6556
+ /* @__PURE__ */ import_react65.default.createElement(
6527
6557
  import_react_resizable_panels.Panel,
6528
6558
  {
6529
6559
  id: CONTENT_AREA_ID,
@@ -6538,7 +6568,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6538
6568
  },
6539
6569
  centerPanelContent
6540
6570
  ),
6541
- hasRightSidebar && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(
6571
+ hasRightSidebar && /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, /* @__PURE__ */ import_react65.default.createElement(
6542
6572
  import_react_resizable_panels.PanelResizeHandle,
6543
6573
  {
6544
6574
  style: {
@@ -6548,7 +6578,7 @@ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6548
6578
  backgroundColor: theme.colors.divider
6549
6579
  }
6550
6580
  }
6551
- ), /* @__PURE__ */ import_react64.default.createElement(
6581
+ ), /* @__PURE__ */ import_react65.default.createElement(
6552
6582
  import_react_resizable_panels.Panel,
6553
6583
  {
6554
6584
  id: RIGHT_SIDEBAR_ID,
@@ -6611,7 +6641,7 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
6611
6641
 
6612
6642
  // src/components/ArrayController.tsx
6613
6643
  var import_noya_utils11 = require("@noya-app/noya-utils");
6614
- var import_react66 = __toESM(require("react"));
6644
+ var import_react67 = __toESM(require("react"));
6615
6645
  var import_styled_components37 = __toESM(require("styled-components"));
6616
6646
 
6617
6647
  // src/components/InspectorPrimitives.tsx
@@ -6630,7 +6660,7 @@ __export(InspectorPrimitives_exports, {
6630
6660
  Title: () => Title3,
6631
6661
  VerticalSeparator: () => VerticalSeparator
6632
6662
  });
6633
- var import_react65 = __toESM(require("react"));
6663
+ var import_react66 = __toESM(require("react"));
6634
6664
  var import_styled_components36 = __toESM(require("styled-components"));
6635
6665
  var Section = import_styled_components36.default.div(({ theme, $padding = "10px", $gap }) => ({
6636
6666
  flex: "0 0 auto",
@@ -6677,8 +6707,8 @@ var Checkbox = import_styled_components36.default.input(({ theme }) => ({
6677
6707
  var Text3 = import_styled_components36.default.span(({ theme }) => ({
6678
6708
  ...theme.textStyles.small
6679
6709
  }));
6680
- var VerticalSeparator = () => /* @__PURE__ */ import_react65.default.createElement(Spacer.Vertical, { size: (0, import_styled_components36.useTheme)().sizes.inspector.verticalSeparator });
6681
- var HorizontalSeparator = () => /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components36.useTheme)().sizes.inspector.horizontalSeparator });
6710
+ var VerticalSeparator = () => /* @__PURE__ */ import_react66.default.createElement(Spacer.Vertical, { size: (0, import_styled_components36.useTheme)().sizes.inspector.verticalSeparator });
6711
+ var HorizontalSeparator = () => /* @__PURE__ */ import_react66.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components36.useTheme)().sizes.inspector.horizontalSeparator });
6682
6712
  var SliderRowLabel = import_styled_components36.default.span(({ theme }) => ({
6683
6713
  ...theme.textStyles.small,
6684
6714
  color: theme.colors.textMuted,
@@ -6698,7 +6728,7 @@ var RowLabel = import_styled_components36.default.span(({ theme, $textStyle }) =
6698
6728
  // Button height
6699
6729
  alignItems: "center"
6700
6730
  }));
6701
- var LabeledRow = (0, import_react65.memo)(function LabeledRow2({
6731
+ var LabeledRow = (0, import_react66.memo)(function LabeledRow2({
6702
6732
  id,
6703
6733
  children,
6704
6734
  label,
@@ -6706,13 +6736,13 @@ var LabeledRow = (0, import_react65.memo)(function LabeledRow2({
6706
6736
  gap,
6707
6737
  right
6708
6738
  }) {
6709
- return /* @__PURE__ */ import_react65.default.createElement(Row2, { id }, /* @__PURE__ */ import_react65.default.createElement(Column, null, /* @__PURE__ */ import_react65.default.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react65.default.createElement(Row2, { $gap: gap }, children)));
6739
+ return /* @__PURE__ */ import_react66.default.createElement(Row2, { id }, /* @__PURE__ */ import_react66.default.createElement(Column, null, /* @__PURE__ */ import_react66.default.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react66.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react66.default.createElement(Row2, { $gap: gap }, children)));
6710
6740
  });
6711
- var LabeledSliderRow = (0, import_react65.memo)(function LabeledRow3({
6741
+ var LabeledSliderRow = (0, import_react66.memo)(function LabeledRow3({
6712
6742
  children,
6713
6743
  label
6714
6744
  }) {
6715
- return /* @__PURE__ */ import_react65.default.createElement(Row2, null, /* @__PURE__ */ import_react65.default.createElement(Column, null, /* @__PURE__ */ import_react65.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react65.default.createElement(Row2, null, children)));
6745
+ return /* @__PURE__ */ import_react66.default.createElement(Row2, null, /* @__PURE__ */ import_react66.default.createElement(Column, null, /* @__PURE__ */ import_react66.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react66.default.createElement(Row2, null, children)));
6716
6746
  });
6717
6747
 
6718
6748
  // src/components/ArrayController.tsx
@@ -6725,7 +6755,7 @@ var ElementRow = import_styled_components37.default.div({
6725
6755
  var ItemContainer2 = import_styled_components37.default.div({
6726
6756
  position: "relative"
6727
6757
  });
6728
- var ArrayController = (0, import_react66.memo)(function ArrayController2({
6758
+ var ArrayController = (0, import_react67.memo)(function ArrayController2({
6729
6759
  id,
6730
6760
  items,
6731
6761
  title,
@@ -6743,12 +6773,12 @@ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6743
6773
  }) {
6744
6774
  const iconColor = (0, import_styled_components37.useTheme)().colors.icon;
6745
6775
  const primaryLightColor = (0, import_styled_components37.useTheme)().colors.primaryLight;
6746
- const keys = (0, import_react66.useMemo)(
6776
+ const keys = (0, import_react67.useMemo)(
6747
6777
  () => items.map((item, index) => getKey?.(item) ?? index.toString()),
6748
6778
  [getKey, items]
6749
6779
  );
6750
6780
  const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
6751
- const handleMoveItem = (0, import_react66.useCallback)(
6781
+ const handleMoveItem = (0, import_react67.useCallback)(
6752
6782
  (sourceIndex, destinationIndex, position) => {
6753
6783
  if (reversed) {
6754
6784
  if (position === "above") {
@@ -6765,11 +6795,11 @@ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6765
6795
  [onMoveItem, reversed]
6766
6796
  );
6767
6797
  const renderRow = (index) => {
6768
- return /* @__PURE__ */ import_react66.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
6798
+ return /* @__PURE__ */ import_react67.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
6769
6799
  };
6770
- return /* @__PURE__ */ import_react66.default.createElement(Section, { id, $padding: padding, $gap: "2px" }, /* @__PURE__ */ import_react66.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react66.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react66.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react66.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
6800
+ return /* @__PURE__ */ import_react67.default.createElement(Section, { id, $padding: padding, $gap: "2px" }, /* @__PURE__ */ import_react67.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react67.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react67.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react67.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
6771
6801
  [
6772
- onClickTrash && /* @__PURE__ */ import_react66.default.createElement(
6802
+ onClickTrash && /* @__PURE__ */ import_react67.default.createElement(
6773
6803
  IconButton,
6774
6804
  {
6775
6805
  id: `${id}-trash`,
@@ -6778,7 +6808,7 @@ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6778
6808
  onClick: onClickTrash
6779
6809
  }
6780
6810
  ),
6781
- onClickExpand && /* @__PURE__ */ import_react66.default.createElement(
6811
+ onClickExpand && /* @__PURE__ */ import_react67.default.createElement(
6782
6812
  IconButton,
6783
6813
  {
6784
6814
  id: `${id}-gear`,
@@ -6787,7 +6817,7 @@ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6787
6817
  onClick: onClickExpand
6788
6818
  }
6789
6819
  ),
6790
- onClickPlus && /* @__PURE__ */ import_react66.default.createElement(
6820
+ onClickPlus && /* @__PURE__ */ import_react67.default.createElement(
6791
6821
  IconButton,
6792
6822
  {
6793
6823
  id: `${id}-add`,
@@ -6797,15 +6827,15 @@ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6797
6827
  }
6798
6828
  )
6799
6829
  ],
6800
- /* @__PURE__ */ import_react66.default.createElement(Spacer.Horizontal, { size: 8 })
6801
- )), /* @__PURE__ */ import_react66.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react66.default.createElement(
6830
+ /* @__PURE__ */ import_react67.default.createElement(Spacer.Horizontal, { size: 8 })
6831
+ )), /* @__PURE__ */ import_react67.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react67.default.createElement(
6802
6832
  Sortable.Root,
6803
6833
  {
6804
6834
  keys,
6805
6835
  renderOverlay: renderRow,
6806
6836
  onMoveItem: handleMoveItem
6807
6837
  },
6808
- indexes.map((index) => /* @__PURE__ */ import_react66.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react66.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react66.default.createElement(
6838
+ indexes.map((index) => /* @__PURE__ */ import_react67.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react67.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react67.default.createElement(
6809
6839
  ListView.DragIndicator,
6810
6840
  {
6811
6841
  $gap: 0,
@@ -6819,11 +6849,11 @@ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6819
6849
 
6820
6850
  // src/components/DimensionInput.tsx
6821
6851
  var import_noya_utils12 = require("@noya-app/noya-utils");
6822
- var import_react67 = __toESM(require("react"));
6852
+ var import_react68 = __toESM(require("react"));
6823
6853
  function getNewValue(value, mode, delta) {
6824
6854
  return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
6825
6855
  }
6826
- var DimensionInput = (0, import_react67.memo)(function DimensionInput2({
6856
+ var DimensionInput = (0, import_react68.memo)(function DimensionInput2({
6827
6857
  id,
6828
6858
  value,
6829
6859
  onSetValue,
@@ -6833,15 +6863,15 @@ var DimensionInput = (0, import_react67.memo)(function DimensionInput2({
6833
6863
  disabled,
6834
6864
  trigger = "submit"
6835
6865
  }) {
6836
- const handleNudgeValue = (0, import_react67.useCallback)(
6866
+ const handleNudgeValue = (0, import_react68.useCallback)(
6837
6867
  (value2) => onSetValue(value2, "adjust"),
6838
6868
  [onSetValue]
6839
6869
  );
6840
- const handleSetValue = (0, import_react67.useCallback)(
6870
+ const handleSetValue = (0, import_react68.useCallback)(
6841
6871
  (value2) => onSetValue(value2, "replace"),
6842
6872
  [onSetValue]
6843
6873
  );
6844
- return /* @__PURE__ */ import_react67.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react67.default.createElement(
6874
+ return /* @__PURE__ */ import_react68.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react68.default.createElement(
6845
6875
  InputField.NumberInput,
6846
6876
  {
6847
6877
  value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
@@ -6850,7 +6880,7 @@ var DimensionInput = (0, import_react67.memo)(function DimensionInput2({
6850
6880
  disabled,
6851
6881
  ...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
6852
6882
  }
6853
- ), label && /* @__PURE__ */ import_react67.default.createElement(InputField.Label, null, label));
6883
+ ), label && /* @__PURE__ */ import_react68.default.createElement(InputField.Label, null, label));
6854
6884
  });
6855
6885
  // Annotate the CommonJS export names for ESM import in node:
6856
6886
  0 && (module.exports = {