@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/.turbo/turbo-build.log +9 -9
- package/CHANGELOG.md +11 -0
- package/dist/index.d.mts +53 -31
- package/dist/index.d.ts +53 -31
- package/dist/index.js +248 -159
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +284 -199
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -4
- package/src/components/Chip.tsx +88 -76
- package/src/components/ContextMenu.tsx +15 -21
- package/src/components/InputField.tsx +41 -3
- package/src/components/ListView.tsx +9 -0
- package/src/components/Popover.tsx +6 -6
- package/src/components/Select.tsx +1 -1
- package/src/components/SelectMenu.tsx +100 -0
- package/src/components/Stack.tsx +12 -1
- package/src/components/Text.tsx +6 -0
- package/src/components/TreeView.tsx +7 -7
- package/src/components/WorkspaceLayout.tsx +3 -0
- package/src/components/internal/Menu.tsx +2 -2
- package/src/index.tsx +1 -0
- package/src/theme/light.ts +2 -1
- package/src/utils/breakpoints.ts +6 -6
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
|
|
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({
|
|
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: "
|
|
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
|
-
|
|
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)(
|
|
2679
|
-
|
|
2680
|
-
|
|
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
|
|
2725
|
-
|
|
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
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
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
|
|
6018
|
-
var
|
|
6019
|
-
var StyledSlider = (0,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
6078
|
-
/* @__PURE__ */
|
|
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
|
|
6085
|
-
var
|
|
6086
|
-
var SwitchRoot = (0,
|
|
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,
|
|
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__ */
|
|
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__ */
|
|
6213
|
+
/* @__PURE__ */ import_react60.default.createElement(SwitchThumb, null)
|
|
6129
6214
|
);
|
|
6130
6215
|
};
|
|
6131
6216
|
|
|
6132
6217
|
// src/components/TreeView.tsx
|
|
6133
|
-
var
|
|
6134
|
-
var TreeRow = (0,
|
|
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,
|
|
6142
|
-
const handleClickChevron = (0,
|
|
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__ */
|
|
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 ? "
|
|
6237
|
+
iconName: expanded ? "ChevronDownIcon2" : "ChevronRightIcon2",
|
|
6153
6238
|
onClick: handleClickChevron,
|
|
6154
6239
|
selected: rest.selected
|
|
6155
6240
|
}
|
|
6156
|
-
), /* @__PURE__ */
|
|
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,
|
|
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
|
|
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
|
|
6257
|
+
var import_react63 = require("react");
|
|
6173
6258
|
|
|
6174
6259
|
// src/hooks/useWindowSize.tsx
|
|
6175
|
-
var
|
|
6260
|
+
var import_react62 = require("react");
|
|
6176
6261
|
function useWindowSize() {
|
|
6177
|
-
const [size2, setSize] = (0,
|
|
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,
|
|
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,
|
|
6202
|
-
(0,
|
|
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,
|
|
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,
|
|
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,
|
|
6331
|
-
const leftSidebarRef = (0,
|
|
6332
|
-
const rightSidebarRef = (0,
|
|
6415
|
+
const panelGroupRef = (0, import_react64.useRef)(null);
|
|
6416
|
+
const leftSidebarRef = (0, import_react64.useRef)(null);
|
|
6417
|
+
const rightSidebarRef = (0, import_react64.useRef)(null);
|
|
6333
6418
|
usePreservePanelSize(panelGroupRef, onChangeLayoutState);
|
|
6334
6419
|
const theme = useDesignSystemTheme();
|
|
6335
|
-
(0,
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
6527
|
-
var
|
|
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
|
|
6546
|
-
var
|
|
6547
|
-
var Section =
|
|
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 =
|
|
6642
|
+
var SectionHeader = import_styled_components36.default.div(({ theme }) => ({
|
|
6555
6643
|
display: "flex",
|
|
6556
6644
|
alignItems: "center"
|
|
6557
6645
|
}));
|
|
6558
|
-
var Title3 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
6674
|
+
var Checkbox = import_styled_components36.default.input(({ theme }) => ({
|
|
6587
6675
|
margin: 0
|
|
6588
6676
|
}));
|
|
6589
|
-
var Text3 =
|
|
6677
|
+
var Text3 = import_styled_components36.default.span(({ theme }) => ({
|
|
6590
6678
|
...theme.textStyles.small
|
|
6591
6679
|
}));
|
|
6592
|
-
var VerticalSeparator = () => /* @__PURE__ */
|
|
6593
|
-
var HorizontalSeparator = () => /* @__PURE__ */
|
|
6594
|
-
var SliderRowLabel =
|
|
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 =
|
|
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,
|
|
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__ */
|
|
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,
|
|
6711
|
+
var LabeledSliderRow = (0, import_react65.memo)(function LabeledRow3({
|
|
6624
6712
|
children,
|
|
6625
6713
|
label
|
|
6626
6714
|
}) {
|
|
6627
|
-
return /* @__PURE__ */
|
|
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 =
|
|
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 =
|
|
6725
|
+
var ItemContainer2 = import_styled_components37.default.div({
|
|
6638
6726
|
position: "relative"
|
|
6639
6727
|
});
|
|
6640
|
-
var ArrayController = (0,
|
|
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,
|
|
6657
|
-
const primaryLightColor = (0,
|
|
6658
|
-
const keys = (0,
|
|
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,
|
|
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__ */
|
|
6768
|
+
return /* @__PURE__ */ import_react66.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
|
|
6681
6769
|
};
|
|
6682
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
6713
|
-
)), /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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,
|
|
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,
|
|
6836
|
+
const handleNudgeValue = (0, import_react67.useCallback)(
|
|
6749
6837
|
(value2) => onSetValue(value2, "adjust"),
|
|
6750
6838
|
[onSetValue]
|
|
6751
6839
|
);
|
|
6752
|
-
const handleSetValue = (0,
|
|
6840
|
+
const handleSetValue = (0, import_react67.useCallback)(
|
|
6753
6841
|
(value2) => onSetValue(value2, "replace"),
|
|
6754
6842
|
[onSetValue]
|
|
6755
6843
|
);
|
|
6756
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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,
|