@noya-app/noya-designsystem 0.1.2 → 0.1.3

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
@@ -100,11 +100,8 @@ __export(src_exports, {
100
100
  fuzzyTokenize: () => fuzzyTokenize,
101
101
  getGradientBackground: () => getGradientBackground,
102
102
  getNewValue: () => getNewValue,
103
- isLeftButtonClicked: () => isLeftButtonClicked,
104
- isRightButtonClicked: () => isRightButtonClicked,
105
103
  lightTheme: () => light_exports,
106
104
  mediaQuery: () => mediaQuery,
107
- mergeEventHandlers: () => mergeEventHandlers,
108
105
  normalizeListDestinationIndex: () => normalizeListDestinationIndex,
109
106
  rgbaToSketchColor: () => rgbaToSketchColor,
110
107
  size: () => size,
@@ -375,11 +372,11 @@ var Button = (0, import_react4.forwardRef)(function Button2({
375
372
 
376
373
  // src/components/Chip.tsx
377
374
  var import_noya_icons3 = require("@noya-app/noya-icons");
378
- var import_react32 = __toESM(require("react"));
375
+ var import_react33 = __toESM(require("react"));
379
376
  var import_styled_components16 = __toESM(require("styled-components"));
380
377
 
381
378
  // src/contexts/DesignSystemConfiguration.tsx
382
- var import_react31 = __toESM(require("react"));
379
+ var import_react32 = __toESM(require("react"));
383
380
  var import_styled_components15 = require("styled-components");
384
381
 
385
382
  // src/components/Toast.tsx
@@ -467,7 +464,7 @@ var Toast = ({
467
464
  var ToastProvider = ({ children }) => /* @__PURE__ */ import_react6.default.createElement(ToastPrimitive.Provider, null, children, /* @__PURE__ */ import_react6.default.createElement(ToastViewport, null));
468
465
 
469
466
  // src/contexts/DialogContext.tsx
470
- var import_react30 = __toESM(require("react"));
467
+ var import_react31 = __toESM(require("react"));
471
468
  var import_styled_components14 = __toESM(require("styled-components"));
472
469
 
473
470
  // src/components/Dialog.tsx
@@ -761,28 +758,31 @@ var import_react13 = require("react");
761
758
  // ../noya-react-utils/src/hooks/useIsMounted.ts
762
759
  var import_react14 = require("react");
763
760
 
764
- // ../noya-react-utils/src/hooks/useLazyValue.ts
761
+ // ../noya-react-utils/src/hooks/useLateReference.ts
765
762
  var import_react15 = require("react");
766
763
 
767
- // ../noya-react-utils/src/hooks/useMutableState.ts
764
+ // ../noya-react-utils/src/hooks/useLazyValue.ts
768
765
  var import_react16 = require("react");
769
766
 
770
- // ../noya-react-utils/src/hooks/usePixelRatio.ts
767
+ // ../noya-react-utils/src/hooks/useMutableState.ts
771
768
  var import_react17 = require("react");
772
769
 
770
+ // ../noya-react-utils/src/hooks/usePixelRatio.ts
771
+ var import_react18 = require("react");
772
+
773
773
  // ../noya-react-utils/src/hooks/useShallowArray.ts
774
774
  var import_noya_utils3 = require("@noya-app/noya-utils");
775
- var import_react18 = require("react");
775
+ var import_react19 = require("react");
776
776
 
777
777
  // ../noya-react-utils/src/hooks/useStableCallback.ts
778
- var import_react19 = require("react");
778
+ var import_react20 = require("react");
779
779
 
780
780
  // ../noya-react-utils/src/hooks/useSystemColorScheme.ts
781
- var import_react20 = require("react");
781
+ var import_react21 = require("react");
782
782
 
783
783
  // ../noya-react-utils/src/hooks/useUrlHashParameters.ts
784
784
  var import_noya_utils4 = require("@noya-app/noya-utils");
785
- var import_react21 = require("react");
785
+ var import_react22 = require("react");
786
786
 
787
787
  // ../noya-react-utils/src/utils/assignRef.ts
788
788
  function assignRef(ref, value) {
@@ -794,7 +794,7 @@ function assignRef(ref, value) {
794
794
  }
795
795
 
796
796
  // src/components/InputField.tsx
797
- var import_react29 = __toESM(require("react"));
797
+ var import_react30 = __toESM(require("react"));
798
798
  var import_styled_components13 = __toESM(require("styled-components"));
799
799
 
800
800
  // src/utils/handleNudge.ts
@@ -825,25 +825,25 @@ function handleNudge(e) {
825
825
  var import_noya_icons = require("@noya-app/noya-icons");
826
826
  var import_noya_keymap2 = require("@noya-app/noya-keymap");
827
827
  var RadixDropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
828
- var import_react24 = __toESM(require("react"));
828
+ var import_react25 = __toESM(require("react"));
829
829
  var import_styled_components10 = __toESM(require("styled-components"));
830
830
 
831
831
  // src/components/internal/Menu.tsx
832
832
  var import_noya_keymap = require("@noya-app/noya-keymap");
833
- var import_react23 = __toESM(require("react"));
833
+ var import_react24 = __toESM(require("react"));
834
834
  var import_styled_components9 = __toESM(require("styled-components"));
835
835
 
836
836
  // src/utils/withSeparatorElements.ts
837
- var import_react22 = require("react");
837
+ var import_react23 = require("react");
838
838
  function createKey(key) {
839
839
  return `s-${key}`;
840
840
  }
841
841
  function withSeparatorElements(elements2, separator) {
842
- const childrenArray = import_react22.Children.toArray(elements2);
842
+ const childrenArray = import_react23.Children.toArray(elements2);
843
843
  for (let i = childrenArray.length - 1; i > 0; i--) {
844
- let sep = typeof separator === "function" ? separator() : (0, import_react22.isValidElement)(separator) ? (0, import_react22.cloneElement)(separator, { key: createKey(i) }) : separator;
845
- if ((0, import_react22.isValidElement)(sep) && sep.key == null) {
846
- sep = (0, import_react22.cloneElement)(sep, { key: createKey(i) });
844
+ let sep = typeof separator === "function" ? separator() : (0, import_react23.isValidElement)(separator) ? (0, import_react23.cloneElement)(separator, { key: createKey(i) }) : separator;
845
+ if ((0, import_react23.isValidElement)(sep) && sep.key == null) {
846
+ sep = (0, import_react23.cloneElement)(sep, { key: createKey(i) });
847
847
  }
848
848
  if (!sep || typeof sep === "boolean")
849
849
  continue;
@@ -943,12 +943,12 @@ var ShortcutElement = import_styled_components9.default.kbd(
943
943
  }
944
944
  })
945
945
  );
946
- var KeyboardShortcut = (0, import_react23.memo)(function KeyboardShortcut2({
946
+ var KeyboardShortcut = (0, import_react24.memo)(function KeyboardShortcut2({
947
947
  shortcut
948
948
  }) {
949
949
  const platform = useDesignSystemConfiguration().platform;
950
950
  const { keys, separator } = (0, import_noya_keymap.getShortcutDisplayParts)(shortcut, platform);
951
- const keyElements = keys.map((key) => /* @__PURE__ */ import_react23.default.createElement(
951
+ const keyElements = keys.map((key) => /* @__PURE__ */ import_react24.default.createElement(
952
952
  ShortcutElement,
953
953
  {
954
954
  key,
@@ -956,9 +956,9 @@ var KeyboardShortcut = (0, import_react23.memo)(function KeyboardShortcut2({
956
956
  },
957
957
  key
958
958
  ));
959
- return /* @__PURE__ */ import_react23.default.createElement(import_react23.default.Fragment, null, separator ? withSeparatorElements(
959
+ return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, separator ? withSeparatorElements(
960
960
  keyElements,
961
- /* @__PURE__ */ import_react23.default.createElement(ShortcutElement, null, separator)
961
+ /* @__PURE__ */ import_react24.default.createElement(ShortcutElement, null, separator)
962
962
  ) : keyElements);
963
963
  });
964
964
 
@@ -973,7 +973,7 @@ var CheckboxItemElement = (0, import_styled_components10.default)(RadixDropdownM
973
973
  var StyledItemIndicator = (0, import_styled_components10.default)(RadixDropdownMenu.ItemIndicator)(
974
974
  styles.itemIndicatorStyle
975
975
  );
976
- var DropdownMenuItem = (0, import_react24.memo)(function ContextMenuItem({
976
+ var DropdownMenuItem = (0, import_react25.memo)(function ContextMenuItem({
977
977
  value,
978
978
  children,
979
979
  onSelect,
@@ -984,34 +984,34 @@ var DropdownMenuItem = (0, import_react24.memo)(function ContextMenuItem({
984
984
  items,
985
985
  shortcut
986
986
  }) {
987
- const handleSelectItem = (0, import_react24.useCallback)(() => {
987
+ const handleSelectItem = (0, import_react25.useCallback)(() => {
988
988
  if (!value)
989
989
  return;
990
990
  onSelect(value);
991
991
  }, [onSelect, value]);
992
992
  if (checked) {
993
- return /* @__PURE__ */ import_react24.default.createElement(
993
+ return /* @__PURE__ */ import_react25.default.createElement(
994
994
  CheckboxItemElement,
995
995
  {
996
996
  checked,
997
997
  disabled,
998
998
  onSelect: handleSelectItem
999
999
  },
1000
- /* @__PURE__ */ import_react24.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react24.default.createElement(import_noya_icons.CheckIcon, null)),
1001
- icon && /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, icon, /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, { size: 8 })),
1000
+ /* @__PURE__ */ import_react25.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react25.default.createElement(import_noya_icons.CheckIcon, null)),
1001
+ icon && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, icon, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 8 })),
1002
1002
  children
1003
1003
  );
1004
1004
  }
1005
- const element = /* @__PURE__ */ import_react24.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, icon, /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react24.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react24.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react24.default.createElement(import_noya_icons.ChevronRightIcon, null)));
1005
+ const element = /* @__PURE__ */ import_react25.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, icon, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react25.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react25.default.createElement(import_noya_icons.ChevronRightIcon, null)));
1006
1006
  if (items && items.length > 0) {
1007
- return /* @__PURE__ */ import_react24.default.createElement(DropdownMenuRoot, { isNested: true, items, onSelect }, element);
1007
+ return /* @__PURE__ */ import_react25.default.createElement(DropdownMenuRoot, { isNested: true, items, onSelect }, element);
1008
1008
  } else {
1009
1009
  return element;
1010
1010
  }
1011
1011
  });
1012
1012
  var Content5 = (0, import_styled_components10.default)(RadixDropdownMenu.Content)(styles.contentStyle);
1013
1013
  var SubContent2 = (0, import_styled_components10.default)(RadixDropdownMenu.SubContent)(styles.contentStyle);
1014
- var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2({
1014
+ var DropdownMenuRoot = (0, import_react25.forwardRef)(function DropdownMenuRoot2({
1015
1015
  items,
1016
1016
  children,
1017
1017
  onSelect,
@@ -1024,7 +1024,7 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
1024
1024
  const hasCheckedItem = items.some(
1025
1025
  (item) => item !== SEPARATOR_ITEM && item.checked
1026
1026
  );
1027
- const keymap = (0, import_react24.useMemo)(
1027
+ const keymap = (0, import_react25.useMemo)(
1028
1028
  () => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
1029
1029
  [isNested, items, onSelect, shouldBindKeyboardShortcuts]
1030
1030
  );
@@ -1032,8 +1032,8 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
1032
1032
  const RootComponent = isNested ? RadixDropdownMenu.Sub : RadixDropdownMenu.Root;
1033
1033
  const TriggerComponent = isNested ? RadixDropdownMenu.SubTrigger : RadixDropdownMenu.Trigger;
1034
1034
  const ContentComponent = isNested ? SubContent2 : Content5;
1035
- const contentStyle = (0, import_react24.useMemo)(() => ({ zIndex: 1e3 }), []);
1036
- return /* @__PURE__ */ import_react24.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react24.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react24.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react24.default.createElement(
1035
+ const contentStyle = (0, import_react25.useMemo)(() => ({ zIndex: 1e3 }), []);
1036
+ return /* @__PURE__ */ import_react25.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react25.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react25.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react25.default.createElement(
1037
1037
  ContentComponent,
1038
1038
  {
1039
1039
  sideOffset: 4,
@@ -1042,7 +1042,7 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
1042
1042
  ...{ onCloseAutoFocus }
1043
1043
  },
1044
1044
  items.map(
1045
- (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react24.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react24.default.createElement(
1045
+ (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react25.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react25.default.createElement(
1046
1046
  DropdownMenuItem,
1047
1047
  {
1048
1048
  key: item.value ?? index,
@@ -1060,14 +1060,14 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
1060
1060
  )
1061
1061
  )));
1062
1062
  });
1063
- var DropdownMenu = (0, import_react24.memo)(DropdownMenuRoot);
1063
+ var DropdownMenu = (0, import_react25.memo)(DropdownMenuRoot);
1064
1064
 
1065
1065
  // src/components/internal/TextInput.tsx
1066
1066
  var import_react_compose_refs = require("@radix-ui/react-compose-refs");
1067
- var import_react26 = __toESM(require("react"));
1067
+ var import_react27 = __toESM(require("react"));
1068
1068
 
1069
1069
  // src/contexts/GlobalInputBlurContext.tsx
1070
- var import_react25 = require("react");
1070
+ var import_react26 = require("react");
1071
1071
  var defaultValue = /* @__PURE__ */ (() => {
1072
1072
  const listeners = [];
1073
1073
  const value = {
@@ -1088,14 +1088,14 @@ var defaultValue = /* @__PURE__ */ (() => {
1088
1088
  };
1089
1089
  return value;
1090
1090
  })();
1091
- var GlobalInputBlurContext = (0, import_react25.createContext)(defaultValue);
1091
+ var GlobalInputBlurContext = (0, import_react26.createContext)(defaultValue);
1092
1092
  var GlobalInputBlurProvider = GlobalInputBlurContext.Provider;
1093
1093
  var useGlobalInputBlur = () => {
1094
- return (0, import_react25.useContext)(GlobalInputBlurContext);
1094
+ return (0, import_react26.useContext)(GlobalInputBlurContext);
1095
1095
  };
1096
1096
  function useGlobalInputBlurListener(f) {
1097
1097
  const context = useGlobalInputBlur();
1098
- (0, import_react25.useEffect)(() => {
1098
+ (0, import_react26.useEffect)(() => {
1099
1099
  context.addListener(f);
1100
1100
  return () => {
1101
1101
  context.removeListener(f);
@@ -1107,8 +1107,8 @@ function useGlobalInputBlurTrigger() {
1107
1107
  }
1108
1108
 
1109
1109
  // src/components/internal/TextInput.tsx
1110
- var ReadOnlyTextInput = (0, import_react26.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
1111
- return /* @__PURE__ */ import_react26.default.createElement(
1110
+ var ReadOnlyTextInput = (0, import_react27.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
1111
+ return /* @__PURE__ */ import_react27.default.createElement(
1112
1112
  "input",
1113
1113
  {
1114
1114
  ref: forwardedRef,
@@ -1119,7 +1119,7 @@ var ReadOnlyTextInput = (0, import_react26.forwardRef)(function ReadOnlyTextInpu
1119
1119
  }
1120
1120
  );
1121
1121
  });
1122
- var ControlledTextInput = (0, import_react26.forwardRef)(function ControlledTextInput2({
1122
+ var ControlledTextInput = (0, import_react27.forwardRef)(function ControlledTextInput2({
1123
1123
  onKeyDown,
1124
1124
  value,
1125
1125
  onChange,
@@ -1128,28 +1128,28 @@ var ControlledTextInput = (0, import_react26.forwardRef)(function ControlledText
1128
1128
  onFocusCapture,
1129
1129
  ...rest
1130
1130
  }, forwardedRef) {
1131
- const handleBlur = (0, import_react26.useCallback)(
1131
+ const handleBlur = (0, import_react27.useCallback)(
1132
1132
  (event) => {
1133
1133
  onBlur?.(event);
1134
1134
  onFocusChange?.(false);
1135
1135
  },
1136
1136
  [onBlur, onFocusChange]
1137
1137
  );
1138
- const handleFocusCapture = (0, import_react26.useCallback)(
1138
+ const handleFocusCapture = (0, import_react27.useCallback)(
1139
1139
  (event) => {
1140
1140
  onFocusCapture?.(event);
1141
1141
  onFocusChange?.(true);
1142
1142
  },
1143
1143
  [onFocusCapture, onFocusChange]
1144
1144
  );
1145
- return /* @__PURE__ */ import_react26.default.createElement(
1145
+ return /* @__PURE__ */ import_react27.default.createElement(
1146
1146
  "input",
1147
1147
  {
1148
1148
  ref: forwardedRef,
1149
1149
  ...rest,
1150
1150
  value,
1151
1151
  onKeyDown,
1152
- onChange: (0, import_react26.useCallback)(
1152
+ onChange: (0, import_react27.useCallback)(
1153
1153
  (event) => onChange(event.target.value),
1154
1154
  [onChange]
1155
1155
  ),
@@ -1158,7 +1158,7 @@ var ControlledTextInput = (0, import_react26.forwardRef)(function ControlledText
1158
1158
  }
1159
1159
  );
1160
1160
  });
1161
- var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTextInput2({
1161
+ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTextInput2({
1162
1162
  onKeyDown,
1163
1163
  value,
1164
1164
  onSubmit,
@@ -1169,16 +1169,16 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
1169
1169
  submitAutomaticallyAfterDelay,
1170
1170
  ...rest
1171
1171
  }, forwardedRef) {
1172
- const ref = import_react26.default.useRef(null);
1173
- const latestValue = (0, import_react26.useRef)(value);
1172
+ const ref = import_react27.default.useRef(null);
1173
+ const latestValue = (0, import_react27.useRef)(value);
1174
1174
  latestValue.current = value;
1175
- const userDidEdit = (0, import_react26.useRef)(false);
1176
- const isSubmitTriggeredByEscapeKey = (0, import_react26.useRef)(false);
1177
- const [internalValue, setInternalValue] = (0, import_react26.useState)("");
1178
- (0, import_react26.useLayoutEffect)(() => {
1175
+ const userDidEdit = (0, import_react27.useRef)(false);
1176
+ const isSubmitTriggeredByEscapeKey = (0, import_react27.useRef)(false);
1177
+ const [internalValue, setInternalValue] = (0, import_react27.useState)("");
1178
+ (0, import_react27.useLayoutEffect)(() => {
1179
1179
  setInternalValue(value);
1180
1180
  }, [value]);
1181
- const handleSubmit = (0, import_react26.useCallback)(() => {
1181
+ const handleSubmit = (0, import_react27.useCallback)(() => {
1182
1182
  const submissionValue = isSubmitTriggeredByEscapeKey.current ? value : internalValue;
1183
1183
  isSubmitTriggeredByEscapeKey.current = false;
1184
1184
  if (submissionValue === value && !allowSubmittingWithSameValue)
@@ -1188,13 +1188,13 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
1188
1188
  setInternalValue(latestValue.current);
1189
1189
  }, [allowSubmittingWithSameValue, value, internalValue, onSubmit]);
1190
1190
  useGlobalInputBlurListener(
1191
- (0, import_react26.useCallback)(() => {
1191
+ (0, import_react27.useCallback)(() => {
1192
1192
  if (ref.current !== document.activeElement)
1193
1193
  return;
1194
1194
  handleSubmit();
1195
1195
  }, [handleSubmit])
1196
1196
  );
1197
- const handleKeyDown = (0, import_react26.useCallback)(
1197
+ const handleKeyDown = (0, import_react27.useCallback)(
1198
1198
  (event) => {
1199
1199
  if (event.key === "Enter") {
1200
1200
  handleSubmit();
@@ -1209,14 +1209,14 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
1209
1209
  },
1210
1210
  [onKeyDown, handleSubmit]
1211
1211
  );
1212
- const handleChange = (0, import_react26.useCallback)(
1212
+ const handleChange = (0, import_react27.useCallback)(
1213
1213
  (event) => {
1214
1214
  userDidEdit.current = true;
1215
1215
  setInternalValue(event.target.value);
1216
1216
  },
1217
1217
  []
1218
1218
  );
1219
- const handleBlur = (0, import_react26.useCallback)(
1219
+ const handleBlur = (0, import_react27.useCallback)(
1220
1220
  (event) => {
1221
1221
  onBlur?.(event);
1222
1222
  onFocusChange?.(false);
@@ -1224,19 +1224,19 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
1224
1224
  },
1225
1225
  [onBlur, onFocusChange, handleSubmit]
1226
1226
  );
1227
- const handleFocusCapture = (0, import_react26.useCallback)(
1227
+ const handleFocusCapture = (0, import_react27.useCallback)(
1228
1228
  (event) => {
1229
1229
  onFocusCapture?.(event);
1230
1230
  onFocusChange?.(true);
1231
1231
  },
1232
1232
  [onFocusCapture, onFocusChange]
1233
1233
  );
1234
- const autoSubmitTimeoutRef = (0, import_react26.useRef)(
1234
+ const autoSubmitTimeoutRef = (0, import_react27.useRef)(
1235
1235
  null
1236
1236
  );
1237
- const latestHandleSubmit = (0, import_react26.useRef)(handleSubmit);
1237
+ const latestHandleSubmit = (0, import_react27.useRef)(handleSubmit);
1238
1238
  latestHandleSubmit.current = handleSubmit;
1239
- (0, import_react26.useEffect)(() => {
1239
+ (0, import_react27.useEffect)(() => {
1240
1240
  if (submitAutomaticallyAfterDelay) {
1241
1241
  if (autoSubmitTimeoutRef.current) {
1242
1242
  clearTimeout(autoSubmitTimeoutRef.current);
@@ -1253,7 +1253,7 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
1253
1253
  }
1254
1254
  };
1255
1255
  }, [internalValue, submitAutomaticallyAfterDelay]);
1256
- return /* @__PURE__ */ import_react26.default.createElement(
1256
+ return /* @__PURE__ */ import_react27.default.createElement(
1257
1257
  "input",
1258
1258
  {
1259
1259
  ref: (0, import_react_compose_refs.composeRefs)(ref, forwardedRef),
@@ -1266,13 +1266,13 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
1266
1266
  }
1267
1267
  );
1268
1268
  });
1269
- var TextInput_default = (0, import_react26.forwardRef)(function TextInput(props, forwardedRef) {
1269
+ var TextInput_default = (0, import_react27.forwardRef)(function TextInput(props, forwardedRef) {
1270
1270
  const commonProps = {
1271
- onPointerDown: (0, import_react26.useCallback)(
1271
+ onPointerDown: (0, import_react27.useCallback)(
1272
1272
  (event) => event.stopPropagation(),
1273
1273
  []
1274
1274
  ),
1275
- onClick: (0, import_react26.useCallback)(
1275
+ onClick: (0, import_react27.useCallback)(
1276
1276
  (event) => event.stopPropagation(),
1277
1277
  []
1278
1278
  ),
@@ -1285,17 +1285,17 @@ var TextInput_default = (0, import_react26.forwardRef)(function TextInput(props,
1285
1285
  ...props
1286
1286
  };
1287
1287
  if ("readOnly" in commonProps) {
1288
- return /* @__PURE__ */ import_react26.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
1288
+ return /* @__PURE__ */ import_react27.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
1289
1289
  } else if ("onChange" in commonProps) {
1290
- return /* @__PURE__ */ import_react26.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
1290
+ return /* @__PURE__ */ import_react27.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
1291
1291
  } else {
1292
- return /* @__PURE__ */ import_react26.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
1292
+ return /* @__PURE__ */ import_react27.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
1293
1293
  }
1294
1294
  });
1295
1295
 
1296
1296
  // src/components/Popover.tsx
1297
1297
  var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
1298
- var import_react27 = __toESM(require("react"));
1298
+ var import_react28 = __toESM(require("react"));
1299
1299
  var import_styled_components11 = __toESM(require("styled-components"));
1300
1300
  var ContentElement = (0, import_styled_components11.default)(PopoverPrimitive.Content)(({ theme, variant }) => ({
1301
1301
  borderRadius: 4,
@@ -1342,7 +1342,7 @@ function Popover({
1342
1342
  onFocusOutside,
1343
1343
  onClickClose
1344
1344
  }) {
1345
- return /* @__PURE__ */ import_react27.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react27.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react27.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react27.default.createElement(
1345
+ return /* @__PURE__ */ import_react28.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react28.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react28.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react28.default.createElement(
1346
1346
  ContentElement,
1347
1347
  {
1348
1348
  variant,
@@ -1363,13 +1363,13 @@ function Popover({
1363
1363
  }
1364
1364
  },
1365
1365
  children,
1366
- showArrow && /* @__PURE__ */ import_react27.default.createElement(ArrowElement, null),
1367
- closable && /* @__PURE__ */ import_react27.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react27.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
1366
+ showArrow && /* @__PURE__ */ import_react28.default.createElement(ArrowElement, null),
1367
+ closable && /* @__PURE__ */ import_react28.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react28.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
1368
1368
  )));
1369
1369
  }
1370
1370
 
1371
1371
  // src/components/Stack.tsx
1372
- var import_react28 = __toESM(require("react"));
1372
+ var import_react29 = __toESM(require("react"));
1373
1373
  var import_styled_components12 = __toESM(require("styled-components"));
1374
1374
 
1375
1375
  // src/utils/breakpoints.ts
@@ -1395,15 +1395,15 @@ var Element = import_styled_components12.default.div(({ styleProps, breakpoints
1395
1395
  ...styleProps,
1396
1396
  ...mergeBreakpoints(breakpoints || [])
1397
1397
  }));
1398
- var StackBase = (0, import_react28.forwardRef)(function StackBase2({ id, as, children, separator, breakpoints, tabIndex, href, ...rest }, forwardedRef) {
1399
- const elements2 = separator ? withSeparatorElements(import_react28.Children.toArray(children), separator) : children;
1398
+ var StackBase = (0, import_react29.forwardRef)(function StackBase2({ id, as, children, separator, breakpoints, tabIndex, href, ...rest }, forwardedRef) {
1399
+ const elements2 = separator ? withSeparatorElements(import_react29.Children.toArray(children), separator) : children;
1400
1400
  const styleProps = {
1401
1401
  display: "flex",
1402
1402
  position: "relative",
1403
1403
  alignItems: "stretch",
1404
1404
  ...rest
1405
1405
  };
1406
- return /* @__PURE__ */ import_react28.default.createElement(
1406
+ return /* @__PURE__ */ import_react29.default.createElement(
1407
1407
  Element,
1408
1408
  {
1409
1409
  ref: forwardedRef,
@@ -1417,14 +1417,14 @@ var StackBase = (0, import_react28.forwardRef)(function StackBase2({ id, as, chi
1417
1417
  elements2
1418
1418
  );
1419
1419
  });
1420
- var VerticalStack = (0, import_react28.memo)(
1421
- (0, import_react28.forwardRef)(function VStack(props, forwardedRef) {
1422
- return /* @__PURE__ */ import_react28.default.createElement(StackBase, { ...props, flexDirection: "column", ref: forwardedRef });
1420
+ var VerticalStack = (0, import_react29.memo)(
1421
+ (0, import_react29.forwardRef)(function VStack(props, forwardedRef) {
1422
+ return /* @__PURE__ */ import_react29.default.createElement(StackBase, { ...props, flexDirection: "column", ref: forwardedRef });
1423
1423
  })
1424
1424
  );
1425
- var HorizontalStack = (0, import_react28.memo)(
1426
- (0, import_react28.forwardRef)(function HStack(props, forwardedRef) {
1427
- return /* @__PURE__ */ import_react28.default.createElement(StackBase, { ...props, flexDirection: "row", ref: forwardedRef });
1425
+ var HorizontalStack = (0, import_react29.memo)(
1426
+ (0, import_react29.forwardRef)(function HStack(props, forwardedRef) {
1427
+ return /* @__PURE__ */ import_react29.default.createElement(StackBase, { ...props, flexDirection: "row", ref: forwardedRef });
1428
1428
  })
1429
1429
  );
1430
1430
  var Stack = {
@@ -1433,7 +1433,7 @@ var Stack = {
1433
1433
  };
1434
1434
 
1435
1435
  // src/components/InputField.tsx
1436
- var InputFieldContext = (0, import_react29.createContext)({
1436
+ var InputFieldContext = (0, import_react30.createContext)({
1437
1437
  labelPosition: "end",
1438
1438
  labelSize: 6,
1439
1439
  hasLabel: false,
@@ -1461,11 +1461,11 @@ var LabelContainer = import_styled_components13.default.label(({ theme, labelPos
1461
1461
  paddingRight: hasDropdown ? "16px" : "6px"
1462
1462
  }
1463
1463
  }));
1464
- var InputFieldLabel = (0, import_react29.memo)(
1465
- (0, import_react29.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
1466
- const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react29.useContext)(InputFieldContext);
1467
- const ref = (0, import_react29.useRef)(null);
1468
- (0, import_react29.useLayoutEffect)(() => {
1464
+ var InputFieldLabel = (0, import_react30.memo)(
1465
+ (0, import_react30.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
1466
+ const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react30.useContext)(InputFieldContext);
1467
+ const ref = (0, import_react30.useRef)(null);
1468
+ (0, import_react30.useLayoutEffect)(() => {
1469
1469
  if (!setLabelWidth)
1470
1470
  return;
1471
1471
  const width = ref.current?.getBoundingClientRect().width;
@@ -1473,7 +1473,7 @@ var InputFieldLabel = (0, import_react29.memo)(
1473
1473
  return;
1474
1474
  setLabelWidth(width);
1475
1475
  }, [setLabelWidth]);
1476
- return /* @__PURE__ */ import_react29.default.createElement(
1476
+ return /* @__PURE__ */ import_react30.default.createElement(
1477
1477
  LabelContainer,
1478
1478
  {
1479
1479
  ref: (element) => {
@@ -1497,16 +1497,16 @@ var DropdownContainer = import_styled_components13.default.span(({ theme }) => (
1497
1497
  display: "flex",
1498
1498
  flexDirection: "column"
1499
1499
  }));
1500
- var InputFieldDropdownMenu = (0, import_react29.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
1501
- const { size: size2 } = (0, import_react29.useContext)(InputFieldContext);
1502
- const contentStyle = (0, import_react29.useMemo)(
1500
+ var InputFieldDropdownMenu = (0, import_react30.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
1501
+ const { size: size2 } = (0, import_react30.useContext)(InputFieldContext);
1502
+ const contentStyle = (0, import_react30.useMemo)(
1503
1503
  () => ({
1504
1504
  margin: "-4px 0",
1505
1505
  minHeight: size2 === "small" ? "15px" : void 0
1506
1506
  }),
1507
1507
  [size2]
1508
1508
  );
1509
- return /* @__PURE__ */ import_react29.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react29.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react29.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react29.default.createElement(import_noya_icons2.CaretDownIcon, null))));
1509
+ return /* @__PURE__ */ import_react30.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react30.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react30.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react30.default.createElement(import_noya_icons2.CaretDownIcon, null))));
1510
1510
  });
1511
1511
  var ButtonContainer = import_styled_components13.default.span(
1512
1512
  ({ theme, size: size2 }) => ({
@@ -1515,12 +1515,12 @@ var ButtonContainer = import_styled_components13.default.span(
1515
1515
  top: size2 === "large" ? "8px" : size2 === "medium" ? "4px" : "2px"
1516
1516
  })
1517
1517
  );
1518
- var InputFieldButton = (0, import_react29.memo)(function InputFieldButton2({
1518
+ var InputFieldButton = (0, import_react30.memo)(function InputFieldButton2({
1519
1519
  children,
1520
1520
  onClick
1521
1521
  }) {
1522
- const { size: size2, inputRef } = (0, import_react29.useContext)(InputFieldContext);
1523
- const defaultHandleClick = (0, import_react29.useCallback)(
1522
+ const { size: size2, inputRef } = (0, import_react30.useContext)(InputFieldContext);
1523
+ const defaultHandleClick = (0, import_react30.useCallback)(
1524
1524
  (event) => {
1525
1525
  if (inputRef && typeof inputRef !== "function") {
1526
1526
  inputRef.current?.focus();
@@ -1531,11 +1531,11 @@ var InputFieldButton = (0, import_react29.memo)(function InputFieldButton2({
1531
1531
  },
1532
1532
  [inputRef]
1533
1533
  );
1534
- const handlePointerDown = (0, import_react29.useCallback)((event) => {
1534
+ const handlePointerDown = (0, import_react30.useCallback)((event) => {
1535
1535
  event.preventDefault();
1536
1536
  event.stopPropagation();
1537
1537
  }, []);
1538
- return /* @__PURE__ */ import_react29.default.createElement(ButtonContainer, { size: size2 }, /* @__PURE__ */ import_react29.default.createElement(
1538
+ return /* @__PURE__ */ import_react30.default.createElement(ButtonContainer, { size: size2 }, /* @__PURE__ */ import_react30.default.createElement(
1539
1539
  Button,
1540
1540
  {
1541
1541
  variant: "floating",
@@ -1622,7 +1622,7 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default).wi
1622
1622
  }
1623
1623
  })
1624
1624
  );
1625
- var InputFieldInput = (0, import_react29.forwardRef)(function InputFieldInput2(props, forwardedRef) {
1625
+ var InputFieldInput = (0, import_react30.forwardRef)(function InputFieldInput2(props, forwardedRef) {
1626
1626
  const {
1627
1627
  labelPosition,
1628
1628
  labelSize,
@@ -1631,17 +1631,17 @@ var InputFieldInput = (0, import_react29.forwardRef)(function InputFieldInput2(p
1631
1631
  size: size2,
1632
1632
  onFocusChange,
1633
1633
  setInputRef
1634
- } = (0, import_react29.useContext)(InputFieldContext);
1635
- const handleFocusChange = (0, import_react29.useCallback)(
1634
+ } = (0, import_react30.useContext)(InputFieldContext);
1635
+ const handleFocusChange = (0, import_react30.useCallback)(
1636
1636
  (isFocused) => {
1637
1637
  onFocusChange(isFocused);
1638
1638
  },
1639
1639
  [onFocusChange]
1640
1640
  );
1641
- (0, import_react29.useLayoutEffect)(() => {
1641
+ (0, import_react30.useLayoutEffect)(() => {
1642
1642
  setInputRef?.(forwardedRef);
1643
1643
  }, [forwardedRef, setInputRef]);
1644
- return /* @__PURE__ */ import_react29.default.createElement(
1644
+ return /* @__PURE__ */ import_react30.default.createElement(
1645
1645
  InputElement,
1646
1646
  {
1647
1647
  ref: forwardedRef,
@@ -1663,8 +1663,8 @@ var InputFieldTypeahead = (props) => {
1663
1663
  hasLabel,
1664
1664
  size: size2,
1665
1665
  onFocusChange
1666
- } = (0, import_react29.useContext)(InputFieldContext);
1667
- return /* @__PURE__ */ import_react29.default.createElement(
1666
+ } = (0, import_react30.useContext)(InputFieldContext);
1667
+ return /* @__PURE__ */ import_react30.default.createElement(
1668
1668
  InputElement,
1669
1669
  {
1670
1670
  labelPosition,
@@ -1698,7 +1698,7 @@ function InputFieldNumberInput(props) {
1698
1698
  const { value, placeholder, onNudge } = props;
1699
1699
  const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
1700
1700
  const onChange = "onChange" in props ? props.onChange : void 0;
1701
- const handleSubmit = (0, import_react29.useCallback)(
1701
+ const handleSubmit = (0, import_react30.useCallback)(
1702
1702
  (value2) => {
1703
1703
  const newValue = parseNumber(value2);
1704
1704
  if (!isNaN(newValue)) {
@@ -1707,7 +1707,7 @@ function InputFieldNumberInput(props) {
1707
1707
  },
1708
1708
  [onSubmit]
1709
1709
  );
1710
- const handleKeyDown = (0, import_react29.useCallback)(
1710
+ const handleKeyDown = (0, import_react30.useCallback)(
1711
1711
  (event) => {
1712
1712
  const amount = handleNudge(event);
1713
1713
  if (!amount)
@@ -1718,13 +1718,13 @@ function InputFieldNumberInput(props) {
1718
1718
  },
1719
1719
  [onNudge]
1720
1720
  );
1721
- const handleChange = (0, import_react29.useCallback)(
1721
+ const handleChange = (0, import_react30.useCallback)(
1722
1722
  (value2) => {
1723
1723
  onChange?.(parseNumber(value2));
1724
1724
  },
1725
1725
  [onChange]
1726
1726
  );
1727
- return /* @__PURE__ */ import_react29.default.createElement(
1727
+ return /* @__PURE__ */ import_react30.default.createElement(
1728
1728
  InputFieldInput,
1729
1729
  {
1730
1730
  ...props,
@@ -1755,32 +1755,32 @@ function InputFieldRoot({
1755
1755
  renderPopoverContent,
1756
1756
  onFocusChange
1757
1757
  }) {
1758
- const childrenArray = import_react29.Children.toArray(children);
1758
+ const childrenArray = import_react30.Children.toArray(children);
1759
1759
  const hasDropdown = childrenArray.some(
1760
- (child) => (0, import_react29.isValidElement)(child) && child.type === InputFieldDropdownMenu
1760
+ (child) => (0, import_react30.isValidElement)(child) && child.type === InputFieldDropdownMenu
1761
1761
  );
1762
1762
  const hasLabel = childrenArray.some(
1763
- (child) => (0, import_react29.isValidElement)(child) && child.type === InputFieldLabel
1763
+ (child) => (0, import_react30.isValidElement)(child) && child.type === InputFieldLabel
1764
1764
  );
1765
- const [isFocused, setIsFocused] = import_react29.default.useState(false);
1766
- const [measuredLabelSize, setMeasuredLabelSize] = import_react29.default.useState();
1767
- const [measuredWidth, setMeasuredWidth] = import_react29.default.useState();
1768
- const handleFocusChange = (0, import_react29.useCallback)(
1765
+ const [isFocused, setIsFocused] = import_react30.default.useState(false);
1766
+ const [measuredLabelSize, setMeasuredLabelSize] = import_react30.default.useState();
1767
+ const [measuredWidth, setMeasuredWidth] = import_react30.default.useState();
1768
+ const handleFocusChange = (0, import_react30.useCallback)(
1769
1769
  (isFocused2) => {
1770
1770
  setIsFocused(isFocused2);
1771
1771
  onFocusChange?.(isFocused2);
1772
1772
  },
1773
1773
  [onFocusChange]
1774
1774
  );
1775
- const [inputRef, setInputRef] = import_react29.default.useState();
1776
- (0, import_react29.useEffect)(() => {
1775
+ const [inputRef, setInputRef] = import_react30.default.useState();
1776
+ (0, import_react30.useEffect)(() => {
1777
1777
  if (inputRef && typeof inputRef !== "function") {
1778
1778
  setMeasuredWidth?.(
1779
1779
  isFocused ? inputRef?.current?.getBoundingClientRect().width : void 0
1780
1780
  );
1781
1781
  }
1782
1782
  }, [inputRef, isFocused]);
1783
- const contextValue = (0, import_react29.useMemo)(
1783
+ const contextValue = (0, import_react30.useMemo)(
1784
1784
  () => ({
1785
1785
  labelPosition,
1786
1786
  labelSize: measuredLabelSize ?? labelSize ?? 6,
@@ -1805,8 +1805,8 @@ function InputFieldRoot({
1805
1805
  inputRef
1806
1806
  ]
1807
1807
  );
1808
- const rootElement = /* @__PURE__ */ import_react29.default.createElement(RootContainer, { id, width, flex }, children);
1809
- return /* @__PURE__ */ import_react29.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react29.default.createElement(
1808
+ const rootElement = /* @__PURE__ */ import_react30.default.createElement(RootContainer, { id, width, flex }, children);
1809
+ return /* @__PURE__ */ import_react30.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react30.default.createElement(
1810
1810
  Popover,
1811
1811
  {
1812
1812
  open: true,
@@ -1822,15 +1822,15 @@ function InputFieldRoot({
1822
1822
  event.stopPropagation();
1823
1823
  }
1824
1824
  },
1825
- measuredWidth && /* @__PURE__ */ import_react29.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
1825
+ measuredWidth && /* @__PURE__ */ import_react30.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
1826
1826
  ) : rootElement);
1827
1827
  }
1828
1828
  var InputField;
1829
1829
  ((InputField2) => {
1830
- InputField2.Root = (0, import_react29.memo)(InputFieldRoot);
1831
- InputField2.Input = (0, import_react29.memo)(InputFieldInput);
1832
- InputField2.Typeahead = (0, import_react29.memo)(InputFieldTypeahead);
1833
- InputField2.NumberInput = (0, import_react29.memo)(InputFieldNumberInput);
1830
+ InputField2.Root = (0, import_react30.memo)(InputFieldRoot);
1831
+ InputField2.Input = (0, import_react30.memo)(InputFieldInput);
1832
+ InputField2.Typeahead = (0, import_react30.memo)(InputFieldTypeahead);
1833
+ InputField2.NumberInput = (0, import_react30.memo)(InputFieldNumberInput);
1834
1834
  InputField2.DropdownMenu = InputFieldDropdownMenu;
1835
1835
  InputField2.Button = InputFieldButton;
1836
1836
  InputField2.Label = InputFieldLabel;
@@ -1854,24 +1854,24 @@ function createDeferredPromise() {
1854
1854
  });
1855
1855
  return { promise, resolve, reject };
1856
1856
  }
1857
- var DialogContext = (0, import_react30.createContext)(void 0);
1857
+ var DialogContext = (0, import_react31.createContext)(void 0);
1858
1858
  var DialogProvider = function DialogProvider2({
1859
1859
  children
1860
1860
  }) {
1861
- const [contents, setContents] = (0, import_react30.useState)();
1861
+ const [contents, setContents] = (0, import_react31.useState)();
1862
1862
  const isOpen = !!contents;
1863
- const close = (0, import_react30.useCallback)(() => {
1863
+ const close = (0, import_react31.useCallback)(() => {
1864
1864
  if (!contents)
1865
1865
  return;
1866
1866
  contents.resolve(void 0);
1867
1867
  }, [contents]);
1868
- const submit = (0, import_react30.useCallback)(() => {
1868
+ const submit = (0, import_react31.useCallback)(() => {
1869
1869
  if (!contents || !contents.inputValue)
1870
1870
  return;
1871
1871
  contents.resolve(contents.inputValue);
1872
1872
  setContents(void 0);
1873
1873
  }, [contents]);
1874
- const open = (0, import_react30.useCallback)(
1874
+ const open = (0, import_react31.useCallback)(
1875
1875
  (title, inputValue = "") => {
1876
1876
  const { promise, resolve } = createDeferredPromise();
1877
1877
  setContents({
@@ -1886,7 +1886,7 @@ var DialogProvider = function DialogProvider2({
1886
1886
  },
1887
1887
  []
1888
1888
  );
1889
- const handleKeyDown = (0, import_react30.useCallback)(
1889
+ const handleKeyDown = (0, import_react31.useCallback)(
1890
1890
  (event) => {
1891
1891
  if (event.key !== "Enter")
1892
1892
  return;
@@ -1896,29 +1896,29 @@ var DialogProvider = function DialogProvider2({
1896
1896
  },
1897
1897
  [submit]
1898
1898
  );
1899
- const inputRef = (0, import_react30.useRef)(null);
1900
- const dialogRef = (0, import_react30.useRef)(null);
1901
- const containsElement = (0, import_react30.useCallback)((element) => {
1899
+ const inputRef = (0, import_react31.useRef)(null);
1900
+ const dialogRef = (0, import_react31.useRef)(null);
1901
+ const containsElement = (0, import_react31.useCallback)((element) => {
1902
1902
  if (!dialogRef.current)
1903
1903
  return false;
1904
1904
  return dialogRef.current.containsElement(element);
1905
1905
  }, []);
1906
- return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
1906
+ return /* @__PURE__ */ import_react31.default.createElement(import_react31.default.Fragment, null, /* @__PURE__ */ import_react31.default.createElement(
1907
1907
  DialogContext.Provider,
1908
1908
  {
1909
- value: (0, import_react30.useMemo)(
1909
+ value: (0, import_react31.useMemo)(
1910
1910
  () => ({ openInputDialog: open, containsElement }),
1911
1911
  [containsElement, open]
1912
1912
  )
1913
1913
  },
1914
1914
  children
1915
- ), /* @__PURE__ */ import_react30.default.createElement(
1915
+ ), /* @__PURE__ */ import_react31.default.createElement(
1916
1916
  Dialog,
1917
1917
  {
1918
1918
  ref: dialogRef,
1919
1919
  title: contents?.title,
1920
1920
  open: isOpen,
1921
- onOpenChange: (0, import_react30.useCallback)(
1921
+ onOpenChange: (0, import_react31.useCallback)(
1922
1922
  (isOpen2) => {
1923
1923
  if (!isOpen2) {
1924
1924
  close();
@@ -1926,14 +1926,14 @@ var DialogProvider = function DialogProvider2({
1926
1926
  },
1927
1927
  [close]
1928
1928
  ),
1929
- onOpenAutoFocus: (0, import_react30.useCallback)((event) => {
1929
+ onOpenAutoFocus: (0, import_react31.useCallback)((event) => {
1930
1930
  event.stopPropagation();
1931
1931
  event.preventDefault();
1932
1932
  inputRef.current?.focus();
1933
1933
  inputRef.current?.setSelectionRange(0, inputRef.current.value.length);
1934
1934
  }, [])
1935
1935
  },
1936
- /* @__PURE__ */ import_react30.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react30.default.createElement(
1936
+ /* @__PURE__ */ import_react31.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react31.default.createElement(
1937
1937
  InputField.Input,
1938
1938
  {
1939
1939
  ref: inputRef,
@@ -1949,12 +1949,12 @@ var DialogProvider = function DialogProvider2({
1949
1949
  onKeyDown: handleKeyDown
1950
1950
  }
1951
1951
  )),
1952
- /* @__PURE__ */ import_react30.default.createElement(Spacer.Vertical, { size: 20 }),
1953
- /* @__PURE__ */ import_react30.default.createElement(Row, null, /* @__PURE__ */ import_react30.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react30.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react30.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react30.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
1952
+ /* @__PURE__ */ import_react31.default.createElement(Spacer.Vertical, { size: 20 }),
1953
+ /* @__PURE__ */ import_react31.default.createElement(Row, null, /* @__PURE__ */ import_react31.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react31.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react31.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react31.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
1954
1954
  ));
1955
1955
  };
1956
1956
  function useDialog() {
1957
- const value = (0, import_react30.useContext)(DialogContext);
1957
+ const value = (0, import_react31.useContext)(DialogContext);
1958
1958
  if (!value) {
1959
1959
  throw new Error("Missing DialogProvider");
1960
1960
  }
@@ -1968,19 +1968,19 @@ function useDialogContainsElement() {
1968
1968
  }
1969
1969
 
1970
1970
  // src/contexts/DesignSystemConfiguration.tsx
1971
- var DesignSystemConfigurationContext = (0, import_react31.createContext)(void 0);
1972
- var DesignSystemConfigurationProvider = (0, import_react31.memo)(
1971
+ var DesignSystemConfigurationContext = (0, import_react32.createContext)(void 0);
1972
+ var DesignSystemConfigurationProvider = (0, import_react32.memo)(
1973
1973
  function DesignSystemConfigurationProvider2({
1974
1974
  children,
1975
1975
  theme,
1976
1976
  platform
1977
1977
  }) {
1978
- const contextValue = (0, import_react31.useMemo)(() => ({ platform }), [platform]);
1979
- return /* @__PURE__ */ import_react31.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react31.default.createElement(import_styled_components15.ThemeProvider, { theme }, /* @__PURE__ */ import_react31.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react31.default.createElement(ToastProvider, null, children))));
1978
+ const contextValue = (0, import_react32.useMemo)(() => ({ platform }), [platform]);
1979
+ return /* @__PURE__ */ import_react32.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react32.default.createElement(import_styled_components15.ThemeProvider, { theme }, /* @__PURE__ */ import_react32.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react32.default.createElement(ToastProvider, null, children))));
1980
1980
  }
1981
1981
  );
1982
1982
  function useDesignSystemConfiguration() {
1983
- const value = (0, import_react31.useContext)(DesignSystemConfigurationContext);
1983
+ const value = (0, import_react32.useContext)(DesignSystemConfigurationContext);
1984
1984
  if (!value) {
1985
1985
  throw new Error("Missing DesignSystemConfigurationProvider");
1986
1986
  }
@@ -2168,7 +2168,7 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
2168
2168
  opacity: 0.85
2169
2169
  }
2170
2170
  }));
2171
- var Chip = (0, import_react32.memo)(function Chip2({
2171
+ var Chip = (0, import_react33.memo)(function Chip2({
2172
2172
  colorScheme,
2173
2173
  children,
2174
2174
  deletable,
@@ -2189,7 +2189,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
2189
2189
  });
2190
2190
  const handleClick = !children && !deletable && addable ? onAdd : onClick;
2191
2191
  const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2192
- return /* @__PURE__ */ import_react32.default.createElement(
2192
+ return /* @__PURE__ */ import_react33.default.createElement(
2193
2193
  ChipElement,
2194
2194
  {
2195
2195
  variant,
@@ -2201,7 +2201,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
2201
2201
  isInteractive: !!handleClick,
2202
2202
  tabIndex
2203
2203
  },
2204
- addable && /* @__PURE__ */ import_react32.default.createElement(
2204
+ addable && /* @__PURE__ */ import_react33.default.createElement(
2205
2205
  AddElement,
2206
2206
  {
2207
2207
  size: size2,
@@ -2214,7 +2214,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
2214
2214
  }
2215
2215
  ),
2216
2216
  children,
2217
- deletable && /* @__PURE__ */ import_react32.default.createElement(
2217
+ deletable && /* @__PURE__ */ import_react33.default.createElement(
2218
2218
  DeleteElement,
2219
2219
  {
2220
2220
  size: size2,
@@ -2233,7 +2233,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
2233
2233
  var import_noya_icons4 = require("@noya-app/noya-icons");
2234
2234
  var import_noya_keymap3 = require("@noya-app/noya-keymap");
2235
2235
  var RadixContextMenu = __toESM(require("@radix-ui/react-context-menu"));
2236
- var import_react33 = __toESM(require("react"));
2236
+ var import_react34 = __toESM(require("react"));
2237
2237
  var import_styled_components17 = __toESM(require("styled-components"));
2238
2238
  var SeparatorElement2 = (0, import_styled_components17.default)(RadixContextMenu.Separator)(
2239
2239
  styles.separatorStyle
@@ -2245,7 +2245,7 @@ var CheckboxItemElement2 = (0, import_styled_components17.default)(RadixContextM
2245
2245
  var StyledItemIndicator2 = (0, import_styled_components17.default)(RadixContextMenu.ItemIndicator)(
2246
2246
  styles.itemIndicatorStyle
2247
2247
  );
2248
- var ContextMenuItem2 = (0, import_react33.memo)(function ContextMenuItem3({
2248
+ var ContextMenuItem2 = (0, import_react34.memo)(function ContextMenuItem3({
2249
2249
  value,
2250
2250
  children,
2251
2251
  onSelect,
@@ -2256,42 +2256,42 @@ var ContextMenuItem2 = (0, import_react33.memo)(function ContextMenuItem3({
2256
2256
  items,
2257
2257
  shortcut
2258
2258
  }) {
2259
- const handlePointerDown = (0, import_react33.useCallback)(
2259
+ const handlePointerDown = (0, import_react34.useCallback)(
2260
2260
  (event) => event.stopPropagation(),
2261
2261
  []
2262
2262
  );
2263
- const handleSelectItem = (0, import_react33.useCallback)(() => {
2263
+ const handleSelectItem = (0, import_react34.useCallback)(() => {
2264
2264
  if (!value)
2265
2265
  return;
2266
2266
  onSelect(value);
2267
2267
  }, [onSelect, value]);
2268
2268
  if (checked) {
2269
- return /* @__PURE__ */ import_react33.default.createElement(
2269
+ return /* @__PURE__ */ import_react34.default.createElement(
2270
2270
  CheckboxItemElement2,
2271
2271
  {
2272
2272
  checked,
2273
2273
  disabled,
2274
2274
  onSelect: handleSelectItem
2275
2275
  },
2276
- /* @__PURE__ */ import_react33.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react33.default.createElement(import_noya_icons4.CheckIcon, null)),
2276
+ /* @__PURE__ */ import_react34.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react34.default.createElement(import_noya_icons4.CheckIcon, null)),
2277
2277
  children
2278
2278
  );
2279
2279
  }
2280
- const element = /* @__PURE__ */ import_react33.default.createElement(
2280
+ const element = /* @__PURE__ */ import_react34.default.createElement(
2281
2281
  ItemElement2,
2282
2282
  {
2283
2283
  disabled,
2284
2284
  onSelect: handleSelectItem,
2285
2285
  onPointerDown: handlePointerDown
2286
2286
  },
2287
- indented && /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
2288
- icon && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, icon, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 8 })),
2287
+ indented && /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
2288
+ icon && /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, icon, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 8 })),
2289
2289
  children,
2290
- shortcut && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react33.default.createElement(KeyboardShortcut, { shortcut })),
2291
- items && items.length > 0 && /* @__PURE__ */ import_react33.default.createElement(import_react33.default.Fragment, null, /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react33.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react33.default.createElement(import_noya_icons4.ChevronRightIcon, null))
2290
+ shortcut && /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react34.default.createElement(KeyboardShortcut, { shortcut })),
2291
+ items && items.length > 0 && /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react34.default.createElement(import_noya_icons4.ChevronRightIcon, null))
2292
2292
  );
2293
2293
  if (items && items.length > 0) {
2294
- return /* @__PURE__ */ import_react33.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
2294
+ return /* @__PURE__ */ import_react34.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
2295
2295
  } else {
2296
2296
  return element;
2297
2297
  }
@@ -2309,19 +2309,19 @@ function ContextMenuRoot({
2309
2309
  const hasCheckedItem = items.some(
2310
2310
  (item) => item !== SEPARATOR_ITEM && item.checked
2311
2311
  );
2312
- const keymap = (0, import_react33.useMemo)(
2312
+ const keymap = (0, import_react34.useMemo)(
2313
2313
  () => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
2314
2314
  [isNested, items, onSelect, shouldBindKeyboardShortcuts]
2315
2315
  );
2316
2316
  (0, import_noya_keymap3.useKeyboardShortcuts)(keymap);
2317
- const onPointerDown = (0, import_react33.useCallback)((event) => {
2317
+ const onPointerDown = (0, import_react34.useCallback)((event) => {
2318
2318
  event.preventDefault();
2319
2319
  }, []);
2320
2320
  const RootComponent = isNested ? RadixContextMenu.Sub : RadixContextMenu.Root;
2321
2321
  const TriggerComponent = isNested ? RadixContextMenu.SubTrigger : RadixContextMenu.Trigger;
2322
2322
  const ContentComponent = isNested ? SubContent4 : Content8;
2323
- return /* @__PURE__ */ import_react33.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react33.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react33.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react33.default.createElement(ContentComponent, null, items.map(
2324
- (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react33.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react33.default.createElement(
2323
+ return /* @__PURE__ */ import_react34.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react34.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react34.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react34.default.createElement(ContentComponent, null, items.map(
2324
+ (item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react34.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react34.default.createElement(
2325
2325
  ContextMenuItem2,
2326
2326
  {
2327
2327
  key: item.value ?? index,
@@ -2338,26 +2338,26 @@ function ContextMenuRoot({
2338
2338
  )
2339
2339
  ))));
2340
2340
  }
2341
- var ContextMenu = (0, import_react33.memo)(ContextMenuRoot);
2341
+ var ContextMenu = (0, import_react34.memo)(ContextMenuRoot);
2342
2342
 
2343
2343
  // src/components/Divider.tsx
2344
- var import_react34 = __toESM(require("react"));
2344
+ var import_react35 = __toESM(require("react"));
2345
2345
  var import_styled_components18 = __toESM(require("styled-components"));
2346
2346
  var DividerContainer = import_styled_components18.default.div(({ theme, variant = "normal", orientation, overflow = 0 }) => ({
2347
2347
  ...orientation === "horizontal" ? { height: "1px", minHeight: "1px", margin: `0px -${overflow}px` } : { width: "1px", minWidth: "1px", margin: `-${overflow}px 0px` },
2348
2348
  background: variant === "strong" ? theme.colors.dividerStrong : variant === "subtle" ? theme.colors.dividerSubtle : theme.colors.divider,
2349
2349
  alignSelf: "stretch"
2350
2350
  }));
2351
- var Divider = (0, import_react34.memo)(function Divider2(props) {
2352
- return /* @__PURE__ */ import_react34.default.createElement(DividerContainer, { orientation: "horizontal", ...props });
2351
+ var Divider = (0, import_react35.memo)(function Divider2(props) {
2352
+ return /* @__PURE__ */ import_react35.default.createElement(DividerContainer, { orientation: "horizontal", ...props });
2353
2353
  });
2354
- var DividerVertical = (0, import_react34.memo)(function DividerVertical2(props) {
2355
- return /* @__PURE__ */ import_react34.default.createElement(DividerContainer, { orientation: "vertical", ...props });
2354
+ var DividerVertical = (0, import_react35.memo)(function DividerVertical2(props) {
2355
+ return /* @__PURE__ */ import_react35.default.createElement(DividerContainer, { orientation: "vertical", ...props });
2356
2356
  });
2357
2357
 
2358
2358
  // src/components/DraggableMenuButton.tsx
2359
2359
  var import_noya_icons5 = require("@noya-app/noya-icons");
2360
- var import_react35 = __toESM(require("react"));
2360
+ var import_react36 = __toESM(require("react"));
2361
2361
  var import_styled_components19 = __toESM(require("styled-components"));
2362
2362
  var DotButtonElement = import_styled_components19.default.div(({ theme }) => ({
2363
2363
  cursor: "pointer",
@@ -2377,15 +2377,15 @@ var TriggerElement = import_styled_components19.default.div({
2377
2377
  pointerEvents: "none",
2378
2378
  height: "15px"
2379
2379
  });
2380
- var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2({
2380
+ var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2({
2381
2381
  items,
2382
2382
  onSelect,
2383
2383
  isVisible = true
2384
2384
  }) {
2385
2385
  const color = useDesignSystemTheme().colors.icon;
2386
- const [open, setOpen] = (0, import_react35.useState)(false);
2387
- const [downPosition, setDownPosition] = import_react35.default.useState(null);
2388
- const handlePointerDownCapture = (0, import_react35.useCallback)(
2386
+ const [open, setOpen] = (0, import_react36.useState)(false);
2387
+ const [downPosition, setDownPosition] = import_react36.default.useState(null);
2388
+ const handlePointerDownCapture = (0, import_react36.useCallback)(
2389
2389
  (event) => {
2390
2390
  if (open) {
2391
2391
  setDownPosition(null);
@@ -2398,7 +2398,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
2398
2398
  },
2399
2399
  [open]
2400
2400
  );
2401
- const handlePointerUp = (0, import_react35.useCallback)(
2401
+ const handlePointerUp = (0, import_react36.useCallback)(
2402
2402
  (event) => {
2403
2403
  if (open || !downPosition) {
2404
2404
  setDownPosition(null);
@@ -2414,14 +2414,14 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
2414
2414
  },
2415
2415
  [downPosition, open]
2416
2416
  );
2417
- const handleOpenChange = (0, import_react35.useCallback)(
2417
+ const handleOpenChange = (0, import_react36.useCallback)(
2418
2418
  (isOpen) => {
2419
2419
  if (!isOpen)
2420
2420
  setOpen(false);
2421
2421
  },
2422
2422
  [setOpen]
2423
2423
  );
2424
- return /* @__PURE__ */ import_react35.default.createElement(
2424
+ return /* @__PURE__ */ import_react36.default.createElement(
2425
2425
  DotButtonElement,
2426
2426
  {
2427
2427
  onPointerDownCapture: handlePointerDownCapture,
@@ -2431,7 +2431,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
2431
2431
  event.preventDefault();
2432
2432
  }
2433
2433
  },
2434
- /* @__PURE__ */ import_react35.default.createElement(
2434
+ /* @__PURE__ */ import_react36.default.createElement(
2435
2435
  DropdownMenu,
2436
2436
  {
2437
2437
  open,
@@ -2440,7 +2440,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
2440
2440
  onSelect,
2441
2441
  shouldBindKeyboardShortcuts: false
2442
2442
  },
2443
- /* @__PURE__ */ import_react35.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react35.default.createElement(
2443
+ /* @__PURE__ */ import_react36.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react36.default.createElement(
2444
2444
  import_noya_icons5.DragHandleDots2Icon,
2445
2445
  {
2446
2446
  color: isVisible || open ? color : "transparent"
@@ -2451,7 +2451,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
2451
2451
  });
2452
2452
 
2453
2453
  // src/components/FillInputField.tsx
2454
- var import_react39 = __toESM(require("react"));
2454
+ var import_react40 = __toESM(require("react"));
2455
2455
  var import_styled_components21 = __toESM(require("styled-components"));
2456
2456
 
2457
2457
  // ../noya-file-format/src/types.ts
@@ -2777,26 +2777,26 @@ var ClassValue = /* @__PURE__ */ ((ClassValue2) => {
2777
2777
  })(ClassValue || {});
2778
2778
 
2779
2779
  // src/components/FillPreviewBackground.tsx
2780
- var import_react38 = __toESM(require("react"));
2780
+ var import_react39 = __toESM(require("react"));
2781
2781
  var import_styled_components20 = __toESM(require("styled-components"));
2782
2782
 
2783
2783
  // src/contexts/ImageDataContext.tsx
2784
- var import_react36 = __toESM(require("react"));
2785
- var ImageDataContext = (0, import_react36.createContext)(
2784
+ var import_react37 = __toESM(require("react"));
2785
+ var ImageDataContext = (0, import_react37.createContext)(
2786
2786
  void 0
2787
2787
  );
2788
- var ImageDataProvider = (0, import_react36.memo)(function ImageDataProvider2({
2788
+ var ImageDataProvider = (0, import_react37.memo)(function ImageDataProvider2({
2789
2789
  children,
2790
2790
  getImageData
2791
2791
  }) {
2792
- const contextValue = (0, import_react36.useMemo)(
2792
+ const contextValue = (0, import_react37.useMemo)(
2793
2793
  () => ({ getImageData: getImageData ?? (() => void 0) }),
2794
2794
  [getImageData]
2795
2795
  );
2796
- return /* @__PURE__ */ import_react36.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
2796
+ return /* @__PURE__ */ import_react37.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
2797
2797
  });
2798
2798
  function useImageData(ref) {
2799
- const value = (0, import_react36.useContext)(ImageDataContext);
2799
+ const value = (0, import_react37.useContext)(ImageDataContext);
2800
2800
  if (!value) {
2801
2801
  throw new Error("Missing ImageDataProvider");
2802
2802
  }
@@ -2804,15 +2804,15 @@ function useImageData(ref) {
2804
2804
  }
2805
2805
 
2806
2806
  // src/hooks/useObjectURL.ts
2807
- var import_react37 = require("react");
2807
+ var import_react38 = require("react");
2808
2808
  function useObjectURL(object) {
2809
- const objectURL = (0, import_react37.useMemo)(() => {
2809
+ const objectURL = (0, import_react38.useMemo)(() => {
2810
2810
  if (object instanceof Blob)
2811
2811
  return URL.createObjectURL(object);
2812
2812
  const bytes = object instanceof Uint8Array ? object : object !== void 0 ? new Uint8Array(object) : new Uint8Array();
2813
2813
  return URL.createObjectURL(new Blob([bytes]));
2814
2814
  }, [object]);
2815
- (0, import_react37.useLayoutEffect)(() => {
2815
+ (0, import_react38.useLayoutEffect)(() => {
2816
2816
  return () => URL.revokeObjectURL(objectURL);
2817
2817
  }, [objectURL]);
2818
2818
  return objectURL;
@@ -2868,9 +2868,9 @@ var Background = import_styled_components20.default.span(({ background }) => ({
2868
2868
  position: "absolute",
2869
2869
  inset: 0
2870
2870
  }));
2871
- var HorizontalDotsBackground = (0, import_react38.memo)(function HorizontalDotsBackground2() {
2871
+ var HorizontalDotsBackground = (0, import_react39.memo)(function HorizontalDotsBackground2() {
2872
2872
  const { inputBackground, placeholderDots } = (0, import_styled_components20.useTheme)().colors;
2873
- const background = (0, import_react38.useMemo)(
2873
+ const background = (0, import_react39.useMemo)(
2874
2874
  () => [
2875
2875
  `center url("data:image/svg+xml;utf8,${dotsHorizontalSvg(
2876
2876
  placeholderDots
@@ -2879,7 +2879,7 @@ var HorizontalDotsBackground = (0, import_react38.memo)(function HorizontalDotsB
2879
2879
  ].join(","),
2880
2880
  [inputBackground, placeholderDots]
2881
2881
  );
2882
- return /* @__PURE__ */ import_react38.default.createElement(Background, { background });
2882
+ return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
2883
2883
  });
2884
2884
  function getPatternSizeAndPosition(fillType, tileScale) {
2885
2885
  switch (fillType) {
@@ -2893,7 +2893,7 @@ function getPatternSizeAndPosition(fillType, tileScale) {
2893
2893
  return "center / 100% 100%";
2894
2894
  }
2895
2895
  }
2896
- var PatternPreviewBackground = (0, import_react38.memo)(function PatternPreviewBackground2({
2896
+ var PatternPreviewBackground = (0, import_react39.memo)(function PatternPreviewBackground2({
2897
2897
  fillType,
2898
2898
  tileScale,
2899
2899
  imageRef
@@ -2901,7 +2901,7 @@ var PatternPreviewBackground = (0, import_react38.memo)(function PatternPreviewB
2901
2901
  const image = useImageData(imageRef);
2902
2902
  const url = useObjectURL(image);
2903
2903
  const size2 = getPatternSizeAndPosition(fillType, tileScale);
2904
- const background = (0, import_react38.useMemo)(
2904
+ const background = (0, import_react39.useMemo)(
2905
2905
  () => [
2906
2906
  size2,
2907
2907
  `url(${url})`,
@@ -2909,37 +2909,37 @@ var PatternPreviewBackground = (0, import_react38.memo)(function PatternPreviewB
2909
2909
  ].join(" "),
2910
2910
  [fillType, size2, url]
2911
2911
  );
2912
- return /* @__PURE__ */ import_react38.default.createElement(Background, { background });
2912
+ return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
2913
2913
  });
2914
- var ColorPreviewBackground = (0, import_react38.memo)(function ColorPreviewBackground2({
2914
+ var ColorPreviewBackground = (0, import_react39.memo)(function ColorPreviewBackground2({
2915
2915
  color
2916
2916
  }) {
2917
- const background = (0, import_react38.useMemo)(() => sketchColorToRgbaString(color), [color]);
2918
- return /* @__PURE__ */ import_react38.default.createElement(Background, { background });
2917
+ const background = (0, import_react39.useMemo)(() => sketchColorToRgbaString(color), [color]);
2918
+ return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
2919
2919
  });
2920
- var GradientPreviewBackground = (0, import_react38.memo)(function GradientPreviewBackground2({
2920
+ var GradientPreviewBackground = (0, import_react39.memo)(function GradientPreviewBackground2({
2921
2921
  gradient
2922
2922
  }) {
2923
- const background = (0, import_react38.useMemo)(
2923
+ const background = (0, import_react39.useMemo)(
2924
2924
  () => getGradientBackground(gradient.stops, gradient.gradientType, 180),
2925
2925
  [gradient.gradientType, gradient.stops]
2926
2926
  );
2927
- return /* @__PURE__ */ import_react38.default.createElement(Background, { background });
2927
+ return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
2928
2928
  });
2929
- var FillPreviewBackground = (0, import_react38.memo)(function FillPreviewBackground2({
2929
+ var FillPreviewBackground = (0, import_react39.memo)(function FillPreviewBackground2({
2930
2930
  value
2931
2931
  }) {
2932
2932
  if (!value)
2933
- return /* @__PURE__ */ import_react38.default.createElement(HorizontalDotsBackground, null);
2933
+ return /* @__PURE__ */ import_react39.default.createElement(HorizontalDotsBackground, null);
2934
2934
  switch (value._class) {
2935
2935
  case "color":
2936
- return /* @__PURE__ */ import_react38.default.createElement(ColorPreviewBackground, { color: value });
2936
+ return /* @__PURE__ */ import_react39.default.createElement(ColorPreviewBackground, { color: value });
2937
2937
  case "gradient":
2938
- return /* @__PURE__ */ import_react38.default.createElement(GradientPreviewBackground, { gradient: value });
2938
+ return /* @__PURE__ */ import_react39.default.createElement(GradientPreviewBackground, { gradient: value });
2939
2939
  case "pattern":
2940
2940
  if (!value.image)
2941
2941
  return null;
2942
- return /* @__PURE__ */ import_react38.default.createElement(
2942
+ return /* @__PURE__ */ import_react39.default.createElement(
2943
2943
  PatternPreviewBackground,
2944
2944
  {
2945
2945
  fillType: value.patternFillType,
@@ -2969,16 +2969,16 @@ var Container = import_styled_components21.default.button(
2969
2969
  flex
2970
2970
  })
2971
2971
  );
2972
- var FillInputField = (0, import_react39.memo)(
2973
- (0, import_react39.forwardRef)(function FillInputField2({ id, value, ...rest }, ref) {
2974
- return /* @__PURE__ */ import_react39.default.createElement(Container, { ref, id, ...rest }, /* @__PURE__ */ import_react39.default.createElement(FillPreviewBackground, { value }));
2972
+ var FillInputField = (0, import_react40.memo)(
2973
+ (0, import_react40.forwardRef)(function FillInputField2({ id, value, ...rest }, ref) {
2974
+ return /* @__PURE__ */ import_react40.default.createElement(Container, { ref, id, ...rest }, /* @__PURE__ */ import_react40.default.createElement(FillPreviewBackground, { value }));
2975
2975
  })
2976
2976
  );
2977
2977
 
2978
2978
  // src/components/GradientPicker.tsx
2979
2979
  var import_noya_colorpicker2 = require("@noya-app/noya-colorpicker");
2980
- var import_react40 = __toESM(require("react"));
2981
- var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
2980
+ var import_react41 = __toESM(require("react"));
2981
+ var GradientPicker = (0, import_react41.memo)(function GradientPicker2({
2982
2982
  value,
2983
2983
  selectedStop,
2984
2984
  onChangeColor,
@@ -2987,7 +2987,7 @@ var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
2987
2987
  onDelete,
2988
2988
  onSelectStop
2989
2989
  }) {
2990
- const colorModel = (0, import_react40.useMemo)(
2990
+ const colorModel = (0, import_react41.useMemo)(
2991
2991
  () => ({
2992
2992
  defaultColor: { r: 0, g: 0, b: 0, a: 1 },
2993
2993
  toHsva: import_noya_colorpicker2.rgbaToHsva,
@@ -2996,30 +2996,30 @@ var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
2996
2996
  }),
2997
2997
  []
2998
2998
  );
2999
- const rgbaColor = (0, import_react40.useMemo)(
2999
+ const rgbaColor = (0, import_react41.useMemo)(
3000
3000
  () => sketchColorToRgba(value[selectedStop].color),
3001
3001
  [value, selectedStop]
3002
3002
  );
3003
- const handleChangeColor = (0, import_react40.useCallback)(
3003
+ const handleChangeColor = (0, import_react41.useCallback)(
3004
3004
  (value2) => {
3005
3005
  onChangeColor(rgbaToSketchColor(value2));
3006
3006
  },
3007
3007
  [onChangeColor]
3008
3008
  );
3009
- const handleAddGradientStop = (0, import_react40.useCallback)(
3009
+ const handleAddGradientStop = (0, import_react41.useCallback)(
3010
3010
  (value2, position) => {
3011
3011
  onAdd(rgbaToSketchColor(value2), position);
3012
3012
  },
3013
3013
  [onAdd]
3014
3014
  );
3015
- return /* @__PURE__ */ import_react40.default.createElement(
3015
+ return /* @__PURE__ */ import_react41.default.createElement(
3016
3016
  import_noya_colorpicker2.ColorPicker,
3017
3017
  {
3018
3018
  onChange: handleChangeColor,
3019
3019
  colorModel,
3020
3020
  color: rgbaColor
3021
3021
  },
3022
- /* @__PURE__ */ import_react40.default.createElement(
3022
+ /* @__PURE__ */ import_react41.default.createElement(
3023
3023
  import_noya_colorpicker2.Gradient,
3024
3024
  {
3025
3025
  gradients: value,
@@ -3030,12 +3030,12 @@ var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
3030
3030
  onDelete
3031
3031
  }
3032
3032
  ),
3033
- /* @__PURE__ */ import_react40.default.createElement(Spacer.Vertical, { size: 10 }),
3034
- /* @__PURE__ */ import_react40.default.createElement(import_noya_colorpicker2.Saturation, null),
3035
- /* @__PURE__ */ import_react40.default.createElement(Spacer.Vertical, { size: 12 }),
3036
- /* @__PURE__ */ import_react40.default.createElement(import_noya_colorpicker2.Hue, null),
3037
- /* @__PURE__ */ import_react40.default.createElement(Spacer.Vertical, { size: 5 }),
3038
- /* @__PURE__ */ import_react40.default.createElement(import_noya_colorpicker2.Alpha, null)
3033
+ /* @__PURE__ */ import_react41.default.createElement(Spacer.Vertical, { size: 10 }),
3034
+ /* @__PURE__ */ import_react41.default.createElement(import_noya_colorpicker2.Saturation, null),
3035
+ /* @__PURE__ */ import_react41.default.createElement(Spacer.Vertical, { size: 12 }),
3036
+ /* @__PURE__ */ import_react41.default.createElement(import_noya_colorpicker2.Hue, null),
3037
+ /* @__PURE__ */ import_react41.default.createElement(Spacer.Vertical, { size: 5 }),
3038
+ /* @__PURE__ */ import_react41.default.createElement(import_noya_colorpicker2.Alpha, null)
3039
3039
  );
3040
3040
  });
3041
3041
 
@@ -3067,12 +3067,12 @@ var Grid = import_styled_components22.default.div((props) => ({
3067
3067
  }));
3068
3068
 
3069
3069
  // src/components/GridView.tsx
3070
- var import_react42 = __toESM(require("react"));
3070
+ var import_react43 = __toESM(require("react"));
3071
3071
  var import_styled_components24 = __toESM(require("styled-components"));
3072
3072
 
3073
3073
  // src/components/ScrollArea.tsx
3074
3074
  var RadixScrollArea = __toESM(require("@radix-ui/react-scroll-area"));
3075
- var import_react41 = __toESM(require("react"));
3075
+ var import_react42 = __toESM(require("react"));
3076
3076
  var import_styled_components23 = __toESM(require("styled-components"));
3077
3077
  var SCROLLBAR_SIZE = 10;
3078
3078
  var StyledViewport = (0, import_styled_components23.default)(RadixScrollArea.Viewport)({
@@ -3100,18 +3100,18 @@ var Container2 = import_styled_components23.default.div({
3100
3100
  flex: "1 1 0px",
3101
3101
  minHeight: 0
3102
3102
  });
3103
- var ScrollArea = (0, import_react41.memo)(function ScrollArea2({ children }) {
3104
- const [scrollElementRef, setScrollElementRef] = (0, import_react41.useState)(null);
3105
- return /* @__PURE__ */ import_react41.default.createElement(Container2, null, /* @__PURE__ */ import_react41.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react41.default.createElement(
3103
+ var ScrollArea = (0, import_react42.memo)(function ScrollArea2({ children }) {
3104
+ const [scrollElementRef, setScrollElementRef] = (0, import_react42.useState)(null);
3105
+ return /* @__PURE__ */ import_react42.default.createElement(Container2, null, /* @__PURE__ */ import_react42.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react42.default.createElement(
3106
3106
  StyledViewport,
3107
3107
  {
3108
- ref: (0, import_react41.useCallback)(
3108
+ ref: (0, import_react42.useCallback)(
3109
3109
  (ref) => setScrollElementRef(ref),
3110
3110
  []
3111
3111
  )
3112
3112
  },
3113
3113
  typeof children === "function" ? scrollElementRef ? children(scrollElementRef) : null : children
3114
- ), /* @__PURE__ */ import_react41.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react41.default.createElement(StyledThumb, { className: "scroll-component" }))));
3114
+ ), /* @__PURE__ */ import_react42.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react42.default.createElement(StyledThumb, { className: "scroll-component" }))));
3115
3115
  });
3116
3116
 
3117
3117
  // src/components/GridView.tsx
@@ -3291,7 +3291,7 @@ var Shimmer = import_styled_components24.default.div`
3291
3291
  align-items: end;
3292
3292
  padding: 4px;
3293
3293
  `;
3294
- var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
3294
+ var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
3295
3295
  id,
3296
3296
  title,
3297
3297
  subtitle,
@@ -3307,15 +3307,15 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
3307
3307
  onContextMenu,
3308
3308
  style: style3
3309
3309
  }, forwardedRef) {
3310
- const [hovered, setHovered] = import_react42.default.useState(false);
3310
+ const [hovered, setHovered] = import_react43.default.useState(false);
3311
3311
  const { hoverProps } = useHover({
3312
3312
  onHoverChange: (isHovering) => {
3313
3313
  onHoverChange?.(isHovering);
3314
3314
  setHovered(isHovering);
3315
3315
  }
3316
3316
  });
3317
- const { textPosition, bordered, disabled } = (0, import_react42.useContext)(GridViewContext);
3318
- const handleClick = (0, import_react42.useCallback)(
3317
+ const { textPosition, bordered, disabled } = (0, import_react43.useContext)(GridViewContext);
3318
+ const handleClick = (0, import_react43.useCallback)(
3319
3319
  (event) => {
3320
3320
  event.stopPropagation();
3321
3321
  event.preventDefault();
@@ -3324,7 +3324,7 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
3324
3324
  },
3325
3325
  [onClick, onPress]
3326
3326
  );
3327
- const handleKeyDown = (0, import_react42.useCallback)(
3327
+ const handleKeyDown = (0, import_react43.useCallback)(
3328
3328
  (event) => {
3329
3329
  if (event.key === "Enter" || event.key === " ") {
3330
3330
  event.stopPropagation();
@@ -3336,7 +3336,7 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
3336
3336
  },
3337
3337
  [onPress]
3338
3338
  );
3339
- let element = /* @__PURE__ */ import_react42.default.createElement(
3339
+ let element = /* @__PURE__ */ import_react43.default.createElement(
3340
3340
  ItemContainer,
3341
3341
  {
3342
3342
  id,
@@ -3345,7 +3345,7 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
3345
3345
  tabIndex: disabled ? void 0 : 0,
3346
3346
  onKeyDown: handleKeyDown
3347
3347
  },
3348
- /* @__PURE__ */ import_react42.default.createElement(
3348
+ /* @__PURE__ */ import_react43.default.createElement(
3349
3349
  ContentContainer,
3350
3350
  {
3351
3351
  disabled,
@@ -3359,25 +3359,25 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
3359
3359
  },
3360
3360
  children
3361
3361
  ),
3362
- textPosition === "below" && /* @__PURE__ */ import_react42.default.createElement(import_react42.default.Fragment, null, /* @__PURE__ */ import_react42.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react42.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react42.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
3363
- textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react42.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react42.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react42.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
3364
- loading && /* @__PURE__ */ import_react42.default.createElement(Shimmer, null, /* @__PURE__ */ import_react42.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
3362
+ textPosition === "below" && /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null, /* @__PURE__ */ import_react43.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react43.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react43.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
3363
+ textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react43.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react43.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react43.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
3364
+ loading && /* @__PURE__ */ import_react43.default.createElement(Shimmer, null, /* @__PURE__ */ import_react43.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
3365
3365
  );
3366
3366
  if (menuItems && onSelectMenuItem) {
3367
- element = /* @__PURE__ */ import_react42.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
3367
+ element = /* @__PURE__ */ import_react43.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
3368
3368
  }
3369
3369
  if (textPosition === "toolip") {
3370
- element = /* @__PURE__ */ import_react42.default.createElement(
3370
+ element = /* @__PURE__ */ import_react43.default.createElement(
3371
3371
  Tooltip,
3372
3372
  {
3373
- content: /* @__PURE__ */ import_react42.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react42.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react42.default.createElement(ItemDescription, { showBackground: false }, subtitle))
3373
+ content: /* @__PURE__ */ import_react43.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react43.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react43.default.createElement(ItemDescription, { showBackground: false }, subtitle))
3374
3374
  },
3375
3375
  element
3376
3376
  );
3377
3377
  }
3378
3378
  return element;
3379
3379
  });
3380
- var GridViewContext = (0, import_react42.createContext)({
3380
+ var GridViewContext = (0, import_react43.createContext)({
3381
3381
  size: "small",
3382
3382
  textPosition: "below",
3383
3383
  bordered: false,
@@ -3392,7 +3392,7 @@ function GridViewRoot({
3392
3392
  bordered = false,
3393
3393
  disabled = false
3394
3394
  }) {
3395
- const handleClick = (0, import_react42.useCallback)(
3395
+ const handleClick = (0, import_react43.useCallback)(
3396
3396
  (event) => {
3397
3397
  event.stopPropagation();
3398
3398
  event.preventDefault();
@@ -3400,7 +3400,7 @@ function GridViewRoot({
3400
3400
  },
3401
3401
  [onClick]
3402
3402
  );
3403
- const contextValue = (0, import_react42.useMemo)(
3403
+ const contextValue = (0, import_react43.useMemo)(
3404
3404
  () => ({
3405
3405
  size: size2,
3406
3406
  textPosition,
@@ -3409,33 +3409,33 @@ function GridViewRoot({
3409
3409
  }),
3410
3410
  [bordered, disabled, size2, textPosition]
3411
3411
  );
3412
- return /* @__PURE__ */ import_react42.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react42.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react42.default.createElement(ScrollArea, null, children) : children));
3412
+ return /* @__PURE__ */ import_react43.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react43.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react43.default.createElement(ScrollArea, null, children) : children));
3413
3413
  }
3414
3414
  function GridViewSection({
3415
3415
  children,
3416
3416
  padding = "20px"
3417
3417
  }) {
3418
- const { size: size2 } = (0, import_react42.useContext)(GridViewContext);
3419
- return /* @__PURE__ */ import_react42.default.createElement(Grid2, { size: size2, padding }, children);
3418
+ const { size: size2 } = (0, import_react43.useContext)(GridViewContext);
3419
+ return /* @__PURE__ */ import_react43.default.createElement(Grid2, { size: size2, padding }, children);
3420
3420
  }
3421
3421
  function GridViewSectionHeader({ title }) {
3422
3422
  const grouped = title.split("/");
3423
- return /* @__PURE__ */ import_react42.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react42.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
3424
- grouped.map((title2, index) => /* @__PURE__ */ import_react42.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
3425
- /* @__PURE__ */ import_react42.default.createElement(SectionTitle, null, " / ")
3423
+ return /* @__PURE__ */ import_react43.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react43.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
3424
+ grouped.map((title2, index) => /* @__PURE__ */ import_react43.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
3425
+ /* @__PURE__ */ import_react43.default.createElement(SectionTitle, null, " / ")
3426
3426
  ));
3427
3427
  }
3428
3428
  var GridView;
3429
3429
  ((GridView2) => {
3430
- GridView2.Root = (0, import_react42.memo)(GridViewRoot);
3431
- GridView2.Item = (0, import_react42.memo)(GridViewItem);
3432
- GridView2.Section = (0, import_react42.memo)(GridViewSection);
3433
- GridView2.SectionHeader = (0, import_react42.memo)(GridViewSectionHeader);
3430
+ GridView2.Root = (0, import_react43.memo)(GridViewRoot);
3431
+ GridView2.Item = (0, import_react43.memo)(GridViewItem);
3432
+ GridView2.Section = (0, import_react43.memo)(GridViewSection);
3433
+ GridView2.SectionHeader = (0, import_react43.memo)(GridViewSectionHeader);
3434
3434
  })(GridView || (GridView = {}));
3435
3435
 
3436
3436
  // src/components/InputFieldWithCompletions.tsx
3437
3437
  var import_noya_utils8 = require("@noya-app/noya-utils");
3438
- var import_react46 = __toESM(require("react"));
3438
+ var import_react47 = __toESM(require("react"));
3439
3439
  var import_styled_components27 = __toESM(require("styled-components"));
3440
3440
 
3441
3441
  // src/utils/fuzzyScorer.ts
@@ -3512,7 +3512,7 @@ function mergeRanges(ranges) {
3512
3512
  // src/components/ListView.tsx
3513
3513
  var import_noya_utils7 = require("@noya-app/noya-utils");
3514
3514
  var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
3515
- var import_react44 = __toESM(require("react"));
3515
+ var import_react45 = __toESM(require("react"));
3516
3516
  var import_react_virtualized = require("react-virtualized");
3517
3517
  var import_react_window = require("react-window");
3518
3518
  var import_styled_components25 = __toESM(require("styled-components"));
@@ -3540,18 +3540,10 @@ function mergeEventHandlers(...handlerMaps) {
3540
3540
  );
3541
3541
  }
3542
3542
 
3543
- // src/utils/mouseEvent.ts
3544
- function isLeftButtonClicked(event) {
3545
- return event.button === 0;
3546
- }
3547
- function isRightButtonClicked(event) {
3548
- return event.button === 2;
3549
- }
3550
-
3551
3543
  // src/components/Sortable.tsx
3552
3544
  var import_core = require("@dnd-kit/core");
3553
3545
  var import_sortable = require("@dnd-kit/sortable");
3554
- var import_react43 = __toESM(require("react"));
3546
+ var import_react44 = __toESM(require("react"));
3555
3547
  var import_react_dom = require("react-dom");
3556
3548
  var normalizeListDestinationIndex = (index, position) => {
3557
3549
  return position === "above" ? index : index + 1;
@@ -3565,7 +3557,7 @@ var defaultAcceptsDrop = (sourceIndex, destinationIndex, position) => {
3565
3557
  }
3566
3558
  return true;
3567
3559
  };
3568
- var SortableItemContext = (0, import_react43.createContext)({
3560
+ var SortableItemContext = (0, import_react44.createContext)({
3569
3561
  keys: [],
3570
3562
  position: { x: 0, y: 0 },
3571
3563
  acceptsDrop: defaultAcceptsDrop,
@@ -3587,7 +3579,7 @@ function SortableItem({
3587
3579
  disabled,
3588
3580
  children
3589
3581
  }) {
3590
- const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react43.useContext)(SortableItemContext);
3582
+ const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react44.useContext)(SortableItemContext);
3591
3583
  const sortable = (0, import_sortable.useSortable)({ id, disabled });
3592
3584
  const {
3593
3585
  active,
@@ -3607,7 +3599,7 @@ function SortableItem({
3607
3599
  const eventY = activatorEvent?.clientY ?? 0;
3608
3600
  const offsetLeft = eventX + position.x;
3609
3601
  const offsetTop = eventY + position.y;
3610
- const ref = (0, import_react43.useCallback)((node) => setNodeRef(node), [setNodeRef]);
3602
+ const ref = (0, import_react44.useCallback)((node) => setNodeRef(node), [setNodeRef]);
3611
3603
  return children({
3612
3604
  ref,
3613
3605
  ...attributes,
@@ -3638,22 +3630,22 @@ function SortableRoot({
3638
3630
  }
3639
3631
  })
3640
3632
  );
3641
- const [activeIndex, setActiveIndex] = (0, import_react43.useState)();
3642
- const activatorEvent = (0, import_react43.useRef)(null);
3643
- const setActivatorEvent = (0, import_react43.useCallback)((event) => {
3633
+ const [activeIndex, setActiveIndex] = (0, import_react44.useState)();
3634
+ const activatorEvent = (0, import_react44.useRef)(null);
3635
+ const setActivatorEvent = (0, import_react44.useCallback)((event) => {
3644
3636
  activatorEvent.current = event;
3645
3637
  }, []);
3646
- const [position, setPosition] = (0, import_react43.useState)({ x: 0, y: 0 });
3647
- const handleDragStart = (0, import_react43.useCallback)(
3638
+ const [position, setPosition] = (0, import_react44.useState)({ x: 0, y: 0 });
3639
+ const handleDragStart = (0, import_react44.useCallback)(
3648
3640
  (event) => {
3649
3641
  setActiveIndex(keys.indexOf(event.active.id));
3650
3642
  },
3651
3643
  [keys]
3652
3644
  );
3653
- const handleDragMove = (0, import_react43.useCallback)((event) => {
3645
+ const handleDragMove = (0, import_react44.useCallback)((event) => {
3654
3646
  setPosition({ ...event.delta });
3655
3647
  }, []);
3656
- const handleDragEnd = (0, import_react43.useCallback)(
3648
+ const handleDragEnd = (0, import_react44.useCallback)(
3657
3649
  (event) => {
3658
3650
  const { active, over } = event;
3659
3651
  setActiveIndex(void 0);
@@ -3680,10 +3672,10 @@ function SortableRoot({
3680
3672
  },
3681
3673
  [acceptsDrop, axis, keys, onMoveItem, position.x, position.y]
3682
3674
  );
3683
- return /* @__PURE__ */ import_react43.default.createElement(
3675
+ return /* @__PURE__ */ import_react44.default.createElement(
3684
3676
  SortableItemContext.Provider,
3685
3677
  {
3686
- value: (0, import_react43.useMemo)(
3678
+ value: (0, import_react44.useMemo)(
3687
3679
  () => ({
3688
3680
  keys,
3689
3681
  acceptsDrop,
@@ -3694,7 +3686,7 @@ function SortableRoot({
3694
3686
  [acceptsDrop, axis, keys, position, setActivatorEvent]
3695
3687
  )
3696
3688
  },
3697
- /* @__PURE__ */ import_react43.default.createElement(
3689
+ /* @__PURE__ */ import_react44.default.createElement(
3698
3690
  import_core.DndContext,
3699
3691
  {
3700
3692
  sensors,
@@ -3703,9 +3695,9 @@ function SortableRoot({
3703
3695
  onDragMove: handleDragMove,
3704
3696
  onDragEnd: handleDragEnd
3705
3697
  },
3706
- /* @__PURE__ */ import_react43.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
3698
+ /* @__PURE__ */ import_react44.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
3707
3699
  renderOverlay && (0, import_react_dom.createPortal)(
3708
- /* @__PURE__ */ import_react43.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
3700
+ /* @__PURE__ */ import_react44.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
3709
3701
  document.body
3710
3702
  )
3711
3703
  )
@@ -3713,17 +3705,17 @@ function SortableRoot({
3713
3705
  }
3714
3706
  var Sortable;
3715
3707
  ((Sortable2) => {
3716
- Sortable2.Item = (0, import_react43.memo)(SortableItem);
3717
- Sortable2.Root = (0, import_react43.memo)(SortableRoot);
3708
+ Sortable2.Item = (0, import_react44.memo)(SortableItem);
3709
+ Sortable2.Root = (0, import_react44.memo)(SortableRoot);
3718
3710
  })(Sortable || (Sortable = {}));
3719
3711
 
3720
3712
  // src/components/ListView.tsx
3721
3713
  var ROW_HEIGHT = 31;
3722
3714
  var SECTION_HEADER_LABEL_HEIGHT = 27;
3723
- var DraggingContext = (0, import_react44.createContext)({
3715
+ var DraggingContext = (0, import_react45.createContext)({
3724
3716
  indentation: 12
3725
3717
  });
3726
- var ListRowContext = (0, import_react44.createContext)({
3718
+ var ListRowContext = (0, import_react45.createContext)({
3727
3719
  marginType: "none",
3728
3720
  selectedPosition: "only",
3729
3721
  sortable: false,
@@ -3753,8 +3745,8 @@ function ListViewEditableRowTitle({
3753
3745
  autoFocus,
3754
3746
  placeholder
3755
3747
  }) {
3756
- const inputRef = (0, import_react44.useRef)(null);
3757
- (0, import_react44.useLayoutEffect)(() => {
3748
+ const inputRef = (0, import_react45.useRef)(null);
3749
+ (0, import_react45.useLayoutEffect)(() => {
3758
3750
  const element = inputRef.current;
3759
3751
  if (!element || !autoFocus)
3760
3752
  return;
@@ -3763,7 +3755,7 @@ function ListViewEditableRowTitle({
3763
3755
  element.select();
3764
3756
  }, 0);
3765
3757
  }, [autoFocus]);
3766
- return /* @__PURE__ */ import_react44.default.createElement(
3758
+ return /* @__PURE__ */ import_react45.default.createElement(
3767
3759
  ListViewEditableRowTitleElement,
3768
3760
  {
3769
3761
  ref: inputRef,
@@ -3885,7 +3877,7 @@ var ListViewDragIndicatorElement = import_styled_components25.default.div(({ the
3885
3877
  boxShadow: "0 0 2px rgba(0,0,0,0.5)"
3886
3878
  }
3887
3879
  }));
3888
- var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
3880
+ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
3889
3881
  id,
3890
3882
  tabIndex = 0,
3891
3883
  gap,
@@ -3917,28 +3909,28 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
3917
3909
  divider,
3918
3910
  gap: listGap,
3919
3911
  colorScheme
3920
- } = (0, import_react44.useContext)(ListRowContext);
3912
+ } = (0, import_react45.useContext)(ListRowContext);
3921
3913
  const { hoverProps } = useHover({
3922
3914
  onHoverChange
3923
3915
  });
3924
- const { indentation, isDragging } = (0, import_react44.useContext)(DraggingContext);
3925
- const handlePress = (0, import_react44.useCallback)(
3916
+ const { indentation, isDragging } = (0, import_react45.useContext)(DraggingContext);
3917
+ const handlePress = (0, import_react45.useCallback)(
3926
3918
  (event) => {
3927
3919
  event.preventDefault();
3928
- if (!isLeftButtonClicked(event))
3920
+ if (event.button !== 0)
3929
3921
  return;
3930
3922
  onPress?.(event);
3931
3923
  },
3932
3924
  [onPress]
3933
3925
  );
3934
- const handleDoubleClick = (0, import_react44.useCallback)(
3926
+ const handleDoubleClick = (0, import_react45.useCallback)(
3935
3927
  (event) => {
3936
3928
  event.stopPropagation();
3937
3929
  onDoubleClick?.();
3938
3930
  },
3939
3931
  [onDoubleClick]
3940
3932
  );
3941
- const isDraggingStyle = (0, import_react44.useMemo)(() => {
3933
+ const isDraggingStyle = (0, import_react45.useMemo)(() => {
3942
3934
  return isDragging ? {
3943
3935
  // TODO: Where do these offsets actually come from?
3944
3936
  transform: `translate3d(-36px, -6px, 0)`,
@@ -3949,7 +3941,7 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
3949
3941
  relativeDropPosition,
3950
3942
  ...renderProps
3951
3943
  }, ref) => {
3952
- const element = /* @__PURE__ */ import_react44.default.createElement(
3944
+ const element = /* @__PURE__ */ import_react45.default.createElement(
3953
3945
  RowContainer,
3954
3946
  {
3955
3947
  ref,
@@ -3980,7 +3972,7 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
3980
3972
  ),
3981
3973
  tabIndex
3982
3974
  },
3983
- relativeDropPosition && /* @__PURE__ */ import_react44.default.createElement(
3975
+ relativeDropPosition && /* @__PURE__ */ import_react45.default.createElement(
3984
3976
  ListViewDragIndicatorElement,
3985
3977
  {
3986
3978
  colorScheme,
@@ -3989,11 +3981,11 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
3989
3981
  gap: listGap
3990
3982
  }
3991
3983
  ),
3992
- depth > 0 && /* @__PURE__ */ import_react44.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
3984
+ depth > 0 && /* @__PURE__ */ import_react45.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
3993
3985
  children
3994
3986
  );
3995
3987
  if (menuItems && onSelectMenuItem) {
3996
- return /* @__PURE__ */ import_react44.default.createElement(
3988
+ return /* @__PURE__ */ import_react45.default.createElement(
3997
3989
  ContextMenu,
3998
3990
  {
3999
3991
  items: menuItems,
@@ -4006,21 +3998,21 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
4006
3998
  return element;
4007
3999
  };
4008
4000
  if (sortable && id) {
4009
- return /* @__PURE__ */ import_react44.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(sortableProps, (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)));
4001
+ return /* @__PURE__ */ import_react45.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(sortableProps, (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)));
4010
4002
  }
4011
4003
  return renderContent({}, forwardedRef);
4012
4004
  });
4013
- var RenderItemContext = (0, import_react44.createContext)(
4005
+ var RenderItemContext = (0, import_react45.createContext)(
4014
4006
  () => null
4015
4007
  );
4016
- var VirtualizedListRow = (0, import_react44.memo)(function VirtualizedListRow2({
4008
+ var VirtualizedListRow = (0, import_react45.memo)(function VirtualizedListRow2({
4017
4009
  index,
4018
4010
  style: style3
4019
4011
  }) {
4020
- const renderItem = (0, import_react44.useContext)(RenderItemContext);
4021
- return /* @__PURE__ */ import_react44.default.createElement("div", { key: index, style: style3 }, renderItem(index));
4012
+ const renderItem = (0, import_react45.useContext)(RenderItemContext);
4013
+ return /* @__PURE__ */ import_react45.default.createElement("div", { key: index, style: style3 }, renderItem(index));
4022
4014
  });
4023
- var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedListInner2({
4015
+ var VirtualizedListInner = (0, import_react45.forwardRef)(function VirtualizedListInner2({
4024
4016
  size: size2,
4025
4017
  scrollElement,
4026
4018
  items,
@@ -4028,20 +4020,20 @@ var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedLi
4028
4020
  keyExtractor,
4029
4021
  renderItem
4030
4022
  }, ref) {
4031
- const listRef = (0, import_react44.useRef)(null);
4032
- (0, import_react44.useImperativeHandle)(ref, () => ({
4023
+ const listRef = (0, import_react45.useRef)(null);
4024
+ (0, import_react45.useImperativeHandle)(ref, () => ({
4033
4025
  scrollToIndex(index) {
4034
4026
  listRef.current?.scrollToItem(index);
4035
4027
  }
4036
4028
  }));
4037
- (0, import_react44.useLayoutEffect)(() => {
4029
+ (0, import_react45.useLayoutEffect)(() => {
4038
4030
  listRef.current?.resetAfterIndex(0);
4039
4031
  }, [
4040
4032
  // When items change, we need to re-render the virtualized list,
4041
4033
  // since it doesn't currently support row height changes
4042
4034
  items
4043
4035
  ]);
4044
- const listStyle = (0, import_react44.useMemo)(
4036
+ const listStyle = (0, import_react45.useMemo)(
4045
4037
  () => ({
4046
4038
  overflowX: "initial",
4047
4039
  overflowY: "initial",
@@ -4049,18 +4041,18 @@ var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedLi
4049
4041
  }),
4050
4042
  []
4051
4043
  );
4052
- return /* @__PURE__ */ import_react44.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react44.default.createElement(
4044
+ return /* @__PURE__ */ import_react45.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react45.default.createElement(
4053
4045
  import_react_virtualized.WindowScroller,
4054
4046
  {
4055
4047
  scrollElement,
4056
- style: (0, import_react44.useMemo)(() => ({ flex: "1 1 auto" }), [])
4048
+ style: (0, import_react45.useMemo)(() => ({ flex: "1 1 auto" }), [])
4057
4049
  },
4058
- (0, import_react44.useCallback)(
4050
+ (0, import_react45.useCallback)(
4059
4051
  ({
4060
4052
  registerChild,
4061
4053
  onChildScroll,
4062
4054
  scrollTop
4063
- }) => /* @__PURE__ */ import_react44.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react44.default.createElement(
4055
+ }) => /* @__PURE__ */ import_react45.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react45.default.createElement(
4064
4056
  import_react_window.VariableSizeList,
4065
4057
  {
4066
4058
  ref: listRef,
@@ -4090,7 +4082,7 @@ var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedLi
4090
4082
  )
4091
4083
  ));
4092
4084
  });
4093
- var VirtualizedList = (0, import_react44.memo)(
4085
+ var VirtualizedList = (0, import_react45.memo)(
4094
4086
  VirtualizedListInner
4095
4087
  );
4096
4088
  var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable, gap }) => ({
@@ -4101,7 +4093,7 @@ var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable
4101
4093
  color: theme.colors.textMuted,
4102
4094
  gap
4103
4095
  }));
4104
- var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInner2({
4096
+ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInner2({
4105
4097
  onPress,
4106
4098
  scrollable = false,
4107
4099
  expandable = true,
@@ -4120,7 +4112,7 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4120
4112
  colorScheme = "primary",
4121
4113
  gap = 0
4122
4114
  }, forwardedRef) {
4123
- const handleClick = (0, import_react44.useCallback)(
4115
+ const handleClick = (0, import_react45.useCallback)(
4124
4116
  (event) => {
4125
4117
  if (event.target instanceof HTMLElement && event.target.classList.contains("scroll-component"))
4126
4118
  return;
@@ -4130,19 +4122,19 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4130
4122
  },
4131
4123
  [onPress]
4132
4124
  );
4133
- const renderChild = (0, import_react44.useCallback)(
4125
+ const renderChild = (0, import_react45.useCallback)(
4134
4126
  (index) => renderItem(data[index], index, { isDragging: false }),
4135
4127
  [data, renderItem]
4136
4128
  );
4137
- const getItemContextValue = (0, import_react44.useCallback)(
4129
+ const getItemContextValue = (0, import_react45.useCallback)(
4138
4130
  (i) => {
4139
4131
  const current = renderChild(i);
4140
- if (!(0, import_react44.isValidElement)(current))
4132
+ if (!(0, import_react45.isValidElement)(current))
4141
4133
  return;
4142
4134
  const prevChild = i - 1 >= 0 && renderChild(i - 1);
4143
4135
  const nextChild = i + 1 < data.length && renderChild(i + 1);
4144
- const next = (0, import_react44.isValidElement)(nextChild) ? nextChild : void 0;
4145
- const prev = (0, import_react44.isValidElement)(prevChild) ? prevChild : void 0;
4136
+ const next = (0, import_react45.isValidElement)(nextChild) ? nextChild : void 0;
4137
+ const prev = (0, import_react45.isValidElement)(prevChild) ? prevChild : void 0;
4146
4138
  const hasMarginTop = !prev;
4147
4139
  const hasMarginBottom = !next || current.props.isSectionHeader || next && next.props.isSectionHeader;
4148
4140
  let marginType;
@@ -4194,26 +4186,26 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4194
4186
  gap
4195
4187
  ]
4196
4188
  );
4197
- const draggingContextOverlayValue = (0, import_react44.useMemo)(
4189
+ const draggingContextOverlayValue = (0, import_react45.useMemo)(
4198
4190
  () => ({ indentation, isDragging: true }),
4199
4191
  [indentation]
4200
4192
  );
4201
- const renderOverlay = (0, import_react44.useCallback)(
4202
- (index) => /* @__PURE__ */ import_react44.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react44.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
4193
+ const renderOverlay = (0, import_react45.useCallback)(
4194
+ (index) => /* @__PURE__ */ import_react45.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react45.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
4203
4195
  [draggingContextOverlayValue, renderItem, data]
4204
4196
  );
4205
- const renderWrappedChild = (0, import_react44.useCallback)(
4197
+ const renderWrappedChild = (0, import_react45.useCallback)(
4206
4198
  (index) => {
4207
4199
  const contextValue = getItemContextValue(index);
4208
4200
  const current = renderChild(index);
4209
- if (!contextValue || !(0, import_react44.isValidElement)(current))
4201
+ if (!contextValue || !(0, import_react45.isValidElement)(current))
4210
4202
  return null;
4211
- return /* @__PURE__ */ import_react44.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
4203
+ return /* @__PURE__ */ import_react45.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
4212
4204
  },
4213
4205
  [getItemContextValue, renderChild]
4214
4206
  );
4215
- const ids = (0, import_react44.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
4216
- const withSortable = (children) => sortable ? /* @__PURE__ */ import_react44.default.createElement(
4207
+ const ids = (0, import_react45.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
4208
+ const withSortable = (children) => sortable ? /* @__PURE__ */ import_react45.default.createElement(
4217
4209
  Sortable.Root,
4218
4210
  {
4219
4211
  onMoveItem,
@@ -4223,8 +4215,8 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4223
4215
  },
4224
4216
  children
4225
4217
  ) : children;
4226
- const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react44.default.createElement(ScrollArea, null, children) : children(null);
4227
- const getItemHeight = (0, import_react44.useCallback)(
4218
+ const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react45.default.createElement(ScrollArea, null, children) : children(null);
4219
+ const getItemHeight = (0, import_react45.useCallback)(
4228
4220
  (index) => {
4229
4221
  const child = getItemContextValue(index);
4230
4222
  const margin = child?.marginType ? getPositionMargin(child.marginType) : { top: 0, bottom: 0 };
@@ -4233,12 +4225,12 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4233
4225
  },
4234
4226
  [getItemContextValue, variant]
4235
4227
  );
4236
- const getKey = (0, import_react44.useCallback)(
4228
+ const getKey = (0, import_react45.useCallback)(
4237
4229
  (index) => keyExtractor(data[index], index),
4238
4230
  [data, keyExtractor]
4239
4231
  );
4240
- const draggingContextValue = (0, import_react44.useMemo)(() => ({ indentation }), [indentation]);
4241
- return /* @__PURE__ */ import_react44.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react44.default.createElement(
4232
+ const draggingContextValue = (0, import_react45.useMemo)(() => ({ indentation }), [indentation]);
4233
+ return /* @__PURE__ */ import_react45.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react45.default.createElement(
4242
4234
  RootContainer2,
4243
4235
  {
4244
4236
  ...{
@@ -4249,7 +4241,7 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4249
4241
  },
4250
4242
  withScrollable(
4251
4243
  (scrollElementRef) => withSortable(
4252
- virtualized ? /* @__PURE__ */ import_react44.default.createElement(
4244
+ virtualized ? /* @__PURE__ */ import_react45.default.createElement(
4253
4245
  VirtualizedList,
4254
4246
  {
4255
4247
  ref: forwardedRef,
@@ -4265,42 +4257,42 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
4265
4257
  )
4266
4258
  ));
4267
4259
  });
4268
- var ListViewRoot = (0, import_react44.memo)(ListViewRootInner);
4269
- var ChildrenListViewInner = (0, import_react44.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
4270
- const items = (0, import_react44.useMemo)(
4271
- () => import_react44.Children.toArray(children).flatMap(
4272
- (child) => (0, import_react44.isValidElement)(child) ? [child] : []
4260
+ var ListViewRoot = (0, import_react45.memo)(ListViewRootInner);
4261
+ var ChildrenListViewInner = (0, import_react45.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
4262
+ const items = (0, import_react45.useMemo)(
4263
+ () => import_react45.Children.toArray(children).flatMap(
4264
+ (child) => (0, import_react45.isValidElement)(child) ? [child] : []
4273
4265
  ),
4274
4266
  [children]
4275
4267
  );
4276
- return /* @__PURE__ */ import_react44.default.createElement(
4268
+ return /* @__PURE__ */ import_react45.default.createElement(
4277
4269
  ListViewRoot,
4278
4270
  {
4279
4271
  ref: forwardedRef,
4280
4272
  ...rest,
4281
4273
  data: items,
4282
- keyExtractor: (0, import_react44.useCallback)(
4274
+ keyExtractor: (0, import_react45.useCallback)(
4283
4275
  ({ key }, index) => typeof key === "string" ? key : (key ?? index).toString(),
4284
4276
  []
4285
4277
  ),
4286
- renderItem: (0, import_react44.useCallback)((item) => item, [])
4278
+ renderItem: (0, import_react45.useCallback)((item) => item, [])
4287
4279
  }
4288
4280
  );
4289
4281
  });
4290
- var ChildrenListView = (0, import_react44.memo)(ChildrenListViewInner);
4291
- var SimpleListViewInner = (0, import_react44.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
4282
+ var ChildrenListView = (0, import_react45.memo)(ChildrenListViewInner);
4283
+ var SimpleListViewInner = (0, import_react45.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
4292
4284
  if ("children" in props) {
4293
- return /* @__PURE__ */ import_react44.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
4285
+ return /* @__PURE__ */ import_react45.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
4294
4286
  } else {
4295
- return /* @__PURE__ */ import_react44.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
4287
+ return /* @__PURE__ */ import_react45.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
4296
4288
  }
4297
4289
  });
4298
- var SimpleListView = (0, import_react44.memo)(SimpleListViewInner);
4290
+ var SimpleListView = (0, import_react45.memo)(SimpleListViewInner);
4299
4291
  var ListView;
4300
4292
  ((ListView2) => {
4301
- ListView2.RowTitle = (0, import_react44.memo)(ListViewRowTitle);
4302
- ListView2.EditableRowTitle = (0, import_react44.memo)(ListViewEditableRowTitle);
4303
- ListView2.Row = (0, import_react44.memo)(ListViewRow);
4293
+ ListView2.RowTitle = (0, import_react45.memo)(ListViewRowTitle);
4294
+ ListView2.EditableRowTitle = (0, import_react45.memo)(ListViewEditableRowTitle);
4295
+ ListView2.Row = (0, import_react45.memo)(ListViewRow);
4304
4296
  ListView2.Root = SimpleListView;
4305
4297
  ListView2.RowContext = ListRowContext;
4306
4298
  ListView2.DragIndicator = ListViewDragIndicatorElement;
@@ -4313,7 +4305,7 @@ var ListView;
4313
4305
  })(ListView || (ListView = {}));
4314
4306
 
4315
4307
  // src/components/Text.tsx
4316
- var import_react45 = __toESM(require("react"));
4308
+ var import_react46 = __toESM(require("react"));
4317
4309
  var import_styled_components26 = __toESM(require("styled-components"));
4318
4310
  var elements = {
4319
4311
  title: "h1",
@@ -4334,7 +4326,7 @@ var StyledElement = import_styled_components26.default.span(({ theme, variant, s
4334
4326
  ...styleProps,
4335
4327
  ...mergeBreakpoints(breakpoints || [])
4336
4328
  }));
4337
- var Text = (0, import_react45.forwardRef)(function Text2({
4329
+ var Text = (0, import_react46.forwardRef)(function Text2({
4338
4330
  as,
4339
4331
  variant,
4340
4332
  breakpoints,
@@ -4346,7 +4338,7 @@ var Text = (0, import_react45.forwardRef)(function Text2({
4346
4338
  ...rest
4347
4339
  }, forwardedRef) {
4348
4340
  const element = as ?? elements[variant] ?? "span";
4349
- return /* @__PURE__ */ import_react45.default.createElement(
4341
+ return /* @__PURE__ */ import_react46.default.createElement(
4350
4342
  StyledElement,
4351
4343
  {
4352
4344
  ref: forwardedRef,
@@ -4362,28 +4354,28 @@ var Text = (0, import_react45.forwardRef)(function Text2({
4362
4354
  children
4363
4355
  );
4364
4356
  });
4365
- var Heading1 = (0, import_react45.forwardRef)(
4366
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "heading1" })
4357
+ var Heading1 = (0, import_react46.forwardRef)(
4358
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading1" })
4367
4359
  );
4368
- var Heading2 = (0, import_react45.forwardRef)(
4369
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "heading2" })
4360
+ var Heading2 = (0, import_react46.forwardRef)(
4361
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading2" })
4370
4362
  );
4371
- var Heading3 = (0, import_react45.forwardRef)(
4372
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "heading3" })
4363
+ var Heading3 = (0, import_react46.forwardRef)(
4364
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading3" })
4373
4365
  );
4374
- var Heading4 = (0, import_react45.forwardRef)(
4375
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "heading4" })
4366
+ var Heading4 = (0, import_react46.forwardRef)(
4367
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading4" })
4376
4368
  );
4377
- var Heading5 = (0, import_react45.forwardRef)(
4378
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "heading5" })
4369
+ var Heading5 = (0, import_react46.forwardRef)(
4370
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading5" })
4379
4371
  );
4380
- var Body = (0, import_react45.forwardRef)(
4381
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "body" })
4372
+ var Body = (0, import_react46.forwardRef)(
4373
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "body" })
4382
4374
  );
4383
- var Small = (0, import_react45.forwardRef)(
4384
- (props, ref) => /* @__PURE__ */ import_react45.default.createElement(Text, { ref, ...props, variant: "small" })
4375
+ var Small = (0, import_react46.forwardRef)(
4376
+ (props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "small" })
4385
4377
  );
4386
- var Italic = ({ children }) => /* @__PURE__ */ import_react45.default.createElement(
4378
+ var Italic = ({ children }) => /* @__PURE__ */ import_react46.default.createElement(
4387
4379
  "span",
4388
4380
  {
4389
4381
  style: {
@@ -4425,15 +4417,15 @@ var CompletionToken = import_styled_components27.default.span(
4425
4417
  whiteSpace: "pre"
4426
4418
  })
4427
4419
  );
4428
- var CompletionMenu = (0, import_react46.memo)(
4429
- (0, import_react46.forwardRef)(function CompletionMenu2({
4420
+ var CompletionMenu = (0, import_react47.memo)(
4421
+ (0, import_react47.forwardRef)(function CompletionMenu2({
4430
4422
  items,
4431
4423
  selectedIndex,
4432
4424
  onSelectItem,
4433
4425
  onHoverIndex,
4434
4426
  listSize
4435
4427
  }, forwardedRef) {
4436
- return /* @__PURE__ */ import_react46.default.createElement(
4428
+ return /* @__PURE__ */ import_react47.default.createElement(
4437
4429
  ListView.Root,
4438
4430
  {
4439
4431
  ref: forwardedRef,
@@ -4445,13 +4437,13 @@ var CompletionMenu = (0, import_react46.memo)(
4445
4437
  sectionHeaderVariant: "label",
4446
4438
  renderItem: (item, i) => {
4447
4439
  if (item.type === "sectionHeader") {
4448
- return /* @__PURE__ */ import_react46.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
4440
+ return /* @__PURE__ */ import_react47.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
4449
4441
  }
4450
4442
  const tokens = fuzzyTokenize({
4451
4443
  item: item.name,
4452
4444
  itemScore: item
4453
4445
  });
4454
- return /* @__PURE__ */ import_react46.default.createElement(
4446
+ return /* @__PURE__ */ import_react47.default.createElement(
4455
4447
  ListView.Row,
4456
4448
  {
4457
4449
  key: item.id,
@@ -4463,16 +4455,16 @@ var CompletionMenu = (0, import_react46.memo)(
4463
4455
  }
4464
4456
  }
4465
4457
  },
4466
- tokens.map((token, j) => /* @__PURE__ */ import_react46.default.createElement(CompletionToken, { key: j, type: token.type }, token.text)),
4467
- item.icon && /* @__PURE__ */ import_react46.default.createElement(import_react46.default.Fragment, null, /* @__PURE__ */ import_react46.default.createElement(Spacer.Horizontal, null), item.icon)
4458
+ tokens.map((token, j) => /* @__PURE__ */ import_react47.default.createElement(CompletionToken, { key: j, type: token.type }, token.text)),
4459
+ item.icon && /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement(Spacer.Horizontal, null), item.icon)
4468
4460
  );
4469
4461
  }
4470
4462
  }
4471
4463
  );
4472
4464
  })
4473
4465
  );
4474
- var InputFieldWithCompletions = (0, import_react46.memo)(
4475
- (0, import_react46.forwardRef)(function InputFieldWithCompletions2({
4466
+ var InputFieldWithCompletions = (0, import_react47.memo)(
4467
+ (0, import_react47.forwardRef)(function InputFieldWithCompletions2({
4476
4468
  loading,
4477
4469
  initialValue = "",
4478
4470
  placeholder,
@@ -4490,13 +4482,13 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4490
4482
  hideChildrenWhenFocused = false,
4491
4483
  hideMenuWhenEmptyValue = false
4492
4484
  }, forwardedRef) {
4493
- const ref = (0, import_react46.useRef)(null);
4494
- const [isFocused, setIsFocused] = (0, import_react46.useState)(false);
4495
- const [state, _setState] = (0, import_react46.useState)({
4485
+ const ref = (0, import_react47.useRef)(null);
4486
+ const [isFocused, setIsFocused] = (0, import_react47.useState)(false);
4487
+ const [state, _setState] = (0, import_react47.useState)({
4496
4488
  filter: initialValue,
4497
4489
  selectedIndex: 0
4498
4490
  });
4499
- const updateState = (0, import_react46.useCallback)(
4491
+ const updateState = (0, import_react47.useCallback)(
4500
4492
  (newState, hoverItem) => {
4501
4493
  const nextState = { ...state, ...newState };
4502
4494
  const nextItems = filterWithGroupedSections(items, nextState.filter);
@@ -4525,16 +4517,16 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4525
4517
  },
4526
4518
  [items, onChange, onHoverItem, state]
4527
4519
  );
4528
- const initialValueRef = (0, import_react46.useRef)(initialValue);
4529
- (0, import_react46.useLayoutEffect)(() => {
4520
+ const initialValueRef = (0, import_react47.useRef)(initialValue);
4521
+ (0, import_react47.useLayoutEffect)(() => {
4530
4522
  if (initialValueRef.current === initialValue)
4531
4523
  return;
4532
4524
  initialValueRef.current = initialValue;
4533
4525
  updateState({ filter: initialValue });
4534
4526
  }, [initialValue, updateState]);
4535
4527
  const { filter, selectedIndex } = state;
4536
- const listRef = import_react46.default.useRef(null);
4537
- const filteredItems = (0, import_react46.useMemo)(
4528
+ const listRef = import_react47.default.useRef(null);
4529
+ const filteredItems = (0, import_react47.useMemo)(
4538
4530
  () => filterWithGroupedSections(items, filter),
4539
4531
  [items, filter]
4540
4532
  );
@@ -4550,13 +4542,13 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4550
4542
  ),
4551
4543
  ListView.rowHeight * 10.5
4552
4544
  );
4553
- (0, import_react46.useEffect)(() => {
4545
+ (0, import_react47.useEffect)(() => {
4554
4546
  if (listRef.current) {
4555
4547
  listRef.current.scrollToIndex(selectedIndex);
4556
4548
  }
4557
4549
  }, [selectedIndex]);
4558
- const lastSubmittedValueRef = (0, import_react46.useRef)(void 0);
4559
- const selectItem = (0, import_react46.useCallback)(
4550
+ const lastSubmittedValueRef = (0, import_react47.useRef)(void 0);
4551
+ const selectItem = (0, import_react47.useCallback)(
4560
4552
  (item) => {
4561
4553
  if (item.type === "sectionHeader")
4562
4554
  return;
@@ -4572,17 +4564,17 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4572
4564
  },
4573
4565
  [filter, onSelectItem, onHoverItem, ref]
4574
4566
  );
4575
- const handleChange = (0, import_react46.useCallback)(
4567
+ const handleChange = (0, import_react47.useCallback)(
4576
4568
  (value) => updateState({ selectedIndex: 0, filter: value }),
4577
4569
  [updateState]
4578
4570
  );
4579
- const handleBlur = (0, import_react46.useCallback)(() => {
4571
+ const handleBlur = (0, import_react47.useCallback)(() => {
4580
4572
  setIsFocused(false);
4581
4573
  const didSubmit = lastSubmittedValueRef.current?.filter === filter;
4582
4574
  updateState({ selectedIndex: 0, filter: initialValue }, "resetHover");
4583
4575
  onBlur?.(didSubmit, filter);
4584
4576
  }, [filter, initialValue, onBlur, updateState]);
4585
- const handleFocus = (0, import_react46.useCallback)(
4577
+ const handleFocus = (0, import_react47.useCallback)(
4586
4578
  (event) => {
4587
4579
  setIsFocused(true);
4588
4580
  updateState({ selectedIndex: 0, filter: initialValue });
@@ -4590,11 +4582,11 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4590
4582
  },
4591
4583
  [initialValue, onFocus, updateState]
4592
4584
  );
4593
- const handleIndexChange = (0, import_react46.useCallback)(
4585
+ const handleIndexChange = (0, import_react47.useCallback)(
4594
4586
  (index) => updateState({ selectedIndex: index }),
4595
4587
  [updateState]
4596
4588
  );
4597
- const handleKeyDown = (0, import_react46.useCallback)(
4589
+ const handleKeyDown = (0, import_react47.useCallback)(
4598
4590
  (event) => {
4599
4591
  let handled = false;
4600
4592
  switch (event.key) {
@@ -4658,7 +4650,7 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4658
4650
  );
4659
4651
  const display = !filter && hideMenuWhenEmptyValue ? "none" : "flex";
4660
4652
  const typeaheadValue = filteredItems[selectedIndex]?.name;
4661
- (0, import_react46.useImperativeHandle)(forwardedRef, () => ({
4653
+ (0, import_react47.useImperativeHandle)(forwardedRef, () => ({
4662
4654
  focus: () => {
4663
4655
  ref.current?.focus();
4664
4656
  },
@@ -4669,14 +4661,14 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4669
4661
  ref.current?.setSelectionRange(0, ref.current.value.length);
4670
4662
  }
4671
4663
  }));
4672
- return /* @__PURE__ */ import_react46.default.createElement(
4664
+ return /* @__PURE__ */ import_react47.default.createElement(
4673
4665
  InputField.Root,
4674
4666
  {
4675
4667
  size: size2,
4676
4668
  labelSize: 16,
4677
4669
  renderPopoverContent: ({ width }) => {
4678
4670
  const listSize = { width, height };
4679
- return /* @__PURE__ */ import_react46.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react46.default.createElement(
4671
+ return /* @__PURE__ */ import_react47.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react47.default.createElement(
4680
4672
  CompletionMenu,
4681
4673
  {
4682
4674
  ref: listRef,
@@ -4686,7 +4678,7 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4686
4678
  onHoverIndex: handleIndexChange,
4687
4679
  listSize
4688
4680
  }
4689
- ) : /* @__PURE__ */ import_react46.default.createElement(
4681
+ ) : /* @__PURE__ */ import_react47.default.createElement(
4690
4682
  Stack.V,
4691
4683
  {
4692
4684
  height: "100px",
@@ -4694,11 +4686,11 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4694
4686
  alignItems: "center",
4695
4687
  justifyContent: "center"
4696
4688
  },
4697
- /* @__PURE__ */ import_react46.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
4689
+ /* @__PURE__ */ import_react47.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
4698
4690
  ));
4699
4691
  }
4700
4692
  },
4701
- /* @__PURE__ */ import_react46.default.createElement(
4693
+ /* @__PURE__ */ import_react47.default.createElement(
4702
4694
  InputField.Input,
4703
4695
  {
4704
4696
  ref,
@@ -4722,9 +4714,9 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
4722
4714
  "aria-controls": "component-listbox"
4723
4715
  }
4724
4716
  ),
4725
- filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react46.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
4717
+ filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react47.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
4726
4718
  (!isFocused || !hideChildrenWhenFocused) && children,
4727
- loading && isFocused && /* @__PURE__ */ import_react46.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react46.default.createElement(ActivityIndicator, null))
4719
+ loading && isFocused && /* @__PURE__ */ import_react47.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react47.default.createElement(ActivityIndicator, null))
4728
4720
  );
4729
4721
  })
4730
4722
  );
@@ -4746,7 +4738,7 @@ function getNextIndex(items, currentIndex, direction, isDisabled) {
4746
4738
  }
4747
4739
 
4748
4740
  // src/components/Label.tsx
4749
- var import_react47 = __toESM(require("react"));
4741
+ var import_react48 = __toESM(require("react"));
4750
4742
  var import_styled_components28 = __toESM(require("styled-components"));
4751
4743
  var LabelLabel = import_styled_components28.default.label(
4752
4744
  ({ theme, selected }) => ({
@@ -4775,17 +4767,17 @@ var LabelContainer2 = import_styled_components28.default.span(({ theme }) => ({
4775
4767
  alignItems: "center"
4776
4768
  }));
4777
4769
  function LabelRoot({ label, children }) {
4778
- return /* @__PURE__ */ import_react47.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react47.default.createElement(LabelLabel, null, label)));
4770
+ return /* @__PURE__ */ import_react48.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react48.default.createElement(LabelLabel, null, label)));
4779
4771
  }
4780
4772
  var Label;
4781
4773
  ((_Label) => {
4782
- _Label.Label = (0, import_react47.memo)(LabelLabel);
4783
- _Label.Root = (0, import_react47.memo)(LabelRoot);
4774
+ _Label.Label = (0, import_react48.memo)(LabelLabel);
4775
+ _Label.Root = (0, import_react48.memo)(LabelRoot);
4784
4776
  })(Label || (Label = {}));
4785
4777
 
4786
4778
  // src/components/LabeledElementView.tsx
4787
4779
  var kiwi = __toESM(require("kiwi.js"));
4788
- var import_react48 = __toESM(require("react"));
4780
+ var import_react49 = __toESM(require("react"));
4789
4781
  var import_styled_components29 = __toESM(require("styled-components"));
4790
4782
  var Container4 = import_styled_components29.default.div(({ theme }) => ({
4791
4783
  display: "flex",
@@ -4804,24 +4796,24 @@ var Labels = import_styled_components29.default.div(({ theme }) => ({
4804
4796
  overflow: "hidden",
4805
4797
  userSelect: "none"
4806
4798
  }));
4807
- var LabeledElementView = (0, import_react48.memo)(function LabeledElementView2({
4799
+ var LabeledElementView = (0, import_react49.memo)(function LabeledElementView2({
4808
4800
  children,
4809
4801
  renderLabel
4810
4802
  }) {
4811
- const elementIds = import_react48.Children.toArray(children).flatMap(
4812
- (child) => (0, import_react48.isValidElement)(child) && child.type === import_react48.Fragment ? child.props.children : [child]
4803
+ const elementIds = import_react49.Children.toArray(children).flatMap(
4804
+ (child) => (0, import_react49.isValidElement)(child) && child.type === import_react49.Fragment ? child.props.children : [child]
4813
4805
  ).map(
4814
- (child) => (0, import_react48.isValidElement)(child) && "id" in child.props ? child.props.id : null
4806
+ (child) => (0, import_react49.isValidElement)(child) && "id" in child.props ? child.props.id : null
4815
4807
  ).filter((id) => !!id);
4816
4808
  const serializedIds = elementIds.join(",");
4817
- const containerRef = (0, import_react48.useRef)(null);
4818
- const refs = (0, import_react48.useMemo)(() => {
4809
+ const containerRef = (0, import_react49.useRef)(null);
4810
+ const refs = (0, import_react49.useMemo)(() => {
4819
4811
  return Object.fromEntries(
4820
- serializedIds.split(",").map((id) => [id, (0, import_react48.createRef)()])
4812
+ serializedIds.split(",").map((id) => [id, (0, import_react49.createRef)()])
4821
4813
  );
4822
4814
  }, [serializedIds]);
4823
- const labelElements = (0, import_react48.useMemo)(() => {
4824
- return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react48.default.createElement(
4815
+ const labelElements = (0, import_react49.useMemo)(() => {
4816
+ return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react49.default.createElement(
4825
4817
  "span",
4826
4818
  {
4827
4819
  key: id,
@@ -4834,7 +4826,7 @@ var LabeledElementView = (0, import_react48.memo)(function LabeledElementView2({
4834
4826
  })
4835
4827
  ));
4836
4828
  }, [refs, serializedIds, renderLabel]);
4837
- (0, import_react48.useLayoutEffect)(() => {
4829
+ (0, import_react49.useLayoutEffect)(() => {
4838
4830
  if (!containerRef.current)
4839
4831
  return;
4840
4832
  const containerRect = containerRef.current.getBoundingClientRect();
@@ -4899,13 +4891,13 @@ var LabeledElementView = (0, import_react48.memo)(function LabeledElementView2({
4899
4891
  `${Math.max(...heights)}px`
4900
4892
  );
4901
4893
  }, [refs, labelElements]);
4902
- return /* @__PURE__ */ import_react48.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react48.default.createElement(Tools, null, children), /* @__PURE__ */ import_react48.default.createElement(Labels, null, labelElements));
4894
+ return /* @__PURE__ */ import_react49.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react49.default.createElement(Tools, null, children), /* @__PURE__ */ import_react49.default.createElement(Labels, null, labelElements));
4903
4895
  });
4904
4896
 
4905
4897
  // src/components/Progress.tsx
4906
4898
  var import_noya_utils9 = require("@noya-app/noya-utils");
4907
4899
  var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
4908
- var import_react49 = __toESM(require("react"));
4900
+ var import_react50 = __toESM(require("react"));
4909
4901
  var import_styled_components30 = __toESM(require("styled-components"));
4910
4902
  function Progress({
4911
4903
  value,
@@ -4915,7 +4907,7 @@ function Progress({
4915
4907
  variant = "normal"
4916
4908
  }) {
4917
4909
  const clampedValue = (0, import_noya_utils9.clamp)(value, 0, 100);
4918
- return /* @__PURE__ */ import_react49.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react49.default.createElement(
4910
+ return /* @__PURE__ */ import_react50.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react50.default.createElement(
4919
4911
  ProgressIndicator,
4920
4912
  {
4921
4913
  variant,
@@ -4940,7 +4932,7 @@ var ProgressIndicator = (0, import_styled_components30.default)(ProgressPrimitiv
4940
4932
 
4941
4933
  // src/components/RadioGroup.tsx
4942
4934
  var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"));
4943
- var import_react50 = __toESM(require("react"));
4935
+ var import_react51 = __toESM(require("react"));
4944
4936
  var import_styled_components31 = __toESM(require("styled-components"));
4945
4937
  var ignoredProps3 = /* @__PURE__ */ new Set(["colorScheme"]);
4946
4938
  var StyledRoot = (0, import_styled_components31.default)(ToggleGroupPrimitive.Root).withConfig({
@@ -4992,9 +4984,9 @@ var StyledItem = (0, import_styled_components31.default)(ToggleGroupPrimitive.It
4992
4984
  boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors[colorScheme ?? "primary"]}`
4993
4985
  }
4994
4986
  }));
4995
- var ToggleGroupItem = (0, import_react50.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
4996
- const { colorScheme } = (0, import_react50.useContext)(RadioGroupContext);
4997
- const itemElement = /* @__PURE__ */ import_react50.default.createElement(
4987
+ var ToggleGroupItem = (0, import_react51.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
4988
+ const { colorScheme } = (0, import_react51.useContext)(RadioGroupContext);
4989
+ const itemElement = /* @__PURE__ */ import_react51.default.createElement(
4998
4990
  StyledItem,
4999
4991
  {
5000
4992
  ref: forwardedRef,
@@ -5004,9 +4996,9 @@ var ToggleGroupItem = (0, import_react50.forwardRef)(function ToggleGroupItem2({
5004
4996
  },
5005
4997
  children
5006
4998
  );
5007
- return tooltip ? /* @__PURE__ */ import_react50.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
4999
+ return tooltip ? /* @__PURE__ */ import_react51.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
5008
5000
  });
5009
- var RadioGroupContext = (0, import_react50.createContext)({
5001
+ var RadioGroupContext = (0, import_react51.createContext)({
5010
5002
  colorScheme: "primary"
5011
5003
  });
5012
5004
  function ToggleGroupRoot({
@@ -5017,8 +5009,8 @@ function ToggleGroupRoot({
5017
5009
  allowEmpty,
5018
5010
  children
5019
5011
  }) {
5020
- const contextValue = (0, import_react50.useMemo)(() => ({ colorScheme }), [colorScheme]);
5021
- const handleValueChange = (0, import_react50.useCallback)(
5012
+ const contextValue = (0, import_react51.useMemo)(() => ({ colorScheme }), [colorScheme]);
5013
+ const handleValueChange = (0, import_react51.useCallback)(
5022
5014
  (value2) => {
5023
5015
  if (!allowEmpty && !value2)
5024
5016
  return;
@@ -5026,7 +5018,7 @@ function ToggleGroupRoot({
5026
5018
  },
5027
5019
  [allowEmpty, onValueChange]
5028
5020
  );
5029
- return /* @__PURE__ */ import_react50.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react50.default.createElement(
5021
+ return /* @__PURE__ */ import_react51.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react51.default.createElement(
5030
5022
  StyledRoot,
5031
5023
  {
5032
5024
  id,
@@ -5040,28 +5032,28 @@ function ToggleGroupRoot({
5040
5032
  }
5041
5033
  var RadioGroup;
5042
5034
  ((RadioGroup2) => {
5043
- RadioGroup2.Root = (0, import_react50.memo)(ToggleGroupRoot);
5044
- RadioGroup2.Item = (0, import_react50.memo)(ToggleGroupItem);
5035
+ RadioGroup2.Root = (0, import_react51.memo)(ToggleGroupRoot);
5036
+ RadioGroup2.Item = (0, import_react51.memo)(ToggleGroupItem);
5045
5037
  })(RadioGroup || (RadioGroup = {}));
5046
5038
 
5047
5039
  // src/components/Select.tsx
5048
5040
  var import_noya_utils10 = require("@noya-app/noya-utils");
5049
- var import_react51 = __toESM(require("react"));
5041
+ var import_react52 = __toESM(require("react"));
5050
5042
  var import_styled_components32 = __toESM(require("styled-components"));
5051
- var SelectContext = (0, import_react51.createContext)(void 0);
5052
- var SelectOption = (0, import_react51.memo)(function SelectOption2({
5043
+ var SelectContext = (0, import_react52.createContext)(void 0);
5044
+ var SelectOption = (0, import_react52.memo)(function SelectOption2({
5053
5045
  value,
5054
5046
  title,
5055
5047
  onSelect
5056
5048
  }) {
5057
- const { addListener, removeListener } = (0, import_react51.useContext)(SelectContext);
5058
- (0, import_react51.useEffect)(() => {
5049
+ const { addListener, removeListener } = (0, import_react52.useContext)(SelectContext);
5050
+ (0, import_react52.useEffect)(() => {
5059
5051
  if (!onSelect)
5060
5052
  return;
5061
5053
  addListener(value, onSelect);
5062
5054
  return () => removeListener(value);
5063
5055
  }, [addListener, onSelect, removeListener, value]);
5064
- return /* @__PURE__ */ import_react51.default.createElement("option", { value }, title ?? value);
5056
+ return /* @__PURE__ */ import_react52.default.createElement("option", { value }, title ?? value);
5065
5057
  });
5066
5058
  var createChevronSVGString = (0, import_noya_utils10.memoize)(
5067
5059
  (color) => `
@@ -5101,7 +5093,7 @@ var SelectElement = import_styled_components32.default.select(
5101
5093
  }
5102
5094
  })
5103
5095
  );
5104
- var Select = (0, import_react51.memo)(function Select2({
5096
+ var Select = (0, import_react52.memo)(function Select2({
5105
5097
  id,
5106
5098
  flex,
5107
5099
  value,
@@ -5111,8 +5103,8 @@ var Select = (0, import_react51.memo)(function Select2({
5111
5103
  const getTitle = "options" in rest ? rest.getTitle : void 0;
5112
5104
  const onChange = "options" in rest ? rest.onChange : void 0;
5113
5105
  const children = "options" in rest ? void 0 : rest.children;
5114
- const optionElements = (0, import_react51.useMemo)(
5115
- () => options ? options.map((option, index) => /* @__PURE__ */ import_react51.default.createElement(
5106
+ const optionElements = (0, import_react52.useMemo)(
5107
+ () => options ? options.map((option, index) => /* @__PURE__ */ import_react52.default.createElement(
5116
5108
  SelectOption,
5117
5109
  {
5118
5110
  key: option,
@@ -5123,21 +5115,21 @@ var Select = (0, import_react51.memo)(function Select2({
5123
5115
  )) : children,
5124
5116
  [children, getTitle, onChange, options]
5125
5117
  );
5126
- const listeners = (0, import_react51.useRef)(/* @__PURE__ */ new Map());
5127
- const contextValue = (0, import_react51.useMemo)(
5118
+ const listeners = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
5119
+ const contextValue = (0, import_react52.useMemo)(
5128
5120
  () => ({
5129
5121
  addListener: (value2, listener) => listeners.current.set(value2, listener),
5130
5122
  removeListener: (value2) => listeners.current.delete(value2)
5131
5123
  }),
5132
5124
  []
5133
5125
  );
5134
- return /* @__PURE__ */ import_react51.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react51.default.createElement(
5126
+ return /* @__PURE__ */ import_react52.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react52.default.createElement(
5135
5127
  SelectElement,
5136
5128
  {
5137
5129
  id,
5138
5130
  flex,
5139
5131
  value,
5140
- onChange: (0, import_react51.useCallback)(
5132
+ onChange: (0, import_react52.useCallback)(
5141
5133
  (event) => listeners.current.get(event.target.value)?.(),
5142
5134
  [listeners]
5143
5135
  ),
@@ -5149,7 +5141,7 @@ var Select = (0, import_react51.memo)(function Select2({
5149
5141
 
5150
5142
  // src/components/Slider.tsx
5151
5143
  var RadixSlider = __toESM(require("@radix-ui/react-slider"));
5152
- var import_react52 = __toESM(require("react"));
5144
+ var import_react53 = __toESM(require("react"));
5153
5145
  var import_styled_components33 = __toESM(require("styled-components"));
5154
5146
  var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
5155
5147
  flex: "1",
@@ -5190,17 +5182,17 @@ var Slider = function Slider2({
5190
5182
  min,
5191
5183
  max
5192
5184
  }) {
5193
- const arrayValue = (0, import_react52.useMemo)(
5185
+ const arrayValue = (0, import_react53.useMemo)(
5194
5186
  () => [Math.min(Math.max(value, min), max)],
5195
5187
  [value, min, max]
5196
5188
  );
5197
- const handleValueChange = (0, import_react52.useCallback)(
5189
+ const handleValueChange = (0, import_react53.useCallback)(
5198
5190
  (arrayValue2) => {
5199
5191
  onValueChange(arrayValue2[0]);
5200
5192
  },
5201
5193
  [onValueChange]
5202
5194
  );
5203
- return /* @__PURE__ */ import_react52.default.createElement(
5195
+ return /* @__PURE__ */ import_react53.default.createElement(
5204
5196
  StyledSlider,
5205
5197
  {
5206
5198
  min,
@@ -5209,14 +5201,14 @@ var Slider = function Slider2({
5209
5201
  value: arrayValue,
5210
5202
  onValueChange: handleValueChange
5211
5203
  },
5212
- /* @__PURE__ */ import_react52.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react52.default.createElement(StyledRange, null)),
5213
- /* @__PURE__ */ import_react52.default.createElement(StyledThumb2, null)
5204
+ /* @__PURE__ */ import_react53.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react53.default.createElement(StyledRange, null)),
5205
+ /* @__PURE__ */ import_react53.default.createElement(StyledThumb2, null)
5214
5206
  );
5215
5207
  };
5216
5208
 
5217
5209
  // src/components/Switch.tsx
5218
5210
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
5219
- var import_react53 = __toESM(require("react"));
5211
+ var import_react54 = __toESM(require("react"));
5220
5212
  var import_styled_components34 = __toESM(require("styled-components"));
5221
5213
  var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)(({ theme, colorScheme: variant }) => ({
5222
5214
  all: "unset",
@@ -5252,7 +5244,7 @@ var Switch = function Switch2({
5252
5244
  onChange,
5253
5245
  colorScheme = "normal"
5254
5246
  }) {
5255
- return /* @__PURE__ */ import_react53.default.createElement(
5247
+ return /* @__PURE__ */ import_react54.default.createElement(
5256
5248
  SwitchRoot,
5257
5249
  {
5258
5250
  colorScheme,
@@ -5261,42 +5253,42 @@ var Switch = function Switch2({
5261
5253
  onChange(newValue);
5262
5254
  }
5263
5255
  },
5264
- /* @__PURE__ */ import_react53.default.createElement(SwitchThumb, null)
5256
+ /* @__PURE__ */ import_react54.default.createElement(SwitchThumb, null)
5265
5257
  );
5266
5258
  };
5267
5259
 
5268
5260
  // src/components/TreeView.tsx
5269
- var import_react54 = __toESM(require("react"));
5270
- var TreeRow = (0, import_react54.forwardRef)(function TreeRow2({
5261
+ var import_react55 = __toESM(require("react"));
5262
+ var TreeRow = (0, import_react55.forwardRef)(function TreeRow2({
5271
5263
  icon,
5272
5264
  expanded,
5273
5265
  onClickChevron,
5274
5266
  children,
5275
5267
  ...rest
5276
5268
  }, forwardedRef) {
5277
- const { expandable } = (0, import_react54.useContext)(ListView.RowContext);
5278
- const handleClickChevron = (0, import_react54.useCallback)(
5269
+ const { expandable } = (0, import_react55.useContext)(ListView.RowContext);
5270
+ const handleClickChevron = (0, import_react55.useCallback)(
5279
5271
  (event) => {
5280
5272
  event.stopPropagation();
5281
5273
  onClickChevron?.({ altKey: event.altKey });
5282
5274
  },
5283
5275
  [onClickChevron]
5284
5276
  );
5285
- return /* @__PURE__ */ import_react54.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react54.default.createElement(import_react54.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react54.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react54.default.createElement(
5277
+ return /* @__PURE__ */ import_react55.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react55.default.createElement(
5286
5278
  IconButton,
5287
5279
  {
5288
5280
  iconName: expanded ? "ChevronDownIcon" : "ChevronRightIcon",
5289
5281
  onClick: handleClickChevron,
5290
5282
  selected: rest.selected
5291
5283
  }
5292
- ), /* @__PURE__ */ import_react54.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react54.default.createElement(import_react54.default.Fragment, null, icon, /* @__PURE__ */ import_react54.default.createElement(Spacer.Horizontal, { size: 10 })), children);
5284
+ ), /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, icon, /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: 10 })), children);
5293
5285
  });
5294
5286
  var TreeView;
5295
5287
  ((TreeView2) => {
5296
5288
  TreeView2.Root = ListView.Root;
5297
5289
  TreeView2.RowTitle = ListView.RowTitle;
5298
5290
  TreeView2.EditableRowTitle = ListView.EditableRowTitle;
5299
- TreeView2.Row = (0, import_react54.memo)(TreeRow);
5291
+ TreeView2.Row = (0, import_react55.memo)(TreeRow);
5300
5292
  })(TreeView || (TreeView = {}));
5301
5293
 
5302
5294
  // src/hooks/usePlatform.ts
@@ -5590,7 +5582,7 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
5590
5582
 
5591
5583
  // src/components/ArrayController.tsx
5592
5584
  var import_noya_utils11 = require("@noya-app/noya-utils");
5593
- var import_react56 = __toESM(require("react"));
5585
+ var import_react57 = __toESM(require("react"));
5594
5586
  var import_styled_components36 = __toESM(require("styled-components"));
5595
5587
 
5596
5588
  // src/components/InspectorPrimitives.tsx
@@ -5609,7 +5601,7 @@ __export(InspectorPrimitives_exports, {
5609
5601
  Title: () => Title3,
5610
5602
  VerticalSeparator: () => VerticalSeparator
5611
5603
  });
5612
- var import_react55 = __toESM(require("react"));
5604
+ var import_react56 = __toESM(require("react"));
5613
5605
  var import_styled_components35 = __toESM(require("styled-components"));
5614
5606
  var Section = import_styled_components35.default.div(({ theme, padding = "10px", gap }) => ({
5615
5607
  flex: "0 0 auto",
@@ -5656,8 +5648,8 @@ var Checkbox = import_styled_components35.default.input(({ theme }) => ({
5656
5648
  var Text3 = import_styled_components35.default.span(({ theme }) => ({
5657
5649
  ...theme.textStyles.small
5658
5650
  }));
5659
- var VerticalSeparator = () => /* @__PURE__ */ import_react55.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
5660
- var HorizontalSeparator = () => /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
5651
+ var VerticalSeparator = () => /* @__PURE__ */ import_react56.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
5652
+ var HorizontalSeparator = () => /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
5661
5653
  var SliderRowLabel = import_styled_components35.default.span(({ theme }) => ({
5662
5654
  ...theme.textStyles.small,
5663
5655
  color: theme.colors.textMuted,
@@ -5676,7 +5668,7 @@ var RowLabel = import_styled_components35.default.span(({ theme, textStyle }) =>
5676
5668
  lineHeight: "19px"
5677
5669
  // Button height
5678
5670
  }));
5679
- var LabeledRow = (0, import_react55.memo)(function LabeledRow2({
5671
+ var LabeledRow = (0, import_react56.memo)(function LabeledRow2({
5680
5672
  id,
5681
5673
  children,
5682
5674
  label,
@@ -5684,13 +5676,13 @@ var LabeledRow = (0, import_react55.memo)(function LabeledRow2({
5684
5676
  gap,
5685
5677
  right
5686
5678
  }) {
5687
- return /* @__PURE__ */ import_react55.default.createElement(Row2, { id }, /* @__PURE__ */ import_react55.default.createElement(Column, null, /* @__PURE__ */ import_react55.default.createElement(RowLabel, { textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react55.default.createElement(Row2, { gap }, children)));
5679
+ return /* @__PURE__ */ import_react56.default.createElement(Row2, { id }, /* @__PURE__ */ import_react56.default.createElement(Column, null, /* @__PURE__ */ import_react56.default.createElement(RowLabel, { textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react56.default.createElement(Row2, { gap }, children)));
5688
5680
  });
5689
- var LabeledSliderRow = (0, import_react55.memo)(function LabeledRow3({
5681
+ var LabeledSliderRow = (0, import_react56.memo)(function LabeledRow3({
5690
5682
  children,
5691
5683
  label
5692
5684
  }) {
5693
- return /* @__PURE__ */ import_react55.default.createElement(Row2, null, /* @__PURE__ */ import_react55.default.createElement(Column, null, /* @__PURE__ */ import_react55.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react55.default.createElement(Row2, null, children)));
5685
+ return /* @__PURE__ */ import_react56.default.createElement(Row2, null, /* @__PURE__ */ import_react56.default.createElement(Column, null, /* @__PURE__ */ import_react56.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react56.default.createElement(Row2, null, children)));
5694
5686
  });
5695
5687
 
5696
5688
  // src/components/ArrayController.tsx
@@ -5703,7 +5695,7 @@ var ElementRow = import_styled_components36.default.div({
5703
5695
  var ItemContainer2 = import_styled_components36.default.div({
5704
5696
  position: "relative"
5705
5697
  });
5706
- var ArrayController = (0, import_react56.memo)(function ArrayController2({
5698
+ var ArrayController = (0, import_react57.memo)(function ArrayController2({
5707
5699
  id,
5708
5700
  items,
5709
5701
  title,
@@ -5721,12 +5713,12 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
5721
5713
  }) {
5722
5714
  const iconColor = (0, import_styled_components36.useTheme)().colors.icon;
5723
5715
  const primaryLightColor = (0, import_styled_components36.useTheme)().colors.primaryLight;
5724
- const keys = (0, import_react56.useMemo)(
5716
+ const keys = (0, import_react57.useMemo)(
5725
5717
  () => items.map((item, index) => getKey?.(item) ?? index.toString()),
5726
5718
  [getKey, items]
5727
5719
  );
5728
5720
  const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
5729
- const handleMoveItem = (0, import_react56.useCallback)(
5721
+ const handleMoveItem = (0, import_react57.useCallback)(
5730
5722
  (sourceIndex, destinationIndex, position) => {
5731
5723
  if (reversed) {
5732
5724
  if (position === "above") {
@@ -5743,11 +5735,11 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
5743
5735
  [onMoveItem, reversed]
5744
5736
  );
5745
5737
  const renderRow = (index) => {
5746
- return /* @__PURE__ */ import_react56.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
5738
+ return /* @__PURE__ */ import_react57.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
5747
5739
  };
5748
- return /* @__PURE__ */ import_react56.default.createElement(Section, { id, padding, gap: "2px" }, /* @__PURE__ */ import_react56.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react56.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react56.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
5740
+ return /* @__PURE__ */ import_react57.default.createElement(Section, { id, padding, gap: "2px" }, /* @__PURE__ */ import_react57.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react57.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react57.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react57.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
5749
5741
  [
5750
- onClickTrash && /* @__PURE__ */ import_react56.default.createElement(
5742
+ onClickTrash && /* @__PURE__ */ import_react57.default.createElement(
5751
5743
  IconButton,
5752
5744
  {
5753
5745
  id: `${id}-trash`,
@@ -5756,7 +5748,7 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
5756
5748
  onClick: onClickTrash
5757
5749
  }
5758
5750
  ),
5759
- onClickExpand && /* @__PURE__ */ import_react56.default.createElement(
5751
+ onClickExpand && /* @__PURE__ */ import_react57.default.createElement(
5760
5752
  IconButton,
5761
5753
  {
5762
5754
  id: `${id}-gear`,
@@ -5765,7 +5757,7 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
5765
5757
  onClick: onClickExpand
5766
5758
  }
5767
5759
  ),
5768
- onClickPlus && /* @__PURE__ */ import_react56.default.createElement(
5760
+ onClickPlus && /* @__PURE__ */ import_react57.default.createElement(
5769
5761
  IconButton,
5770
5762
  {
5771
5763
  id: `${id}-add`,
@@ -5775,15 +5767,15 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
5775
5767
  }
5776
5768
  )
5777
5769
  ],
5778
- /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, { size: 8 })
5779
- )), /* @__PURE__ */ import_react56.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react56.default.createElement(
5770
+ /* @__PURE__ */ import_react57.default.createElement(Spacer.Horizontal, { size: 8 })
5771
+ )), /* @__PURE__ */ import_react57.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react57.default.createElement(
5780
5772
  Sortable.Root,
5781
5773
  {
5782
5774
  keys,
5783
5775
  renderOverlay: renderRow,
5784
5776
  onMoveItem: handleMoveItem
5785
5777
  },
5786
- indexes.map((index) => /* @__PURE__ */ import_react56.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react56.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react56.default.createElement(
5778
+ indexes.map((index) => /* @__PURE__ */ import_react57.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react57.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react57.default.createElement(
5787
5779
  ListView.DragIndicator,
5788
5780
  {
5789
5781
  gap: 0,
@@ -5797,11 +5789,11 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
5797
5789
 
5798
5790
  // src/components/DimensionInput.tsx
5799
5791
  var import_noya_utils12 = require("@noya-app/noya-utils");
5800
- var import_react57 = __toESM(require("react"));
5792
+ var import_react58 = __toESM(require("react"));
5801
5793
  function getNewValue(value, mode, delta) {
5802
5794
  return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
5803
5795
  }
5804
- var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
5796
+ var DimensionInput = (0, import_react58.memo)(function DimensionInput2({
5805
5797
  id,
5806
5798
  value,
5807
5799
  onSetValue,
@@ -5811,15 +5803,15 @@ var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
5811
5803
  disabled,
5812
5804
  trigger = "submit"
5813
5805
  }) {
5814
- const handleNudgeValue = (0, import_react57.useCallback)(
5806
+ const handleNudgeValue = (0, import_react58.useCallback)(
5815
5807
  (value2) => onSetValue(value2, "adjust"),
5816
5808
  [onSetValue]
5817
5809
  );
5818
- const handleSetValue = (0, import_react57.useCallback)(
5810
+ const handleSetValue = (0, import_react58.useCallback)(
5819
5811
  (value2) => onSetValue(value2, "replace"),
5820
5812
  [onSetValue]
5821
5813
  );
5822
- return /* @__PURE__ */ import_react57.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react57.default.createElement(
5814
+ return /* @__PURE__ */ import_react58.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react58.default.createElement(
5823
5815
  InputField.NumberInput,
5824
5816
  {
5825
5817
  value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
@@ -5828,7 +5820,7 @@ var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
5828
5820
  disabled,
5829
5821
  ...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
5830
5822
  }
5831
- ), label && /* @__PURE__ */ import_react57.default.createElement(InputField.Label, null, label));
5823
+ ), label && /* @__PURE__ */ import_react58.default.createElement(InputField.Label, null, label));
5832
5824
  });
5833
5825
  // Annotate the CommonJS export names for ESM import in node:
5834
5826
  0 && (module.exports = {
@@ -5902,11 +5894,8 @@ var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
5902
5894
  fuzzyTokenize,
5903
5895
  getGradientBackground,
5904
5896
  getNewValue,
5905
- isLeftButtonClicked,
5906
- isRightButtonClicked,
5907
5897
  lightTheme,
5908
5898
  mediaQuery,
5909
- mergeEventHandlers,
5910
5899
  normalizeListDestinationIndex,
5911
5900
  rgbaToSketchColor,
5912
5901
  size,