@noya-app/noya-designsystem 0.1.21 → 0.1.22

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
@@ -86,6 +86,7 @@ __export(src_exports, {
86
86
  SUPPORTED_IMAGE_UPLOAD_TYPES: () => SUPPORTED_IMAGE_UPLOAD_TYPES,
87
87
  ScrollArea: () => ScrollArea,
88
88
  Select: () => Select,
89
+ SelectMenu: () => SelectMenu,
89
90
  SelectOption: () => SelectOption,
90
91
  Slider: () => Slider,
91
92
  Small: () => Small,
@@ -182,7 +183,7 @@ function mergeBreakpoints(breakpoints, transform) {
182
183
  ) : breakpoints;
183
184
  const breakpointList = Object.entries(breakpointMap);
184
185
  const transformedList = breakpointList.sort((a, b) => Number(b[0]) - Number(a[0])).map(([width, value]) => [
185
- `@media screen and (max-width: ${width}px)`,
186
+ `@media (min-width: ${width}px)`,
186
187
  transform?.(value) ?? value
187
188
  ]);
188
189
  return Object.fromEntries(transformedList);
@@ -212,7 +213,17 @@ var Element = import_styled_components2.default.div(({ $styleProps, $breakpoints
212
213
  ...$styleProps,
213
214
  ...mergeBreakpoints($breakpoints || [])
214
215
  }));
215
- var StackBase = (0, import_react3.forwardRef)(function StackBase2({ id, as, children, separator, breakpoints, tabIndex, href, ...rest }, forwardedRef) {
216
+ var StackBase = (0, import_react3.forwardRef)(function StackBase2({
217
+ id,
218
+ className,
219
+ as,
220
+ children,
221
+ separator,
222
+ breakpoints,
223
+ tabIndex,
224
+ href,
225
+ ...rest
226
+ }, forwardedRef) {
216
227
  const elements2 = separator ? withSeparatorElements(import_react3.Children.toArray(children), separator) : children;
217
228
  const styleProps = {
218
229
  display: "flex",
@@ -225,6 +236,7 @@ var StackBase = (0, import_react3.forwardRef)(function StackBase2({ id, as, chil
225
236
  {
226
237
  ref: forwardedRef,
227
238
  id,
239
+ className,
228
240
  as,
229
241
  $styleProps: styleProps,
230
242
  $breakpoints: breakpoints,
@@ -807,7 +819,8 @@ var textStyles = {
807
819
  fontFamily: fonts.normal,
808
820
  fontSize: "0.62rem",
809
821
  fontWeight: 400,
810
- lineHeight: "1.4",
822
+ lineHeight: "19px",
823
+ // lineHeight: "1.4",
811
824
  textTransform: "uppercase",
812
825
  letterSpacing: "-0.3px"
813
826
  }
@@ -1856,13 +1869,7 @@ function Popover({
1856
1869
  onFocusOutside,
1857
1870
  onPointerDownOutside,
1858
1871
  collisionPadding: 8,
1859
- arrowPadding: 2,
1860
- onPointerDown: (event) => {
1861
- event.stopPropagation();
1862
- },
1863
- onWheel: (event) => {
1864
- event.stopPropagation();
1865
- }
1872
+ arrowPadding: 2
1866
1873
  },
1867
1874
  children,
1868
1875
  showArrow && /* @__PURE__ */ import_react31.default.createElement(ArrowElement, null),
@@ -2123,9 +2130,10 @@ function parseNumber(value) {
2123
2130
  return value ? Number(value) : NaN;
2124
2131
  }
2125
2132
  function InputFieldNumberInput(props) {
2126
- const { value, placeholder, onNudge, ...rest } = props;
2133
+ const { value, placeholder, onNudge, onBlur, ...rest } = props;
2127
2134
  const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
2128
2135
  const onChange = "onChange" in props ? props.onChange : void 0;
2136
+ const [internalValue, setInternalValue] = (0, import_react32.useState)();
2129
2137
  const handleSubmit = (0, import_react32.useCallback)(
2130
2138
  (value2) => {
2131
2139
  const newValue = parseNumber(value2);
@@ -2141,6 +2149,7 @@ function InputFieldNumberInput(props) {
2141
2149
  if (!amount)
2142
2150
  return;
2143
2151
  onNudge?.(amount);
2152
+ setInternalValue(void 0);
2144
2153
  event.preventDefault();
2145
2154
  event.stopPropagation();
2146
2155
  },
@@ -2148,17 +2157,37 @@ function InputFieldNumberInput(props) {
2148
2157
  );
2149
2158
  const handleChange = (0, import_react32.useCallback)(
2150
2159
  (value2) => {
2151
- onChange?.(parseNumber(value2));
2160
+ if (value2 === "" || value2 === "-" || value2 === ".") {
2161
+ setInternalValue(value2);
2162
+ return;
2163
+ }
2164
+ if (value2.endsWith(".")) {
2165
+ setInternalValue(value2);
2166
+ return;
2167
+ }
2168
+ setInternalValue(void 0);
2169
+ const newValue = parseNumber(value2);
2170
+ if (!isNaN(newValue)) {
2171
+ onChange?.(newValue);
2172
+ }
2152
2173
  },
2153
2174
  [onChange]
2154
2175
  );
2176
+ const handleBlur = (0, import_react32.useCallback)(
2177
+ (event) => {
2178
+ setInternalValue(void 0);
2179
+ onBlur?.(event);
2180
+ },
2181
+ [onBlur]
2182
+ );
2155
2183
  return /* @__PURE__ */ import_react32.default.createElement(
2156
2184
  InputFieldInput,
2157
2185
  {
2158
2186
  ...rest,
2159
- value: value === void 0 ? "" : String(value),
2187
+ value: internalValue !== void 0 ? String(internalValue) : value === void 0 ? "" : String(value),
2160
2188
  placeholder,
2161
2189
  onKeyDown: handleKeyDown,
2190
+ onBlur: handleBlur,
2162
2191
  ..."onChange" in props ? { onChange: handleChange } : { onSubmit: handleSubmit }
2163
2192
  }
2164
2193
  );
@@ -2675,66 +2704,72 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
2675
2704
  opacity: 0.85
2676
2705
  }
2677
2706
  }));
2678
- var Chip = (0, import_react36.memo)(function Chip2({
2679
- colorScheme,
2680
- children,
2681
- deletable,
2682
- addable,
2683
- style: style3,
2684
- size: size2 = "medium",
2685
- variant = "solid",
2686
- monospace = false,
2687
- tabIndex,
2688
- onDelete,
2689
- onClick,
2690
- onAdd,
2691
- onHoverDeleteChange
2692
- }) {
2693
- const theme = useDesignSystemTheme();
2694
- const { hoverProps: hoverDeleteProps } = useHover({
2695
- onHoverChange: onHoverDeleteChange
2696
- });
2697
- const handleClick = !children && !deletable && addable ? onAdd : onClick;
2698
- const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2699
- return /* @__PURE__ */ import_react36.default.createElement(
2700
- ChipElement,
2701
- {
2702
- $variant: variant,
2703
- $colorScheme: colorScheme,
2704
- style: style3,
2705
- onClick: handleClick,
2706
- $size: size2,
2707
- $monospace: monospace,
2708
- $isInteractive: !!handleClick,
2709
- tabIndex
2710
- },
2711
- addable && /* @__PURE__ */ import_react36.default.createElement(
2712
- AddElement,
2713
- {
2714
- size: size2,
2715
- isOnlyChild: !children && !deletable,
2716
- onClick: onAdd ? (event) => {
2717
- event.stopPropagation();
2718
- onAdd?.();
2719
- } : void 0,
2720
- color
2721
- }
2722
- ),
2707
+ var Chip = (0, import_react36.memo)(
2708
+ (0, import_react36.forwardRef)(function Chip2({
2709
+ colorScheme,
2723
2710
  children,
2724
- deletable && /* @__PURE__ */ import_react36.default.createElement(
2725
- DeleteElement,
2711
+ deletable,
2712
+ addable,
2713
+ clickable,
2714
+ style: style3,
2715
+ size: size2 = "medium",
2716
+ variant = "solid",
2717
+ monospace = false,
2718
+ tabIndex,
2719
+ onDelete,
2720
+ onClick,
2721
+ onAdd,
2722
+ onHoverDeleteChange,
2723
+ ...rest
2724
+ }, forwardedRef) {
2725
+ const theme = useDesignSystemTheme();
2726
+ const { hoverProps: hoverDeleteProps } = useHover({
2727
+ onHoverChange: onHoverDeleteChange
2728
+ });
2729
+ const handleClick = !children && !deletable && addable ? onAdd : onClick;
2730
+ const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
2731
+ return /* @__PURE__ */ import_react36.default.createElement(
2732
+ ChipElement,
2726
2733
  {
2727
- size: size2,
2728
- ...hoverDeleteProps,
2729
- onClick: onDelete ? (event) => {
2730
- event.stopPropagation();
2731
- onDelete?.();
2732
- } : void 0,
2733
- color
2734
- }
2735
- )
2736
- );
2737
- });
2734
+ ref: forwardedRef,
2735
+ $variant: variant,
2736
+ $colorScheme: colorScheme,
2737
+ style: style3,
2738
+ onClick: handleClick,
2739
+ $size: size2,
2740
+ $monospace: monospace,
2741
+ $isInteractive: !!handleClick || clickable === true,
2742
+ tabIndex,
2743
+ ...rest
2744
+ },
2745
+ addable && /* @__PURE__ */ import_react36.default.createElement(
2746
+ AddElement,
2747
+ {
2748
+ size: size2,
2749
+ isOnlyChild: !children && !deletable,
2750
+ onClick: onAdd ? (event) => {
2751
+ event.stopPropagation();
2752
+ onAdd?.();
2753
+ } : void 0,
2754
+ color
2755
+ }
2756
+ ),
2757
+ children,
2758
+ deletable && /* @__PURE__ */ import_react36.default.createElement(
2759
+ DeleteElement,
2760
+ {
2761
+ size: size2,
2762
+ ...hoverDeleteProps,
2763
+ onClick: onDelete ? (event) => {
2764
+ event.stopPropagation();
2765
+ onDelete?.();
2766
+ } : void 0,
2767
+ color
2768
+ }
2769
+ )
2770
+ );
2771
+ })
2772
+ );
2738
2773
 
2739
2774
  // src/components/ContextMenu.tsx
2740
2775
  var import_noya_icons4 = require("@noya-app/noya-icons");
@@ -4909,6 +4944,9 @@ var RootContainer2 = import_styled_components25.default.div(({ theme, $scrollabl
4909
4944
  gap: $gap
4910
4945
  }));
4911
4946
  var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInner2({
4947
+ id,
4948
+ className,
4949
+ style: style3,
4912
4950
  onPress,
4913
4951
  scrollable = false,
4914
4952
  expandable = true,
@@ -5048,6 +5086,9 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
5048
5086
  return /* @__PURE__ */ import_react49.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react49.default.createElement(
5049
5087
  RootContainer2,
5050
5088
  {
5089
+ id,
5090
+ className,
5091
+ style: style3,
5051
5092
  ...{
5052
5093
  [pressEventName]: handleClick
5053
5094
  },
@@ -5150,7 +5191,9 @@ var Text = (0, import_react50.forwardRef)(function Text2({
5150
5191
  className,
5151
5192
  color,
5152
5193
  href,
5194
+ tabIndex,
5153
5195
  onClick,
5196
+ onKeyDown,
5154
5197
  ...rest
5155
5198
  }, forwardedRef) {
5156
5199
  const element = as ?? elements[variant] ?? "span";
@@ -5160,11 +5203,13 @@ var Text = (0, import_react50.forwardRef)(function Text2({
5160
5203
  ref: forwardedRef,
5161
5204
  as: element,
5162
5205
  className,
5206
+ tabIndex,
5163
5207
  $variant: variant,
5164
5208
  $breakpoints: breakpoints,
5165
5209
  $styleProps: rest,
5166
5210
  $color: color,
5167
5211
  onClick,
5212
+ onKeyDown,
5168
5213
  ...href && { href }
5169
5214
  },
5170
5215
  children
@@ -6012,11 +6057,51 @@ var Select = (0, import_react57.memo)(function Select2({
6012
6057
  )), label && /* @__PURE__ */ import_react57.default.createElement(SelectLabel, { htmlFor: id }, label));
6013
6058
  });
6014
6059
 
6060
+ // src/components/SelectMenu.tsx
6061
+ var import_noya_icons6 = require("@noya-app/noya-icons");
6062
+ var Select3 = __toESM(require("@radix-ui/react-select"));
6063
+ var import_react58 = __toESM(require("react"));
6064
+ var import_styled_components33 = require("styled-components");
6065
+ var SelectMenu = (0, import_react58.memo)(function SelectMenu2({
6066
+ id,
6067
+ style: style3,
6068
+ className,
6069
+ menuItems,
6070
+ value,
6071
+ onSelect,
6072
+ placeholder
6073
+ }) {
6074
+ const selectedItem = menuItems.find(
6075
+ (item) => typeof item !== "string" && item.value === value
6076
+ );
6077
+ const icon = selectedItem?.icon;
6078
+ return /* @__PURE__ */ import_react58.default.createElement(Select3.Root, { value, onValueChange: onSelect }, /* @__PURE__ */ import_react58.default.createElement(Select3.SelectTrigger, { asChild: true }, /* @__PURE__ */ import_react58.default.createElement(Button, { id, style: style3, className }, icon && /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, icon, /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react58.default.createElement(Select3.Value, { placeholder }), /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react58.default.createElement(import_noya_icons6.DropdownChevronIcon, null))), /* @__PURE__ */ import_react58.default.createElement(Select3.Portal, null, /* @__PURE__ */ import_react58.default.createElement(SelectContent, null, /* @__PURE__ */ import_react58.default.createElement(SelectViewport, null, menuItems.map((menuItem) => {
6079
+ if (typeof menuItem === "string") {
6080
+ return /* @__PURE__ */ import_react58.default.createElement(StyledSeparator, null);
6081
+ }
6082
+ const value2 = menuItem.value ?? "";
6083
+ return /* @__PURE__ */ import_react58.default.createElement(SelectItem, { key: value2, value: value2, icon: menuItem.icon }, menuItem.title ?? value2);
6084
+ })))));
6085
+ });
6086
+ var SelectContent = (0, import_styled_components33.styled)(Select3.Content)(styles.contentStyle);
6087
+ var SelectViewport = (0, import_styled_components33.styled)(Select3.Viewport)({});
6088
+ var SelectItem = import_react58.default.forwardRef(
6089
+ ({
6090
+ children,
6091
+ icon,
6092
+ ...props
6093
+ }, forwardedRef) => {
6094
+ return /* @__PURE__ */ import_react58.default.createElement(StyledItem2, { ...props, ref: forwardedRef }, icon && /* @__PURE__ */ import_react58.default.createElement(import_react58.default.Fragment, null, icon, /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 8 })), /* @__PURE__ */ import_react58.default.createElement(Select3.ItemText, null, children));
6095
+ }
6096
+ );
6097
+ var StyledItem2 = (0, import_styled_components33.styled)(Select3.Item)(styles.itemStyle);
6098
+ var StyledSeparator = (0, import_styled_components33.styled)(Select3.Separator)(styles.separatorStyle);
6099
+
6015
6100
  // src/components/Slider.tsx
6016
6101
  var RadixSlider = __toESM(require("@radix-ui/react-slider"));
6017
- var import_react58 = __toESM(require("react"));
6018
- var import_styled_components33 = __toESM(require("styled-components"));
6019
- var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
6102
+ var import_react59 = __toESM(require("react"));
6103
+ var import_styled_components34 = __toESM(require("styled-components"));
6104
+ var StyledSlider = (0, import_styled_components34.default)(RadixSlider.Root)({
6020
6105
  flex: "1",
6021
6106
  position: "relative",
6022
6107
  display: "flex",
@@ -6025,19 +6110,19 @@ var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
6025
6110
  touchAction: "none",
6026
6111
  height: "16px"
6027
6112
  });
6028
- var StyledTrack = (0, import_styled_components33.default)(RadixSlider.Track)(({ theme }) => ({
6113
+ var StyledTrack = (0, import_styled_components34.default)(RadixSlider.Track)(({ theme }) => ({
6029
6114
  backgroundColor: theme.colors.divider,
6030
6115
  position: "relative",
6031
6116
  flexGrow: 1,
6032
6117
  height: "2px"
6033
6118
  }));
6034
- var StyledRange = (0, import_styled_components33.default)(RadixSlider.Range)(({ theme }) => ({
6119
+ var StyledRange = (0, import_styled_components34.default)(RadixSlider.Range)(({ theme }) => ({
6035
6120
  position: "absolute",
6036
6121
  backgroundColor: theme.colors.primary,
6037
6122
  borderRadius: "9999px",
6038
6123
  height: "100%"
6039
6124
  }));
6040
- var StyledThumb2 = (0, import_styled_components33.default)(RadixSlider.Thumb)(({ theme }) => ({
6125
+ var StyledThumb2 = (0, import_styled_components34.default)(RadixSlider.Thumb)(({ theme }) => ({
6041
6126
  display: "block",
6042
6127
  width: "12px",
6043
6128
  height: "12px",
@@ -6055,17 +6140,17 @@ var Slider = function Slider2({
6055
6140
  min,
6056
6141
  max
6057
6142
  }) {
6058
- const arrayValue = (0, import_react58.useMemo)(
6143
+ const arrayValue = (0, import_react59.useMemo)(
6059
6144
  () => [Math.min(Math.max(value, min), max)],
6060
6145
  [value, min, max]
6061
6146
  );
6062
- const handleValueChange = (0, import_react58.useCallback)(
6147
+ const handleValueChange = (0, import_react59.useCallback)(
6063
6148
  (arrayValue2) => {
6064
6149
  onValueChange(arrayValue2[0]);
6065
6150
  },
6066
6151
  [onValueChange]
6067
6152
  );
6068
- return /* @__PURE__ */ import_react58.default.createElement(
6153
+ return /* @__PURE__ */ import_react59.default.createElement(
6069
6154
  StyledSlider,
6070
6155
  {
6071
6156
  min,
@@ -6074,16 +6159,16 @@ var Slider = function Slider2({
6074
6159
  value: arrayValue,
6075
6160
  onValueChange: handleValueChange
6076
6161
  },
6077
- /* @__PURE__ */ import_react58.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react58.default.createElement(StyledRange, null)),
6078
- /* @__PURE__ */ import_react58.default.createElement(StyledThumb2, null)
6162
+ /* @__PURE__ */ import_react59.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react59.default.createElement(StyledRange, null)),
6163
+ /* @__PURE__ */ import_react59.default.createElement(StyledThumb2, null)
6079
6164
  );
6080
6165
  };
6081
6166
 
6082
6167
  // src/components/Switch.tsx
6083
6168
  var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
6084
- var import_react59 = __toESM(require("react"));
6085
- var import_styled_components34 = __toESM(require("styled-components"));
6086
- var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)(({ theme, $colorScheme }) => ({
6169
+ var import_react60 = __toESM(require("react"));
6170
+ var import_styled_components35 = __toESM(require("styled-components"));
6171
+ var SwitchRoot = (0, import_styled_components35.default)(SwitchPrimitive.Root)(({ theme, $colorScheme }) => ({
6087
6172
  all: "unset",
6088
6173
  width: 32,
6089
6174
  height: 19,
@@ -6100,7 +6185,7 @@ var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)((
6100
6185
  backgroundColor: $colorScheme === "primary" ? theme.colors.primary : $colorScheme === "secondary" ? theme.colors.secondary : void 0
6101
6186
  }
6102
6187
  }));
6103
- var SwitchThumb = (0, import_styled_components34.default)(SwitchPrimitive.Thumb)({
6188
+ var SwitchThumb = (0, import_styled_components35.default)(SwitchPrimitive.Thumb)({
6104
6189
  display: "block",
6105
6190
  width: 15,
6106
6191
  height: 15,
@@ -6116,7 +6201,7 @@ var Switch = function Switch2({
6116
6201
  onChange,
6117
6202
  colorScheme = "normal"
6118
6203
  }) {
6119
- return /* @__PURE__ */ import_react59.default.createElement(
6204
+ return /* @__PURE__ */ import_react60.default.createElement(
6120
6205
  SwitchRoot,
6121
6206
  {
6122
6207
  $colorScheme: colorScheme,
@@ -6125,62 +6210,62 @@ var Switch = function Switch2({
6125
6210
  onChange(newValue);
6126
6211
  }
6127
6212
  },
6128
- /* @__PURE__ */ import_react59.default.createElement(SwitchThumb, null)
6213
+ /* @__PURE__ */ import_react60.default.createElement(SwitchThumb, null)
6129
6214
  );
6130
6215
  };
6131
6216
 
6132
6217
  // src/components/TreeView.tsx
6133
- var import_react60 = __toESM(require("react"));
6134
- var TreeRow = (0, import_react60.forwardRef)(function TreeRow2({
6218
+ var import_react61 = __toESM(require("react"));
6219
+ var TreeRow = (0, import_react61.forwardRef)(function TreeRow2({
6135
6220
  icon,
6136
6221
  expanded,
6137
6222
  onClickChevron,
6138
6223
  children,
6139
6224
  ...rest
6140
6225
  }, forwardedRef) {
6141
- const { expandable } = (0, import_react60.useContext)(ListView.RowContext);
6142
- const handleClickChevron = (0, import_react60.useCallback)(
6226
+ const { expandable } = (0, import_react61.useContext)(ListView.RowContext);
6227
+ const handleClickChevron = (0, import_react61.useCallback)(
6143
6228
  (event) => {
6144
6229
  event.stopPropagation();
6145
6230
  onClickChevron?.({ altKey: event.altKey });
6146
6231
  },
6147
6232
  [onClickChevron]
6148
6233
  );
6149
- return /* @__PURE__ */ import_react60.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react60.default.createElement(import_react60.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react60.default.createElement(
6234
+ return /* @__PURE__ */ import_react61.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react61.default.createElement(
6150
6235
  IconButton,
6151
6236
  {
6152
- iconName: expanded ? "ChevronDownIcon" : "ChevronRightIcon",
6237
+ iconName: expanded ? "ChevronDownIcon2" : "ChevronRightIcon2",
6153
6238
  onClick: handleClickChevron,
6154
6239
  selected: rest.selected
6155
6240
  }
6156
- ), /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react60.default.createElement(import_react60.default.Fragment, null, icon, /* @__PURE__ */ import_react60.default.createElement(Spacer.Horizontal, { size: 10 })), children);
6241
+ ), /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react61.default.createElement(import_react61.default.Fragment, null, icon, /* @__PURE__ */ import_react61.default.createElement(Spacer.Horizontal, { size: 10 })), children);
6157
6242
  });
6158
6243
  var TreeView;
6159
6244
  ((TreeView2) => {
6160
6245
  TreeView2.Root = ListView.Root;
6161
6246
  TreeView2.RowTitle = ListView.RowTitle;
6162
6247
  TreeView2.EditableRowTitle = ListView.EditableRowTitle;
6163
- TreeView2.Row = (0, import_react60.memo)(TreeRow);
6248
+ TreeView2.Row = (0, import_react61.memo)(TreeRow);
6164
6249
  })(TreeView || (TreeView = {}));
6165
6250
 
6166
6251
  // src/components/WorkspaceLayout.tsx
6167
6252
  var import_noya_keymap5 = require("@noya-app/noya-keymap");
6168
- var import_react63 = __toESM(require("react"));
6253
+ var import_react64 = __toESM(require("react"));
6169
6254
  var import_react_resizable_panels = require("react-resizable-panels");
6170
6255
 
6171
6256
  // src/hooks/usePreservePanelSize.tsx
6172
- var import_react62 = require("react");
6257
+ var import_react63 = require("react");
6173
6258
 
6174
6259
  // src/hooks/useWindowSize.tsx
6175
- var import_react61 = require("react");
6260
+ var import_react62 = require("react");
6176
6261
  function useWindowSize() {
6177
- const [size2, setSize] = (0, import_react61.useState)(
6262
+ const [size2, setSize] = (0, import_react62.useState)(
6178
6263
  typeof window === "undefined" ? { width: 0, height: 0 } : {
6179
6264
  width: window.innerWidth,
6180
6265
  height: window.innerHeight
6181
6266
  }
6182
6267
  );
6183
- (0, import_react61.useEffect)(() => {
6268
+ (0, import_react62.useEffect)(() => {
6184
6269
  const handleResize = () => setSize({
6185
6270
  width: window.innerWidth,
6186
6271
  height: window.innerHeight
@@ -6198,8 +6283,8 @@ var RIGHT_SIDEBAR_ID = "editor-right-sidebar";
6198
6283
  var CONTENT_AREA_ID = "editor-content-area";
6199
6284
  function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
6200
6285
  const windowSize = useWindowSize();
6201
- const layoutRef = (0, import_react62.useRef)();
6202
- (0, import_react62.useLayoutEffect)(() => {
6286
+ const layoutRef = (0, import_react63.useRef)();
6287
+ (0, import_react63.useLayoutEffect)(() => {
6203
6288
  const panelGroup = document.querySelector(
6204
6289
  `[data-panel-group-id="${EDITOR_PANEL_GROUP_ID}"]`
6205
6290
  );
@@ -6242,7 +6327,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
6242
6327
  panelGroupObserver.disconnect();
6243
6328
  };
6244
6329
  }, [panelGroupRef, setPanelLayoutState]);
6245
- (0, import_react62.useLayoutEffect)(() => {
6330
+ (0, import_react63.useLayoutEffect)(() => {
6246
6331
  if (!layoutRef.current)
6247
6332
  return;
6248
6333
  const {
@@ -6302,7 +6387,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
6302
6387
  }
6303
6388
 
6304
6389
  // src/components/WorkspaceLayout.tsx
6305
- var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6390
+ var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
6306
6391
  autoSavePrefix,
6307
6392
  leftSidebarContent: leftPanelContent,
6308
6393
  children: centerPanelContent,
@@ -6327,12 +6412,12 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6327
6412
  const rightSidebarPercentage = getPercentage(rightSidebarInitialSize);
6328
6413
  const leftSidebarMinPercentage = leftSidebarMinSize !== void 0 ? getPercentage(leftSidebarMinSize) : void 0;
6329
6414
  const rightSidebarMinPercentage = rightSidebarMinSize !== void 0 ? getPercentage(rightSidebarMinSize) : void 0;
6330
- const panelGroupRef = (0, import_react63.useRef)(null);
6331
- const leftSidebarRef = (0, import_react63.useRef)(null);
6332
- const rightSidebarRef = (0, import_react63.useRef)(null);
6415
+ const panelGroupRef = (0, import_react64.useRef)(null);
6416
+ const leftSidebarRef = (0, import_react64.useRef)(null);
6417
+ const rightSidebarRef = (0, import_react64.useRef)(null);
6333
6418
  usePreservePanelSize(panelGroupRef, onChangeLayoutState);
6334
6419
  const theme = useDesignSystemTheme();
6335
- (0, import_react63.useImperativeHandle)(forwardedRef, () => ({
6420
+ (0, import_react64.useImperativeHandle)(forwardedRef, () => ({
6336
6421
  setLeftSidebarExpanded: (expanded) => {
6337
6422
  if (expanded) {
6338
6423
  leftSidebarRef.current?.expand();
@@ -6389,7 +6474,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6389
6474
  }
6390
6475
  });
6391
6476
  const centerPanelPercentage = 100 - (leftPanelContent ? leftSidebarPercentage : 0) - (rightPanelContent ? rightSidebarPercentage : 0);
6392
- return /* @__PURE__ */ import_react63.default.createElement(
6477
+ return /* @__PURE__ */ import_react64.default.createElement(
6393
6478
  "div",
6394
6479
  {
6395
6480
  id,
@@ -6401,7 +6486,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6401
6486
  ...style3
6402
6487
  }
6403
6488
  },
6404
- /* @__PURE__ */ import_react63.default.createElement(
6489
+ /* @__PURE__ */ import_react64.default.createElement(
6405
6490
  import_react_resizable_panels.PanelGroup,
6406
6491
  {
6407
6492
  ref: panelGroupRef,
@@ -6410,7 +6495,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6410
6495
  autoSaveId: autoSavePrefix ? `${autoSavePrefix}--${EDITOR_PANEL_GROUP_ID}` : void 0,
6411
6496
  style: { flex: "1" }
6412
6497
  },
6413
- hasLeftSidebar && /* @__PURE__ */ import_react63.default.createElement(import_react63.default.Fragment, null, /* @__PURE__ */ import_react63.default.createElement(
6498
+ hasLeftSidebar && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(
6414
6499
  import_react_resizable_panels.Panel,
6415
6500
  {
6416
6501
  id: LEFT_SIDEBAR_ID,
@@ -6422,11 +6507,12 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6422
6507
  collapsible: true,
6423
6508
  style: {
6424
6509
  display: "flex",
6425
- flexDirection: "row"
6510
+ flexDirection: "row",
6511
+ position: "relative"
6426
6512
  }
6427
6513
  },
6428
6514
  leftPanelContent
6429
- ), /* @__PURE__ */ import_react63.default.createElement(
6515
+ ), /* @__PURE__ */ import_react64.default.createElement(
6430
6516
  import_react_resizable_panels.PanelResizeHandle,
6431
6517
  {
6432
6518
  style: {
@@ -6437,7 +6523,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6437
6523
  }
6438
6524
  }
6439
6525
  )),
6440
- /* @__PURE__ */ import_react63.default.createElement(
6526
+ /* @__PURE__ */ import_react64.default.createElement(
6441
6527
  import_react_resizable_panels.Panel,
6442
6528
  {
6443
6529
  id: CONTENT_AREA_ID,
@@ -6446,12 +6532,13 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6446
6532
  minSize: 10,
6447
6533
  style: {
6448
6534
  display: "flex",
6449
- flexDirection: "row"
6535
+ flexDirection: "row",
6536
+ position: "relative"
6450
6537
  }
6451
6538
  },
6452
6539
  centerPanelContent
6453
6540
  ),
6454
- hasRightSidebar && /* @__PURE__ */ import_react63.default.createElement(import_react63.default.Fragment, null, /* @__PURE__ */ import_react63.default.createElement(
6541
+ hasRightSidebar && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(
6455
6542
  import_react_resizable_panels.PanelResizeHandle,
6456
6543
  {
6457
6544
  style: {
@@ -6461,7 +6548,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6461
6548
  backgroundColor: theme.colors.divider
6462
6549
  }
6463
6550
  }
6464
- ), /* @__PURE__ */ import_react63.default.createElement(
6551
+ ), /* @__PURE__ */ import_react64.default.createElement(
6465
6552
  import_react_resizable_panels.Panel,
6466
6553
  {
6467
6554
  id: RIGHT_SIDEBAR_ID,
@@ -6472,7 +6559,8 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
6472
6559
  collapsible: true,
6473
6560
  style: {
6474
6561
  display: "flex",
6475
- flexDirection: "row"
6562
+ flexDirection: "row",
6563
+ position: "relative"
6476
6564
  }
6477
6565
  },
6478
6566
  rightPanelContent
@@ -6523,8 +6611,8 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
6523
6611
 
6524
6612
  // src/components/ArrayController.tsx
6525
6613
  var import_noya_utils11 = require("@noya-app/noya-utils");
6526
- var import_react65 = __toESM(require("react"));
6527
- var import_styled_components36 = __toESM(require("styled-components"));
6614
+ var import_react66 = __toESM(require("react"));
6615
+ var import_styled_components37 = __toESM(require("styled-components"));
6528
6616
 
6529
6617
  // src/components/InspectorPrimitives.tsx
6530
6618
  var InspectorPrimitives_exports = {};
@@ -6542,20 +6630,20 @@ __export(InspectorPrimitives_exports, {
6542
6630
  Title: () => Title3,
6543
6631
  VerticalSeparator: () => VerticalSeparator
6544
6632
  });
6545
- var import_react64 = __toESM(require("react"));
6546
- var import_styled_components35 = __toESM(require("styled-components"));
6547
- var Section = import_styled_components35.default.div(({ theme, $padding = "10px", $gap }) => ({
6633
+ var import_react65 = __toESM(require("react"));
6634
+ var import_styled_components36 = __toESM(require("styled-components"));
6635
+ var Section = import_styled_components36.default.div(({ theme, $padding = "10px", $gap }) => ({
6548
6636
  flex: "0 0 auto",
6549
6637
  display: "flex",
6550
6638
  flexDirection: "column",
6551
6639
  padding: $padding,
6552
6640
  gap: $gap
6553
6641
  }));
6554
- var SectionHeader = import_styled_components35.default.div(({ theme }) => ({
6642
+ var SectionHeader = import_styled_components36.default.div(({ theme }) => ({
6555
6643
  display: "flex",
6556
6644
  alignItems: "center"
6557
6645
  }));
6558
- var Title3 = import_styled_components35.default.div(({ theme, $textStyle }) => ({
6646
+ var Title3 = import_styled_components36.default.div(({ theme, $textStyle }) => ({
6559
6647
  display: "flex",
6560
6648
  flexDirection: "row",
6561
6649
  userSelect: "none",
@@ -6568,7 +6656,7 @@ var Title3 = import_styled_components35.default.div(({ theme, $textStyle }) => (
6568
6656
  fontWeight: "bold"
6569
6657
  }
6570
6658
  }));
6571
- var Row2 = import_styled_components35.default.div(
6659
+ var Row2 = import_styled_components36.default.div(
6572
6660
  ({ theme, $gap }) => ({
6573
6661
  flex: "1",
6574
6662
  display: "flex",
@@ -6577,26 +6665,26 @@ var Row2 = import_styled_components35.default.div(
6577
6665
  gap: $gap
6578
6666
  })
6579
6667
  );
6580
- var Column = import_styled_components35.default.div(({ theme }) => ({
6668
+ var Column = import_styled_components36.default.div(({ theme }) => ({
6581
6669
  flex: "1",
6582
6670
  display: "flex",
6583
6671
  flexDirection: "column",
6584
6672
  gap: "4px"
6585
6673
  }));
6586
- var Checkbox = import_styled_components35.default.input(({ theme }) => ({
6674
+ var Checkbox = import_styled_components36.default.input(({ theme }) => ({
6587
6675
  margin: 0
6588
6676
  }));
6589
- var Text3 = import_styled_components35.default.span(({ theme }) => ({
6677
+ var Text3 = import_styled_components36.default.span(({ theme }) => ({
6590
6678
  ...theme.textStyles.small
6591
6679
  }));
6592
- var VerticalSeparator = () => /* @__PURE__ */ import_react64.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
6593
- var HorizontalSeparator = () => /* @__PURE__ */ import_react64.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
6594
- var SliderRowLabel = import_styled_components35.default.span(({ theme }) => ({
6680
+ var VerticalSeparator = () => /* @__PURE__ */ import_react65.default.createElement(Spacer.Vertical, { size: (0, import_styled_components36.useTheme)().sizes.inspector.verticalSeparator });
6681
+ var HorizontalSeparator = () => /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components36.useTheme)().sizes.inspector.horizontalSeparator });
6682
+ var SliderRowLabel = import_styled_components36.default.span(({ theme }) => ({
6595
6683
  ...theme.textStyles.small,
6596
6684
  color: theme.colors.textMuted,
6597
6685
  marginBottom: "-6px"
6598
6686
  }));
6599
- var RowLabel = import_styled_components35.default.span(({ theme, $textStyle }) => ({
6687
+ var RowLabel = import_styled_components36.default.span(({ theme, $textStyle }) => ({
6600
6688
  // marginBottom: '6px',
6601
6689
  display: "flex",
6602
6690
  ...$textStyle ? {
@@ -6610,7 +6698,7 @@ var RowLabel = import_styled_components35.default.span(({ theme, $textStyle }) =
6610
6698
  // Button height
6611
6699
  alignItems: "center"
6612
6700
  }));
6613
- var LabeledRow = (0, import_react64.memo)(function LabeledRow2({
6701
+ var LabeledRow = (0, import_react65.memo)(function LabeledRow2({
6614
6702
  id,
6615
6703
  children,
6616
6704
  label,
@@ -6618,26 +6706,26 @@ var LabeledRow = (0, import_react64.memo)(function LabeledRow2({
6618
6706
  gap,
6619
6707
  right
6620
6708
  }) {
6621
- return /* @__PURE__ */ import_react64.default.createElement(Row2, { id }, /* @__PURE__ */ import_react64.default.createElement(Column, null, /* @__PURE__ */ import_react64.default.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react64.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react64.default.createElement(Row2, { $gap: gap }, children)));
6709
+ return /* @__PURE__ */ import_react65.default.createElement(Row2, { id }, /* @__PURE__ */ import_react65.default.createElement(Column, null, /* @__PURE__ */ import_react65.default.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react65.default.createElement(Row2, { $gap: gap }, children)));
6622
6710
  });
6623
- var LabeledSliderRow = (0, import_react64.memo)(function LabeledRow3({
6711
+ var LabeledSliderRow = (0, import_react65.memo)(function LabeledRow3({
6624
6712
  children,
6625
6713
  label
6626
6714
  }) {
6627
- return /* @__PURE__ */ import_react64.default.createElement(Row2, null, /* @__PURE__ */ import_react64.default.createElement(Column, null, /* @__PURE__ */ import_react64.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react64.default.createElement(Row2, null, children)));
6715
+ return /* @__PURE__ */ import_react65.default.createElement(Row2, null, /* @__PURE__ */ import_react65.default.createElement(Column, null, /* @__PURE__ */ import_react65.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react65.default.createElement(Row2, null, children)));
6628
6716
  });
6629
6717
 
6630
6718
  // src/components/ArrayController.tsx
6631
- var ElementRow = import_styled_components36.default.div({
6719
+ var ElementRow = import_styled_components37.default.div({
6632
6720
  flex: "0 0 auto",
6633
6721
  display: "flex",
6634
6722
  flexDirection: "row",
6635
6723
  alignItems: "center"
6636
6724
  });
6637
- var ItemContainer2 = import_styled_components36.default.div({
6725
+ var ItemContainer2 = import_styled_components37.default.div({
6638
6726
  position: "relative"
6639
6727
  });
6640
- var ArrayController = (0, import_react65.memo)(function ArrayController2({
6728
+ var ArrayController = (0, import_react66.memo)(function ArrayController2({
6641
6729
  id,
6642
6730
  items,
6643
6731
  title,
@@ -6653,14 +6741,14 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
6653
6741
  renderExpandedContent,
6654
6742
  padding = 10
6655
6743
  }) {
6656
- const iconColor = (0, import_styled_components36.useTheme)().colors.icon;
6657
- const primaryLightColor = (0, import_styled_components36.useTheme)().colors.primaryLight;
6658
- const keys = (0, import_react65.useMemo)(
6744
+ const iconColor = (0, import_styled_components37.useTheme)().colors.icon;
6745
+ const primaryLightColor = (0, import_styled_components37.useTheme)().colors.primaryLight;
6746
+ const keys = (0, import_react66.useMemo)(
6659
6747
  () => items.map((item, index) => getKey?.(item) ?? index.toString()),
6660
6748
  [getKey, items]
6661
6749
  );
6662
6750
  const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
6663
- const handleMoveItem = (0, import_react65.useCallback)(
6751
+ const handleMoveItem = (0, import_react66.useCallback)(
6664
6752
  (sourceIndex, destinationIndex, position) => {
6665
6753
  if (reversed) {
6666
6754
  if (position === "above") {
@@ -6677,11 +6765,11 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
6677
6765
  [onMoveItem, reversed]
6678
6766
  );
6679
6767
  const renderRow = (index) => {
6680
- return /* @__PURE__ */ import_react65.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
6768
+ return /* @__PURE__ */ import_react66.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
6681
6769
  };
6682
- return /* @__PURE__ */ import_react65.default.createElement(Section, { id, $padding: padding, $gap: "2px" }, /* @__PURE__ */ import_react65.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react65.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react65.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
6770
+ return /* @__PURE__ */ import_react66.default.createElement(Section, { id, $padding: padding, $gap: "2px" }, /* @__PURE__ */ import_react66.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react66.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react66.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react66.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
6683
6771
  [
6684
- onClickTrash && /* @__PURE__ */ import_react65.default.createElement(
6772
+ onClickTrash && /* @__PURE__ */ import_react66.default.createElement(
6685
6773
  IconButton,
6686
6774
  {
6687
6775
  id: `${id}-trash`,
@@ -6690,7 +6778,7 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
6690
6778
  onClick: onClickTrash
6691
6779
  }
6692
6780
  ),
6693
- onClickExpand && /* @__PURE__ */ import_react65.default.createElement(
6781
+ onClickExpand && /* @__PURE__ */ import_react66.default.createElement(
6694
6782
  IconButton,
6695
6783
  {
6696
6784
  id: `${id}-gear`,
@@ -6699,7 +6787,7 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
6699
6787
  onClick: onClickExpand
6700
6788
  }
6701
6789
  ),
6702
- onClickPlus && /* @__PURE__ */ import_react65.default.createElement(
6790
+ onClickPlus && /* @__PURE__ */ import_react66.default.createElement(
6703
6791
  IconButton,
6704
6792
  {
6705
6793
  id: `${id}-add`,
@@ -6709,15 +6797,15 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
6709
6797
  }
6710
6798
  )
6711
6799
  ],
6712
- /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 8 })
6713
- )), /* @__PURE__ */ import_react65.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react65.default.createElement(
6800
+ /* @__PURE__ */ import_react66.default.createElement(Spacer.Horizontal, { size: 8 })
6801
+ )), /* @__PURE__ */ import_react66.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react66.default.createElement(
6714
6802
  Sortable.Root,
6715
6803
  {
6716
6804
  keys,
6717
6805
  renderOverlay: renderRow,
6718
6806
  onMoveItem: handleMoveItem
6719
6807
  },
6720
- indexes.map((index) => /* @__PURE__ */ import_react65.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react65.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react65.default.createElement(
6808
+ indexes.map((index) => /* @__PURE__ */ import_react66.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react66.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react66.default.createElement(
6721
6809
  ListView.DragIndicator,
6722
6810
  {
6723
6811
  $gap: 0,
@@ -6731,11 +6819,11 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
6731
6819
 
6732
6820
  // src/components/DimensionInput.tsx
6733
6821
  var import_noya_utils12 = require("@noya-app/noya-utils");
6734
- var import_react66 = __toESM(require("react"));
6822
+ var import_react67 = __toESM(require("react"));
6735
6823
  function getNewValue(value, mode, delta) {
6736
6824
  return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
6737
6825
  }
6738
- var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
6826
+ var DimensionInput = (0, import_react67.memo)(function DimensionInput2({
6739
6827
  id,
6740
6828
  value,
6741
6829
  onSetValue,
@@ -6745,15 +6833,15 @@ var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
6745
6833
  disabled,
6746
6834
  trigger = "submit"
6747
6835
  }) {
6748
- const handleNudgeValue = (0, import_react66.useCallback)(
6836
+ const handleNudgeValue = (0, import_react67.useCallback)(
6749
6837
  (value2) => onSetValue(value2, "adjust"),
6750
6838
  [onSetValue]
6751
6839
  );
6752
- const handleSetValue = (0, import_react66.useCallback)(
6840
+ const handleSetValue = (0, import_react67.useCallback)(
6753
6841
  (value2) => onSetValue(value2, "replace"),
6754
6842
  [onSetValue]
6755
6843
  );
6756
- return /* @__PURE__ */ import_react66.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react66.default.createElement(
6844
+ return /* @__PURE__ */ import_react67.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react67.default.createElement(
6757
6845
  InputField.NumberInput,
6758
6846
  {
6759
6847
  value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
@@ -6762,7 +6850,7 @@ var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
6762
6850
  disabled,
6763
6851
  ...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
6764
6852
  }
6765
- ), label && /* @__PURE__ */ import_react66.default.createElement(InputField.Label, null, label));
6853
+ ), label && /* @__PURE__ */ import_react67.default.createElement(InputField.Label, null, label));
6766
6854
  });
6767
6855
  // Annotate the CommonJS export names for ESM import in node:
6768
6856
  0 && (module.exports = {
@@ -6822,6 +6910,7 @@ var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
6822
6910
  SUPPORTED_IMAGE_UPLOAD_TYPES,
6823
6911
  ScrollArea,
6824
6912
  Select,
6913
+ SelectMenu,
6825
6914
  SelectOption,
6826
6915
  Slider,
6827
6916
  Small,