@noya-app/noya-designsystem 0.1.20 → 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 +18 -0
- package/dist/index.d.mts +53 -31
- package/dist/index.d.ts +53 -31
- package/dist/index.js +261 -165
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +297 -205
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -4
- package/src/components/Chip.tsx +90 -78
- package/src/components/ContextMenu.tsx +15 -21
- package/src/components/InputField.tsx +49 -5
- 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 +4 -2
- 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,
|
|
@@ -788,7 +800,8 @@ var textStyles = {
|
|
|
788
800
|
fontFamily: fonts.normal,
|
|
789
801
|
fontSize: `${typeScale[6]}rem`,
|
|
790
802
|
fontWeight: 400,
|
|
791
|
-
lineHeight: "
|
|
803
|
+
lineHeight: "19px"
|
|
804
|
+
// lineHeight: "1.4",
|
|
792
805
|
},
|
|
793
806
|
button: {
|
|
794
807
|
fontFamily: fonts.normal,
|
|
@@ -806,7 +819,8 @@ var textStyles = {
|
|
|
806
819
|
fontFamily: fonts.normal,
|
|
807
820
|
fontSize: "0.62rem",
|
|
808
821
|
fontWeight: 400,
|
|
809
|
-
lineHeight: "
|
|
822
|
+
lineHeight: "19px",
|
|
823
|
+
// lineHeight: "1.4",
|
|
810
824
|
textTransform: "uppercase",
|
|
811
825
|
letterSpacing: "-0.3px"
|
|
812
826
|
}
|
|
@@ -1855,13 +1869,7 @@ function Popover({
|
|
|
1855
1869
|
onFocusOutside,
|
|
1856
1870
|
onPointerDownOutside,
|
|
1857
1871
|
collisionPadding: 8,
|
|
1858
|
-
arrowPadding: 2
|
|
1859
|
-
onPointerDown: (event) => {
|
|
1860
|
-
event.stopPropagation();
|
|
1861
|
-
},
|
|
1862
|
-
onWheel: (event) => {
|
|
1863
|
-
event.stopPropagation();
|
|
1864
|
-
}
|
|
1872
|
+
arrowPadding: 2
|
|
1865
1873
|
},
|
|
1866
1874
|
children,
|
|
1867
1875
|
showArrow && /* @__PURE__ */ import_react31.default.createElement(ArrowElement, null),
|
|
@@ -2043,7 +2051,11 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default)(({
|
|
|
2043
2051
|
// },
|
|
2044
2052
|
};
|
|
2045
2053
|
});
|
|
2046
|
-
var InputFieldInput = (0, import_react32.forwardRef)(function InputFieldInput2(
|
|
2054
|
+
var InputFieldInput = (0, import_react32.forwardRef)(function InputFieldInput2({
|
|
2055
|
+
textAlign,
|
|
2056
|
+
variant,
|
|
2057
|
+
...rest
|
|
2058
|
+
}, forwardedRef) {
|
|
2047
2059
|
const {
|
|
2048
2060
|
labelPosition,
|
|
2049
2061
|
labelSize,
|
|
@@ -2071,8 +2083,10 @@ var InputFieldInput = (0, import_react32.forwardRef)(function InputFieldInput2(p
|
|
|
2071
2083
|
$hasLabel: hasLabel,
|
|
2072
2084
|
$hasDropdown: hasDropdown,
|
|
2073
2085
|
$size: size2,
|
|
2086
|
+
$variant: variant,
|
|
2087
|
+
$textAlign: textAlign,
|
|
2074
2088
|
onFocusChange: handleFocusChange,
|
|
2075
|
-
...
|
|
2089
|
+
...rest
|
|
2076
2090
|
}
|
|
2077
2091
|
);
|
|
2078
2092
|
});
|
|
@@ -2116,9 +2130,10 @@ function parseNumber(value) {
|
|
|
2116
2130
|
return value ? Number(value) : NaN;
|
|
2117
2131
|
}
|
|
2118
2132
|
function InputFieldNumberInput(props) {
|
|
2119
|
-
const { value, placeholder, onNudge, ...rest } = props;
|
|
2133
|
+
const { value, placeholder, onNudge, onBlur, ...rest } = props;
|
|
2120
2134
|
const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
|
|
2121
2135
|
const onChange = "onChange" in props ? props.onChange : void 0;
|
|
2136
|
+
const [internalValue, setInternalValue] = (0, import_react32.useState)();
|
|
2122
2137
|
const handleSubmit = (0, import_react32.useCallback)(
|
|
2123
2138
|
(value2) => {
|
|
2124
2139
|
const newValue = parseNumber(value2);
|
|
@@ -2134,6 +2149,7 @@ function InputFieldNumberInput(props) {
|
|
|
2134
2149
|
if (!amount)
|
|
2135
2150
|
return;
|
|
2136
2151
|
onNudge?.(amount);
|
|
2152
|
+
setInternalValue(void 0);
|
|
2137
2153
|
event.preventDefault();
|
|
2138
2154
|
event.stopPropagation();
|
|
2139
2155
|
},
|
|
@@ -2141,17 +2157,37 @@ function InputFieldNumberInput(props) {
|
|
|
2141
2157
|
);
|
|
2142
2158
|
const handleChange = (0, import_react32.useCallback)(
|
|
2143
2159
|
(value2) => {
|
|
2144
|
-
|
|
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
|
+
}
|
|
2145
2173
|
},
|
|
2146
2174
|
[onChange]
|
|
2147
2175
|
);
|
|
2176
|
+
const handleBlur = (0, import_react32.useCallback)(
|
|
2177
|
+
(event) => {
|
|
2178
|
+
setInternalValue(void 0);
|
|
2179
|
+
onBlur?.(event);
|
|
2180
|
+
},
|
|
2181
|
+
[onBlur]
|
|
2182
|
+
);
|
|
2148
2183
|
return /* @__PURE__ */ import_react32.default.createElement(
|
|
2149
2184
|
InputFieldInput,
|
|
2150
2185
|
{
|
|
2151
2186
|
...rest,
|
|
2152
|
-
value: value === void 0 ? "" : String(value),
|
|
2187
|
+
value: internalValue !== void 0 ? String(internalValue) : value === void 0 ? "" : String(value),
|
|
2153
2188
|
placeholder,
|
|
2154
2189
|
onKeyDown: handleKeyDown,
|
|
2190
|
+
onBlur: handleBlur,
|
|
2155
2191
|
..."onChange" in props ? { onChange: handleChange } : { onSubmit: handleSubmit }
|
|
2156
2192
|
}
|
|
2157
2193
|
);
|
|
@@ -2597,15 +2633,15 @@ var ChipElement = import_styled_components16.default.span(({ theme, $colorScheme
|
|
|
2597
2633
|
userSelect: "none",
|
|
2598
2634
|
display: "inline-flex",
|
|
2599
2635
|
alignItems: "center",
|
|
2600
|
-
lineHeight: "1.4",
|
|
2636
|
+
// lineHeight: "1.4",
|
|
2637
|
+
lineHeight: "15px",
|
|
2601
2638
|
whiteSpace: "pre",
|
|
2602
2639
|
...$size === "medium" ? {
|
|
2603
2640
|
fontSize: "11px",
|
|
2604
2641
|
padding: "4px 8px"
|
|
2605
2642
|
} : {
|
|
2606
2643
|
fontSize: "9px",
|
|
2607
|
-
padding: "0px 4px"
|
|
2608
|
-
lineHeight: "15px"
|
|
2644
|
+
padding: "0px 4px"
|
|
2609
2645
|
},
|
|
2610
2646
|
...$monospace && {
|
|
2611
2647
|
fontFamily: theme.fonts.monospace
|
|
@@ -2668,66 +2704,72 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
|
|
|
2668
2704
|
opacity: 0.85
|
|
2669
2705
|
}
|
|
2670
2706
|
}));
|
|
2671
|
-
var Chip = (0, import_react36.memo)(
|
|
2672
|
-
|
|
2673
|
-
|
|
2674
|
-
deletable,
|
|
2675
|
-
addable,
|
|
2676
|
-
style: style3,
|
|
2677
|
-
size: size2 = "medium",
|
|
2678
|
-
variant = "solid",
|
|
2679
|
-
monospace = false,
|
|
2680
|
-
tabIndex,
|
|
2681
|
-
onDelete,
|
|
2682
|
-
onClick,
|
|
2683
|
-
onAdd,
|
|
2684
|
-
onHoverDeleteChange
|
|
2685
|
-
}) {
|
|
2686
|
-
const theme = useDesignSystemTheme();
|
|
2687
|
-
const { hoverProps: hoverDeleteProps } = useHover({
|
|
2688
|
-
onHoverChange: onHoverDeleteChange
|
|
2689
|
-
});
|
|
2690
|
-
const handleClick = !children && !deletable && addable ? onAdd : onClick;
|
|
2691
|
-
const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
|
|
2692
|
-
return /* @__PURE__ */ import_react36.default.createElement(
|
|
2693
|
-
ChipElement,
|
|
2694
|
-
{
|
|
2695
|
-
$variant: variant,
|
|
2696
|
-
$colorScheme: colorScheme,
|
|
2697
|
-
style: style3,
|
|
2698
|
-
onClick: handleClick,
|
|
2699
|
-
$size: size2,
|
|
2700
|
-
$monospace: monospace,
|
|
2701
|
-
$isInteractive: !!handleClick,
|
|
2702
|
-
tabIndex
|
|
2703
|
-
},
|
|
2704
|
-
addable && /* @__PURE__ */ import_react36.default.createElement(
|
|
2705
|
-
AddElement,
|
|
2706
|
-
{
|
|
2707
|
-
size: size2,
|
|
2708
|
-
isOnlyChild: !children && !deletable,
|
|
2709
|
-
onClick: onAdd ? (event) => {
|
|
2710
|
-
event.stopPropagation();
|
|
2711
|
-
onAdd?.();
|
|
2712
|
-
} : void 0,
|
|
2713
|
-
color
|
|
2714
|
-
}
|
|
2715
|
-
),
|
|
2707
|
+
var Chip = (0, import_react36.memo)(
|
|
2708
|
+
(0, import_react36.forwardRef)(function Chip2({
|
|
2709
|
+
colorScheme,
|
|
2716
2710
|
children,
|
|
2717
|
-
deletable
|
|
2718
|
-
|
|
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,
|
|
2719
2733
|
{
|
|
2720
|
-
|
|
2721
|
-
|
|
2722
|
-
|
|
2723
|
-
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2728
|
-
|
|
2729
|
-
|
|
2730
|
-
}
|
|
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
|
+
);
|
|
2731
2773
|
|
|
2732
2774
|
// src/components/ContextMenu.tsx
|
|
2733
2775
|
var import_noya_icons4 = require("@noya-app/noya-icons");
|
|
@@ -4902,6 +4944,9 @@ var RootContainer2 = import_styled_components25.default.div(({ theme, $scrollabl
|
|
|
4902
4944
|
gap: $gap
|
|
4903
4945
|
}));
|
|
4904
4946
|
var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInner2({
|
|
4947
|
+
id,
|
|
4948
|
+
className,
|
|
4949
|
+
style: style3,
|
|
4905
4950
|
onPress,
|
|
4906
4951
|
scrollable = false,
|
|
4907
4952
|
expandable = true,
|
|
@@ -5041,6 +5086,9 @@ var ListViewRootInner = (0, import_react49.forwardRef)(function ListViewRootInne
|
|
|
5041
5086
|
return /* @__PURE__ */ import_react49.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react49.default.createElement(
|
|
5042
5087
|
RootContainer2,
|
|
5043
5088
|
{
|
|
5089
|
+
id,
|
|
5090
|
+
className,
|
|
5091
|
+
style: style3,
|
|
5044
5092
|
...{
|
|
5045
5093
|
[pressEventName]: handleClick
|
|
5046
5094
|
},
|
|
@@ -5143,7 +5191,9 @@ var Text = (0, import_react50.forwardRef)(function Text2({
|
|
|
5143
5191
|
className,
|
|
5144
5192
|
color,
|
|
5145
5193
|
href,
|
|
5194
|
+
tabIndex,
|
|
5146
5195
|
onClick,
|
|
5196
|
+
onKeyDown,
|
|
5147
5197
|
...rest
|
|
5148
5198
|
}, forwardedRef) {
|
|
5149
5199
|
const element = as ?? elements[variant] ?? "span";
|
|
@@ -5153,11 +5203,13 @@ var Text = (0, import_react50.forwardRef)(function Text2({
|
|
|
5153
5203
|
ref: forwardedRef,
|
|
5154
5204
|
as: element,
|
|
5155
5205
|
className,
|
|
5206
|
+
tabIndex,
|
|
5156
5207
|
$variant: variant,
|
|
5157
5208
|
$breakpoints: breakpoints,
|
|
5158
5209
|
$styleProps: rest,
|
|
5159
5210
|
$color: color,
|
|
5160
5211
|
onClick,
|
|
5212
|
+
onKeyDown,
|
|
5161
5213
|
...href && { href }
|
|
5162
5214
|
},
|
|
5163
5215
|
children
|
|
@@ -6005,11 +6057,51 @@ var Select = (0, import_react57.memo)(function Select2({
|
|
|
6005
6057
|
)), label && /* @__PURE__ */ import_react57.default.createElement(SelectLabel, { htmlFor: id }, label));
|
|
6006
6058
|
});
|
|
6007
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
|
+
|
|
6008
6100
|
// src/components/Slider.tsx
|
|
6009
6101
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"));
|
|
6010
|
-
var
|
|
6011
|
-
var
|
|
6012
|
-
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)({
|
|
6013
6105
|
flex: "1",
|
|
6014
6106
|
position: "relative",
|
|
6015
6107
|
display: "flex",
|
|
@@ -6018,19 +6110,19 @@ var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
|
|
|
6018
6110
|
touchAction: "none",
|
|
6019
6111
|
height: "16px"
|
|
6020
6112
|
});
|
|
6021
|
-
var StyledTrack = (0,
|
|
6113
|
+
var StyledTrack = (0, import_styled_components34.default)(RadixSlider.Track)(({ theme }) => ({
|
|
6022
6114
|
backgroundColor: theme.colors.divider,
|
|
6023
6115
|
position: "relative",
|
|
6024
6116
|
flexGrow: 1,
|
|
6025
6117
|
height: "2px"
|
|
6026
6118
|
}));
|
|
6027
|
-
var StyledRange = (0,
|
|
6119
|
+
var StyledRange = (0, import_styled_components34.default)(RadixSlider.Range)(({ theme }) => ({
|
|
6028
6120
|
position: "absolute",
|
|
6029
6121
|
backgroundColor: theme.colors.primary,
|
|
6030
6122
|
borderRadius: "9999px",
|
|
6031
6123
|
height: "100%"
|
|
6032
6124
|
}));
|
|
6033
|
-
var StyledThumb2 = (0,
|
|
6125
|
+
var StyledThumb2 = (0, import_styled_components34.default)(RadixSlider.Thumb)(({ theme }) => ({
|
|
6034
6126
|
display: "block",
|
|
6035
6127
|
width: "12px",
|
|
6036
6128
|
height: "12px",
|
|
@@ -6048,17 +6140,17 @@ var Slider = function Slider2({
|
|
|
6048
6140
|
min,
|
|
6049
6141
|
max
|
|
6050
6142
|
}) {
|
|
6051
|
-
const arrayValue = (0,
|
|
6143
|
+
const arrayValue = (0, import_react59.useMemo)(
|
|
6052
6144
|
() => [Math.min(Math.max(value, min), max)],
|
|
6053
6145
|
[value, min, max]
|
|
6054
6146
|
);
|
|
6055
|
-
const handleValueChange = (0,
|
|
6147
|
+
const handleValueChange = (0, import_react59.useCallback)(
|
|
6056
6148
|
(arrayValue2) => {
|
|
6057
6149
|
onValueChange(arrayValue2[0]);
|
|
6058
6150
|
},
|
|
6059
6151
|
[onValueChange]
|
|
6060
6152
|
);
|
|
6061
|
-
return /* @__PURE__ */
|
|
6153
|
+
return /* @__PURE__ */ import_react59.default.createElement(
|
|
6062
6154
|
StyledSlider,
|
|
6063
6155
|
{
|
|
6064
6156
|
min,
|
|
@@ -6067,16 +6159,16 @@ var Slider = function Slider2({
|
|
|
6067
6159
|
value: arrayValue,
|
|
6068
6160
|
onValueChange: handleValueChange
|
|
6069
6161
|
},
|
|
6070
|
-
/* @__PURE__ */
|
|
6071
|
-
/* @__PURE__ */
|
|
6162
|
+
/* @__PURE__ */ import_react59.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react59.default.createElement(StyledRange, null)),
|
|
6163
|
+
/* @__PURE__ */ import_react59.default.createElement(StyledThumb2, null)
|
|
6072
6164
|
);
|
|
6073
6165
|
};
|
|
6074
6166
|
|
|
6075
6167
|
// src/components/Switch.tsx
|
|
6076
6168
|
var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
|
|
6077
|
-
var
|
|
6078
|
-
var
|
|
6079
|
-
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 }) => ({
|
|
6080
6172
|
all: "unset",
|
|
6081
6173
|
width: 32,
|
|
6082
6174
|
height: 19,
|
|
@@ -6093,7 +6185,7 @@ var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)((
|
|
|
6093
6185
|
backgroundColor: $colorScheme === "primary" ? theme.colors.primary : $colorScheme === "secondary" ? theme.colors.secondary : void 0
|
|
6094
6186
|
}
|
|
6095
6187
|
}));
|
|
6096
|
-
var SwitchThumb = (0,
|
|
6188
|
+
var SwitchThumb = (0, import_styled_components35.default)(SwitchPrimitive.Thumb)({
|
|
6097
6189
|
display: "block",
|
|
6098
6190
|
width: 15,
|
|
6099
6191
|
height: 15,
|
|
@@ -6109,7 +6201,7 @@ var Switch = function Switch2({
|
|
|
6109
6201
|
onChange,
|
|
6110
6202
|
colorScheme = "normal"
|
|
6111
6203
|
}) {
|
|
6112
|
-
return /* @__PURE__ */
|
|
6204
|
+
return /* @__PURE__ */ import_react60.default.createElement(
|
|
6113
6205
|
SwitchRoot,
|
|
6114
6206
|
{
|
|
6115
6207
|
$colorScheme: colorScheme,
|
|
@@ -6118,62 +6210,62 @@ var Switch = function Switch2({
|
|
|
6118
6210
|
onChange(newValue);
|
|
6119
6211
|
}
|
|
6120
6212
|
},
|
|
6121
|
-
/* @__PURE__ */
|
|
6213
|
+
/* @__PURE__ */ import_react60.default.createElement(SwitchThumb, null)
|
|
6122
6214
|
);
|
|
6123
6215
|
};
|
|
6124
6216
|
|
|
6125
6217
|
// src/components/TreeView.tsx
|
|
6126
|
-
var
|
|
6127
|
-
var TreeRow = (0,
|
|
6218
|
+
var import_react61 = __toESM(require("react"));
|
|
6219
|
+
var TreeRow = (0, import_react61.forwardRef)(function TreeRow2({
|
|
6128
6220
|
icon,
|
|
6129
6221
|
expanded,
|
|
6130
6222
|
onClickChevron,
|
|
6131
6223
|
children,
|
|
6132
6224
|
...rest
|
|
6133
6225
|
}, forwardedRef) {
|
|
6134
|
-
const { expandable } = (0,
|
|
6135
|
-
const handleClickChevron = (0,
|
|
6226
|
+
const { expandable } = (0, import_react61.useContext)(ListView.RowContext);
|
|
6227
|
+
const handleClickChevron = (0, import_react61.useCallback)(
|
|
6136
6228
|
(event) => {
|
|
6137
6229
|
event.stopPropagation();
|
|
6138
6230
|
onClickChevron?.({ altKey: event.altKey });
|
|
6139
6231
|
},
|
|
6140
6232
|
[onClickChevron]
|
|
6141
6233
|
);
|
|
6142
|
-
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(
|
|
6143
6235
|
IconButton,
|
|
6144
6236
|
{
|
|
6145
|
-
iconName: expanded ? "
|
|
6237
|
+
iconName: expanded ? "ChevronDownIcon2" : "ChevronRightIcon2",
|
|
6146
6238
|
onClick: handleClickChevron,
|
|
6147
6239
|
selected: rest.selected
|
|
6148
6240
|
}
|
|
6149
|
-
), /* @__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);
|
|
6150
6242
|
});
|
|
6151
6243
|
var TreeView;
|
|
6152
6244
|
((TreeView2) => {
|
|
6153
6245
|
TreeView2.Root = ListView.Root;
|
|
6154
6246
|
TreeView2.RowTitle = ListView.RowTitle;
|
|
6155
6247
|
TreeView2.EditableRowTitle = ListView.EditableRowTitle;
|
|
6156
|
-
TreeView2.Row = (0,
|
|
6248
|
+
TreeView2.Row = (0, import_react61.memo)(TreeRow);
|
|
6157
6249
|
})(TreeView || (TreeView = {}));
|
|
6158
6250
|
|
|
6159
6251
|
// src/components/WorkspaceLayout.tsx
|
|
6160
6252
|
var import_noya_keymap5 = require("@noya-app/noya-keymap");
|
|
6161
|
-
var
|
|
6253
|
+
var import_react64 = __toESM(require("react"));
|
|
6162
6254
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
6163
6255
|
|
|
6164
6256
|
// src/hooks/usePreservePanelSize.tsx
|
|
6165
|
-
var
|
|
6257
|
+
var import_react63 = require("react");
|
|
6166
6258
|
|
|
6167
6259
|
// src/hooks/useWindowSize.tsx
|
|
6168
|
-
var
|
|
6260
|
+
var import_react62 = require("react");
|
|
6169
6261
|
function useWindowSize() {
|
|
6170
|
-
const [size2, setSize] = (0,
|
|
6262
|
+
const [size2, setSize] = (0, import_react62.useState)(
|
|
6171
6263
|
typeof window === "undefined" ? { width: 0, height: 0 } : {
|
|
6172
6264
|
width: window.innerWidth,
|
|
6173
6265
|
height: window.innerHeight
|
|
6174
6266
|
}
|
|
6175
6267
|
);
|
|
6176
|
-
(0,
|
|
6268
|
+
(0, import_react62.useEffect)(() => {
|
|
6177
6269
|
const handleResize = () => setSize({
|
|
6178
6270
|
width: window.innerWidth,
|
|
6179
6271
|
height: window.innerHeight
|
|
@@ -6191,8 +6283,8 @@ var RIGHT_SIDEBAR_ID = "editor-right-sidebar";
|
|
|
6191
6283
|
var CONTENT_AREA_ID = "editor-content-area";
|
|
6192
6284
|
function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
|
|
6193
6285
|
const windowSize = useWindowSize();
|
|
6194
|
-
const layoutRef = (0,
|
|
6195
|
-
(0,
|
|
6286
|
+
const layoutRef = (0, import_react63.useRef)();
|
|
6287
|
+
(0, import_react63.useLayoutEffect)(() => {
|
|
6196
6288
|
const panelGroup = document.querySelector(
|
|
6197
6289
|
`[data-panel-group-id="${EDITOR_PANEL_GROUP_ID}"]`
|
|
6198
6290
|
);
|
|
@@ -6235,7 +6327,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
|
|
|
6235
6327
|
panelGroupObserver.disconnect();
|
|
6236
6328
|
};
|
|
6237
6329
|
}, [panelGroupRef, setPanelLayoutState]);
|
|
6238
|
-
(0,
|
|
6330
|
+
(0, import_react63.useLayoutEffect)(() => {
|
|
6239
6331
|
if (!layoutRef.current)
|
|
6240
6332
|
return;
|
|
6241
6333
|
const {
|
|
@@ -6295,7 +6387,7 @@ function usePreservePanelSize(panelGroupRef, setPanelLayoutState) {
|
|
|
6295
6387
|
}
|
|
6296
6388
|
|
|
6297
6389
|
// src/components/WorkspaceLayout.tsx
|
|
6298
|
-
var WorkspaceLayout = (0,
|
|
6390
|
+
var WorkspaceLayout = (0, import_react64.forwardRef)(function WorkspaceLayout2({
|
|
6299
6391
|
autoSavePrefix,
|
|
6300
6392
|
leftSidebarContent: leftPanelContent,
|
|
6301
6393
|
children: centerPanelContent,
|
|
@@ -6320,12 +6412,12 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6320
6412
|
const rightSidebarPercentage = getPercentage(rightSidebarInitialSize);
|
|
6321
6413
|
const leftSidebarMinPercentage = leftSidebarMinSize !== void 0 ? getPercentage(leftSidebarMinSize) : void 0;
|
|
6322
6414
|
const rightSidebarMinPercentage = rightSidebarMinSize !== void 0 ? getPercentage(rightSidebarMinSize) : void 0;
|
|
6323
|
-
const panelGroupRef = (0,
|
|
6324
|
-
const leftSidebarRef = (0,
|
|
6325
|
-
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);
|
|
6326
6418
|
usePreservePanelSize(panelGroupRef, onChangeLayoutState);
|
|
6327
6419
|
const theme = useDesignSystemTheme();
|
|
6328
|
-
(0,
|
|
6420
|
+
(0, import_react64.useImperativeHandle)(forwardedRef, () => ({
|
|
6329
6421
|
setLeftSidebarExpanded: (expanded) => {
|
|
6330
6422
|
if (expanded) {
|
|
6331
6423
|
leftSidebarRef.current?.expand();
|
|
@@ -6382,7 +6474,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6382
6474
|
}
|
|
6383
6475
|
});
|
|
6384
6476
|
const centerPanelPercentage = 100 - (leftPanelContent ? leftSidebarPercentage : 0) - (rightPanelContent ? rightSidebarPercentage : 0);
|
|
6385
|
-
return /* @__PURE__ */
|
|
6477
|
+
return /* @__PURE__ */ import_react64.default.createElement(
|
|
6386
6478
|
"div",
|
|
6387
6479
|
{
|
|
6388
6480
|
id,
|
|
@@ -6394,7 +6486,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6394
6486
|
...style3
|
|
6395
6487
|
}
|
|
6396
6488
|
},
|
|
6397
|
-
/* @__PURE__ */
|
|
6489
|
+
/* @__PURE__ */ import_react64.default.createElement(
|
|
6398
6490
|
import_react_resizable_panels.PanelGroup,
|
|
6399
6491
|
{
|
|
6400
6492
|
ref: panelGroupRef,
|
|
@@ -6403,7 +6495,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6403
6495
|
autoSaveId: autoSavePrefix ? `${autoSavePrefix}--${EDITOR_PANEL_GROUP_ID}` : void 0,
|
|
6404
6496
|
style: { flex: "1" }
|
|
6405
6497
|
},
|
|
6406
|
-
hasLeftSidebar && /* @__PURE__ */
|
|
6498
|
+
hasLeftSidebar && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(
|
|
6407
6499
|
import_react_resizable_panels.Panel,
|
|
6408
6500
|
{
|
|
6409
6501
|
id: LEFT_SIDEBAR_ID,
|
|
@@ -6415,11 +6507,12 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6415
6507
|
collapsible: true,
|
|
6416
6508
|
style: {
|
|
6417
6509
|
display: "flex",
|
|
6418
|
-
flexDirection: "row"
|
|
6510
|
+
flexDirection: "row",
|
|
6511
|
+
position: "relative"
|
|
6419
6512
|
}
|
|
6420
6513
|
},
|
|
6421
6514
|
leftPanelContent
|
|
6422
|
-
), /* @__PURE__ */
|
|
6515
|
+
), /* @__PURE__ */ import_react64.default.createElement(
|
|
6423
6516
|
import_react_resizable_panels.PanelResizeHandle,
|
|
6424
6517
|
{
|
|
6425
6518
|
style: {
|
|
@@ -6430,7 +6523,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6430
6523
|
}
|
|
6431
6524
|
}
|
|
6432
6525
|
)),
|
|
6433
|
-
/* @__PURE__ */
|
|
6526
|
+
/* @__PURE__ */ import_react64.default.createElement(
|
|
6434
6527
|
import_react_resizable_panels.Panel,
|
|
6435
6528
|
{
|
|
6436
6529
|
id: CONTENT_AREA_ID,
|
|
@@ -6439,12 +6532,13 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6439
6532
|
minSize: 10,
|
|
6440
6533
|
style: {
|
|
6441
6534
|
display: "flex",
|
|
6442
|
-
flexDirection: "row"
|
|
6535
|
+
flexDirection: "row",
|
|
6536
|
+
position: "relative"
|
|
6443
6537
|
}
|
|
6444
6538
|
},
|
|
6445
6539
|
centerPanelContent
|
|
6446
6540
|
),
|
|
6447
|
-
hasRightSidebar && /* @__PURE__ */
|
|
6541
|
+
hasRightSidebar && /* @__PURE__ */ import_react64.default.createElement(import_react64.default.Fragment, null, /* @__PURE__ */ import_react64.default.createElement(
|
|
6448
6542
|
import_react_resizable_panels.PanelResizeHandle,
|
|
6449
6543
|
{
|
|
6450
6544
|
style: {
|
|
@@ -6454,7 +6548,7 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6454
6548
|
backgroundColor: theme.colors.divider
|
|
6455
6549
|
}
|
|
6456
6550
|
}
|
|
6457
|
-
), /* @__PURE__ */
|
|
6551
|
+
), /* @__PURE__ */ import_react64.default.createElement(
|
|
6458
6552
|
import_react_resizable_panels.Panel,
|
|
6459
6553
|
{
|
|
6460
6554
|
id: RIGHT_SIDEBAR_ID,
|
|
@@ -6465,7 +6559,8 @@ var WorkspaceLayout = (0, import_react63.forwardRef)(function WorkspaceLayout2({
|
|
|
6465
6559
|
collapsible: true,
|
|
6466
6560
|
style: {
|
|
6467
6561
|
display: "flex",
|
|
6468
|
-
flexDirection: "row"
|
|
6562
|
+
flexDirection: "row",
|
|
6563
|
+
position: "relative"
|
|
6469
6564
|
}
|
|
6470
6565
|
},
|
|
6471
6566
|
rightPanelContent
|
|
@@ -6516,8 +6611,8 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
|
|
|
6516
6611
|
|
|
6517
6612
|
// src/components/ArrayController.tsx
|
|
6518
6613
|
var import_noya_utils11 = require("@noya-app/noya-utils");
|
|
6519
|
-
var
|
|
6520
|
-
var
|
|
6614
|
+
var import_react66 = __toESM(require("react"));
|
|
6615
|
+
var import_styled_components37 = __toESM(require("styled-components"));
|
|
6521
6616
|
|
|
6522
6617
|
// src/components/InspectorPrimitives.tsx
|
|
6523
6618
|
var InspectorPrimitives_exports = {};
|
|
@@ -6535,20 +6630,20 @@ __export(InspectorPrimitives_exports, {
|
|
|
6535
6630
|
Title: () => Title3,
|
|
6536
6631
|
VerticalSeparator: () => VerticalSeparator
|
|
6537
6632
|
});
|
|
6538
|
-
var
|
|
6539
|
-
var
|
|
6540
|
-
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 }) => ({
|
|
6541
6636
|
flex: "0 0 auto",
|
|
6542
6637
|
display: "flex",
|
|
6543
6638
|
flexDirection: "column",
|
|
6544
6639
|
padding: $padding,
|
|
6545
6640
|
gap: $gap
|
|
6546
6641
|
}));
|
|
6547
|
-
var SectionHeader =
|
|
6642
|
+
var SectionHeader = import_styled_components36.default.div(({ theme }) => ({
|
|
6548
6643
|
display: "flex",
|
|
6549
6644
|
alignItems: "center"
|
|
6550
6645
|
}));
|
|
6551
|
-
var Title3 =
|
|
6646
|
+
var Title3 = import_styled_components36.default.div(({ theme, $textStyle }) => ({
|
|
6552
6647
|
display: "flex",
|
|
6553
6648
|
flexDirection: "row",
|
|
6554
6649
|
userSelect: "none",
|
|
@@ -6561,7 +6656,7 @@ var Title3 = import_styled_components35.default.div(({ theme, $textStyle }) => (
|
|
|
6561
6656
|
fontWeight: "bold"
|
|
6562
6657
|
}
|
|
6563
6658
|
}));
|
|
6564
|
-
var Row2 =
|
|
6659
|
+
var Row2 = import_styled_components36.default.div(
|
|
6565
6660
|
({ theme, $gap }) => ({
|
|
6566
6661
|
flex: "1",
|
|
6567
6662
|
display: "flex",
|
|
@@ -6570,26 +6665,26 @@ var Row2 = import_styled_components35.default.div(
|
|
|
6570
6665
|
gap: $gap
|
|
6571
6666
|
})
|
|
6572
6667
|
);
|
|
6573
|
-
var Column =
|
|
6668
|
+
var Column = import_styled_components36.default.div(({ theme }) => ({
|
|
6574
6669
|
flex: "1",
|
|
6575
6670
|
display: "flex",
|
|
6576
6671
|
flexDirection: "column",
|
|
6577
6672
|
gap: "4px"
|
|
6578
6673
|
}));
|
|
6579
|
-
var Checkbox =
|
|
6674
|
+
var Checkbox = import_styled_components36.default.input(({ theme }) => ({
|
|
6580
6675
|
margin: 0
|
|
6581
6676
|
}));
|
|
6582
|
-
var Text3 =
|
|
6677
|
+
var Text3 = import_styled_components36.default.span(({ theme }) => ({
|
|
6583
6678
|
...theme.textStyles.small
|
|
6584
6679
|
}));
|
|
6585
|
-
var VerticalSeparator = () => /* @__PURE__ */
|
|
6586
|
-
var HorizontalSeparator = () => /* @__PURE__ */
|
|
6587
|
-
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 }) => ({
|
|
6588
6683
|
...theme.textStyles.small,
|
|
6589
6684
|
color: theme.colors.textMuted,
|
|
6590
6685
|
marginBottom: "-6px"
|
|
6591
6686
|
}));
|
|
6592
|
-
var RowLabel =
|
|
6687
|
+
var RowLabel = import_styled_components36.default.span(({ theme, $textStyle }) => ({
|
|
6593
6688
|
// marginBottom: '6px',
|
|
6594
6689
|
display: "flex",
|
|
6595
6690
|
...$textStyle ? {
|
|
@@ -6603,7 +6698,7 @@ var RowLabel = import_styled_components35.default.span(({ theme, $textStyle }) =
|
|
|
6603
6698
|
// Button height
|
|
6604
6699
|
alignItems: "center"
|
|
6605
6700
|
}));
|
|
6606
|
-
var LabeledRow = (0,
|
|
6701
|
+
var LabeledRow = (0, import_react65.memo)(function LabeledRow2({
|
|
6607
6702
|
id,
|
|
6608
6703
|
children,
|
|
6609
6704
|
label,
|
|
@@ -6611,26 +6706,26 @@ var LabeledRow = (0, import_react64.memo)(function LabeledRow2({
|
|
|
6611
6706
|
gap,
|
|
6612
6707
|
right
|
|
6613
6708
|
}) {
|
|
6614
|
-
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)));
|
|
6615
6710
|
});
|
|
6616
|
-
var LabeledSliderRow = (0,
|
|
6711
|
+
var LabeledSliderRow = (0, import_react65.memo)(function LabeledRow3({
|
|
6617
6712
|
children,
|
|
6618
6713
|
label
|
|
6619
6714
|
}) {
|
|
6620
|
-
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)));
|
|
6621
6716
|
});
|
|
6622
6717
|
|
|
6623
6718
|
// src/components/ArrayController.tsx
|
|
6624
|
-
var ElementRow =
|
|
6719
|
+
var ElementRow = import_styled_components37.default.div({
|
|
6625
6720
|
flex: "0 0 auto",
|
|
6626
6721
|
display: "flex",
|
|
6627
6722
|
flexDirection: "row",
|
|
6628
6723
|
alignItems: "center"
|
|
6629
6724
|
});
|
|
6630
|
-
var ItemContainer2 =
|
|
6725
|
+
var ItemContainer2 = import_styled_components37.default.div({
|
|
6631
6726
|
position: "relative"
|
|
6632
6727
|
});
|
|
6633
|
-
var ArrayController = (0,
|
|
6728
|
+
var ArrayController = (0, import_react66.memo)(function ArrayController2({
|
|
6634
6729
|
id,
|
|
6635
6730
|
items,
|
|
6636
6731
|
title,
|
|
@@ -6646,14 +6741,14 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
|
|
|
6646
6741
|
renderExpandedContent,
|
|
6647
6742
|
padding = 10
|
|
6648
6743
|
}) {
|
|
6649
|
-
const iconColor = (0,
|
|
6650
|
-
const primaryLightColor = (0,
|
|
6651
|
-
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)(
|
|
6652
6747
|
() => items.map((item, index) => getKey?.(item) ?? index.toString()),
|
|
6653
6748
|
[getKey, items]
|
|
6654
6749
|
);
|
|
6655
6750
|
const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
|
|
6656
|
-
const handleMoveItem = (0,
|
|
6751
|
+
const handleMoveItem = (0, import_react66.useCallback)(
|
|
6657
6752
|
(sourceIndex, destinationIndex, position) => {
|
|
6658
6753
|
if (reversed) {
|
|
6659
6754
|
if (position === "above") {
|
|
@@ -6670,11 +6765,11 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
|
|
|
6670
6765
|
[onMoveItem, reversed]
|
|
6671
6766
|
);
|
|
6672
6767
|
const renderRow = (index) => {
|
|
6673
|
-
return /* @__PURE__ */
|
|
6768
|
+
return /* @__PURE__ */ import_react66.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
|
|
6674
6769
|
};
|
|
6675
|
-
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(
|
|
6676
6771
|
[
|
|
6677
|
-
onClickTrash && /* @__PURE__ */
|
|
6772
|
+
onClickTrash && /* @__PURE__ */ import_react66.default.createElement(
|
|
6678
6773
|
IconButton,
|
|
6679
6774
|
{
|
|
6680
6775
|
id: `${id}-trash`,
|
|
@@ -6683,7 +6778,7 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
|
|
|
6683
6778
|
onClick: onClickTrash
|
|
6684
6779
|
}
|
|
6685
6780
|
),
|
|
6686
|
-
onClickExpand && /* @__PURE__ */
|
|
6781
|
+
onClickExpand && /* @__PURE__ */ import_react66.default.createElement(
|
|
6687
6782
|
IconButton,
|
|
6688
6783
|
{
|
|
6689
6784
|
id: `${id}-gear`,
|
|
@@ -6692,7 +6787,7 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
|
|
|
6692
6787
|
onClick: onClickExpand
|
|
6693
6788
|
}
|
|
6694
6789
|
),
|
|
6695
|
-
onClickPlus && /* @__PURE__ */
|
|
6790
|
+
onClickPlus && /* @__PURE__ */ import_react66.default.createElement(
|
|
6696
6791
|
IconButton,
|
|
6697
6792
|
{
|
|
6698
6793
|
id: `${id}-add`,
|
|
@@ -6702,15 +6797,15 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
|
|
|
6702
6797
|
}
|
|
6703
6798
|
)
|
|
6704
6799
|
],
|
|
6705
|
-
/* @__PURE__ */
|
|
6706
|
-
)), /* @__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(
|
|
6707
6802
|
Sortable.Root,
|
|
6708
6803
|
{
|
|
6709
6804
|
keys,
|
|
6710
6805
|
renderOverlay: renderRow,
|
|
6711
6806
|
onMoveItem: handleMoveItem
|
|
6712
6807
|
},
|
|
6713
|
-
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(
|
|
6714
6809
|
ListView.DragIndicator,
|
|
6715
6810
|
{
|
|
6716
6811
|
$gap: 0,
|
|
@@ -6724,11 +6819,11 @@ var ArrayController = (0, import_react65.memo)(function ArrayController2({
|
|
|
6724
6819
|
|
|
6725
6820
|
// src/components/DimensionInput.tsx
|
|
6726
6821
|
var import_noya_utils12 = require("@noya-app/noya-utils");
|
|
6727
|
-
var
|
|
6822
|
+
var import_react67 = __toESM(require("react"));
|
|
6728
6823
|
function getNewValue(value, mode, delta) {
|
|
6729
6824
|
return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
|
|
6730
6825
|
}
|
|
6731
|
-
var DimensionInput = (0,
|
|
6826
|
+
var DimensionInput = (0, import_react67.memo)(function DimensionInput2({
|
|
6732
6827
|
id,
|
|
6733
6828
|
value,
|
|
6734
6829
|
onSetValue,
|
|
@@ -6738,15 +6833,15 @@ var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
|
|
|
6738
6833
|
disabled,
|
|
6739
6834
|
trigger = "submit"
|
|
6740
6835
|
}) {
|
|
6741
|
-
const handleNudgeValue = (0,
|
|
6836
|
+
const handleNudgeValue = (0, import_react67.useCallback)(
|
|
6742
6837
|
(value2) => onSetValue(value2, "adjust"),
|
|
6743
6838
|
[onSetValue]
|
|
6744
6839
|
);
|
|
6745
|
-
const handleSetValue = (0,
|
|
6840
|
+
const handleSetValue = (0, import_react67.useCallback)(
|
|
6746
6841
|
(value2) => onSetValue(value2, "replace"),
|
|
6747
6842
|
[onSetValue]
|
|
6748
6843
|
);
|
|
6749
|
-
return /* @__PURE__ */
|
|
6844
|
+
return /* @__PURE__ */ import_react67.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react67.default.createElement(
|
|
6750
6845
|
InputField.NumberInput,
|
|
6751
6846
|
{
|
|
6752
6847
|
value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
|
|
@@ -6755,7 +6850,7 @@ var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
|
|
|
6755
6850
|
disabled,
|
|
6756
6851
|
...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
|
|
6757
6852
|
}
|
|
6758
|
-
), label && /* @__PURE__ */
|
|
6853
|
+
), label && /* @__PURE__ */ import_react67.default.createElement(InputField.Label, null, label));
|
|
6759
6854
|
});
|
|
6760
6855
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6761
6856
|
0 && (module.exports = {
|
|
@@ -6815,6 +6910,7 @@ var DimensionInput = (0, import_react66.memo)(function DimensionInput2({
|
|
|
6815
6910
|
SUPPORTED_IMAGE_UPLOAD_TYPES,
|
|
6816
6911
|
ScrollArea,
|
|
6817
6912
|
Select,
|
|
6913
|
+
SelectMenu,
|
|
6818
6914
|
SelectOption,
|
|
6819
6915
|
Slider,
|
|
6820
6916
|
Small,
|