@noya-app/noya-designsystem 0.1.69 → 0.1.71
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 +10 -10
- package/CHANGELOG.md +16 -0
- package/dist/index.css +1 -1
- package/dist/index.d.mts +38 -4
- package/dist/index.d.ts +38 -4
- package/dist/index.js +314 -179
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +294 -161
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/components/Button.tsx +2 -1
- package/src/components/Combobox.tsx +3 -0
- package/src/components/DraggableMenuButton.tsx +5 -0
- package/src/components/InputField.tsx +20 -4
- package/src/components/ListMenu.tsx +1 -1
- package/src/components/TreeView.tsx +1 -3
- package/src/components/UserPicker.tsx +128 -0
- package/src/components/workspace/DrawerWorkspaceLayout.tsx +97 -55
- package/src/components/workspace/PanelWorkspaceLayout.tsx +12 -4
- package/src/components/workspace/WorkspaceLayout.tsx +7 -0
- package/src/components/workspace/types.ts +7 -0
- package/src/index.css +1 -1
- package/src/index.tsx +1 -0
package/dist/index.js
CHANGED
|
@@ -3257,6 +3257,7 @@ __export(src_exports, {
|
|
|
3257
3257
|
Tooltip: () => Tooltip,
|
|
3258
3258
|
TreeView: () => TreeView,
|
|
3259
3259
|
UserAvatar: () => UserAvatar,
|
|
3260
|
+
UserPicker: () => UserPicker,
|
|
3260
3261
|
UserPointer: () => UserPointer,
|
|
3261
3262
|
WorkspaceLayout: () => WorkspaceLayout,
|
|
3262
3263
|
WorkspaceSideProvider: () => WorkspaceSideProvider,
|
|
@@ -3290,6 +3291,7 @@ __export(src_exports, {
|
|
|
3290
3291
|
getNextIndex: () => getNextIndex,
|
|
3291
3292
|
getPipelineResultLink: () => getPipelineResultLink,
|
|
3292
3293
|
getThumbnailColors: () => getThumbnailColors,
|
|
3294
|
+
getUserDisplayName: () => getUserDisplayName,
|
|
3293
3295
|
isMenuItemSectionHeader: () => isMenuItemSectionHeader,
|
|
3294
3296
|
isNonSelectableMenuItem: () => isNonSelectableMenuItem,
|
|
3295
3297
|
isPopoverMenuItem: () => isPopoverMenuItem,
|
|
@@ -4193,7 +4195,8 @@ var variantStyles = {
|
|
|
4193
4195
|
floating: "n-bg-floating-button n-text-text n-shadow-[0_1px_2px_rgba(0,0,0,0.1)] hover:n-opacity-80 active:n-opacity-90",
|
|
4194
4196
|
thin: "n-bg-transparent n-text-text hover:n-bg-input-background-light",
|
|
4195
4197
|
none: "n-bg-transparent n-text-text hover:n-bg-input-background-light",
|
|
4196
|
-
ghost: "n-bg-transparent n-text-text hover:n-bg-input-background-light"
|
|
4198
|
+
ghost: "n-bg-transparent n-text-text hover:n-bg-input-background-light",
|
|
4199
|
+
link: "n-bg-transparent n-text-text hover:n-bg-input-background-light"
|
|
4197
4200
|
};
|
|
4198
4201
|
var sizeStyles = {
|
|
4199
4202
|
small: "n-px-[2px] n-font-sans n-text-[10px] n-font-medium",
|
|
@@ -5138,7 +5141,15 @@ function parseNumber(value) {
|
|
|
5138
5141
|
return value ? Number(value) : NaN;
|
|
5139
5142
|
}
|
|
5140
5143
|
function InputFieldNumberInput(props) {
|
|
5141
|
-
const {
|
|
5144
|
+
const {
|
|
5145
|
+
value,
|
|
5146
|
+
placeholder,
|
|
5147
|
+
onNudge,
|
|
5148
|
+
onBlur,
|
|
5149
|
+
readOnly,
|
|
5150
|
+
triggersOnEmpty,
|
|
5151
|
+
...rest
|
|
5152
|
+
} = props;
|
|
5142
5153
|
const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
|
|
5143
5154
|
const onChange = "onChange" in props ? props.onChange : void 0;
|
|
5144
5155
|
const [internalValue, setInternalValue] = (0, import_react29.useState)();
|
|
@@ -5166,6 +5177,9 @@ function InputFieldNumberInput(props) {
|
|
|
5166
5177
|
(value2) => {
|
|
5167
5178
|
if (value2 === "" || value2 === "-" || value2 === ".") {
|
|
5168
5179
|
setInternalValue(value2);
|
|
5180
|
+
if (triggersOnEmpty) {
|
|
5181
|
+
onChange?.(0, { isEmpty: true });
|
|
5182
|
+
}
|
|
5169
5183
|
return;
|
|
5170
5184
|
}
|
|
5171
5185
|
if (value2.endsWith(".")) {
|
|
@@ -5175,10 +5189,10 @@ function InputFieldNumberInput(props) {
|
|
|
5175
5189
|
setInternalValue(void 0);
|
|
5176
5190
|
const newValue = parseNumber(value2);
|
|
5177
5191
|
if (!isNaN(newValue)) {
|
|
5178
|
-
onChange?.(newValue);
|
|
5192
|
+
onChange?.(newValue, { isEmpty: false });
|
|
5179
5193
|
}
|
|
5180
5194
|
},
|
|
5181
|
-
[onChange]
|
|
5195
|
+
[onChange, triggersOnEmpty]
|
|
5182
5196
|
);
|
|
5183
5197
|
const handleBlur = (0, import_react29.useCallback)(
|
|
5184
5198
|
(event) => {
|
|
@@ -9899,7 +9913,7 @@ var TreeRow = forwardRefGeneric(function TreeRow2({
|
|
|
9899
9913
|
onClick: handleClickChevron,
|
|
9900
9914
|
selected: rest.selected
|
|
9901
9915
|
}
|
|
9902
|
-
), /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 10 })), children, expandable && chevronPosition === "end" && /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 6 }), expanded === void 0 ? /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null
|
|
9916
|
+
), /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, renderIcon(icon), /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 10 })), children, expandable && chevronPosition === "end" && /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, /* @__PURE__ */ import_react65.default.createElement(Spacer.Horizontal, { size: 6 }), expanded === void 0 ? /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null) : /* @__PURE__ */ import_react65.default.createElement(import_react65.default.Fragment, null, /* @__PURE__ */ import_react65.default.createElement(
|
|
9903
9917
|
IconButton,
|
|
9904
9918
|
{
|
|
9905
9919
|
as: chevronAs,
|
|
@@ -11026,6 +11040,7 @@ var Combobox = memoGeneric(
|
|
|
11026
11040
|
openMenuBehavior = "showFilteredItems",
|
|
11027
11041
|
onFocus,
|
|
11028
11042
|
onDeleteWhenEmpty,
|
|
11043
|
+
iconPosition = "right",
|
|
11029
11044
|
...rest
|
|
11030
11045
|
}, forwardedRef) {
|
|
11031
11046
|
const props = (0, import_react72.useMemo)(() => {
|
|
@@ -11366,6 +11381,7 @@ var Combobox = memoGeneric(
|
|
|
11366
11381
|
onSelectItem: handleUpdateSelection,
|
|
11367
11382
|
onHoverIndex: handleIndexChange,
|
|
11368
11383
|
listSize: adjustedListSize,
|
|
11384
|
+
iconPosition,
|
|
11369
11385
|
style: {
|
|
11370
11386
|
flex: `0 0 ${computedHeight}px`
|
|
11371
11387
|
},
|
|
@@ -11679,6 +11695,9 @@ var DraggableMenuButton = memoGeneric(function DraggableMenuButton2({
|
|
|
11679
11695
|
(event) => {
|
|
11680
11696
|
if (open || !downPosition) {
|
|
11681
11697
|
setDownPosition(null);
|
|
11698
|
+
if (open && event.target === event.currentTarget) {
|
|
11699
|
+
setOpen(false);
|
|
11700
|
+
}
|
|
11682
11701
|
return;
|
|
11683
11702
|
}
|
|
11684
11703
|
const dx = event.clientX - downPosition.x;
|
|
@@ -15106,7 +15125,7 @@ function ListMenu({
|
|
|
15106
15125
|
}) {
|
|
15107
15126
|
const selectedIds = items.flatMap(
|
|
15108
15127
|
(item) => isSelectableMenuItem(item) && item.checked ? [item.value] : []
|
|
15109
|
-
).concat(selectedIdsProp);
|
|
15128
|
+
).concat(selectedIdsProp ?? []);
|
|
15110
15129
|
let chunks = (0, import_noya_utils15.chunkBy)(
|
|
15111
15130
|
items,
|
|
15112
15131
|
(a, b) => a.type !== "separator" && b.type !== "separator"
|
|
@@ -16885,16 +16904,105 @@ function Tabs({
|
|
|
16885
16904
|
)), /* @__PURE__ */ React101.createElement(Divider, null), renderContent({ value: activeTab }));
|
|
16886
16905
|
}
|
|
16887
16906
|
|
|
16888
|
-
// src/components/
|
|
16907
|
+
// src/components/UserPicker.tsx
|
|
16889
16908
|
var import_react101 = __toESM(require("react"));
|
|
16890
|
-
|
|
16909
|
+
function UserPicker({
|
|
16910
|
+
users,
|
|
16911
|
+
value,
|
|
16912
|
+
defaultValue: defaultValue2,
|
|
16913
|
+
onChangeUserId,
|
|
16914
|
+
onSelectUser,
|
|
16915
|
+
placeholder = "Search users...",
|
|
16916
|
+
...rest
|
|
16917
|
+
}) {
|
|
16918
|
+
const sortedUsers = (0, import_react101.useMemo)(() => {
|
|
16919
|
+
return [...users].sort(
|
|
16920
|
+
(a, b) => getUserDisplayName(a).localeCompare(getUserDisplayName(b), void 0, {
|
|
16921
|
+
sensitivity: "base"
|
|
16922
|
+
})
|
|
16923
|
+
);
|
|
16924
|
+
}, [users]);
|
|
16925
|
+
const usersById = (0, import_react101.useMemo)(() => {
|
|
16926
|
+
return new Map(sortedUsers.map((user) => [user.id, user]));
|
|
16927
|
+
}, [sortedUsers]);
|
|
16928
|
+
const items = (0, import_react101.useMemo)(() => {
|
|
16929
|
+
return sortedUsers.map(createUserMenuItem);
|
|
16930
|
+
}, [sortedUsers]);
|
|
16931
|
+
const isControlled = value !== void 0;
|
|
16932
|
+
const [uncontrolledValue, setUncontrolledValue] = (0, import_react101.useState)(defaultValue2);
|
|
16933
|
+
const selectedUserId = isControlled ? value : uncontrolledValue;
|
|
16934
|
+
const selectedItem = (0, import_react101.useMemo)(() => {
|
|
16935
|
+
if (!selectedUserId) return void 0;
|
|
16936
|
+
return items.find((item) => item.value === selectedUserId);
|
|
16937
|
+
}, [items, selectedUserId]);
|
|
16938
|
+
const updateSelectedUserId = (0, import_react101.useCallback)(
|
|
16939
|
+
(userId) => {
|
|
16940
|
+
if (!isControlled) {
|
|
16941
|
+
setUncontrolledValue(userId);
|
|
16942
|
+
}
|
|
16943
|
+
onChangeUserId?.(userId);
|
|
16944
|
+
},
|
|
16945
|
+
[isControlled, onChangeUserId]
|
|
16946
|
+
);
|
|
16947
|
+
const handleSelectItem = (0, import_react101.useCallback)(
|
|
16948
|
+
(item) => {
|
|
16949
|
+
updateSelectedUserId(item.value);
|
|
16950
|
+
onSelectUser?.(usersById.get(item.value));
|
|
16951
|
+
},
|
|
16952
|
+
[updateSelectedUserId, onSelectUser, usersById]
|
|
16953
|
+
);
|
|
16954
|
+
return /* @__PURE__ */ import_react101.default.createElement(
|
|
16955
|
+
Combobox,
|
|
16956
|
+
{
|
|
16957
|
+
...rest,
|
|
16958
|
+
placeholder,
|
|
16959
|
+
mode: "option",
|
|
16960
|
+
items,
|
|
16961
|
+
value: selectedItem,
|
|
16962
|
+
onSelectItem: handleSelectItem,
|
|
16963
|
+
iconPosition: "left"
|
|
16964
|
+
}
|
|
16965
|
+
);
|
|
16966
|
+
}
|
|
16967
|
+
function getUserDisplayName(user) {
|
|
16968
|
+
const name = user.name?.trim();
|
|
16969
|
+
const email = user.email?.trim();
|
|
16970
|
+
return name || email || "Anonymous user";
|
|
16971
|
+
}
|
|
16972
|
+
function createUserMenuItem(user) {
|
|
16973
|
+
const title = getUserDisplayName(user);
|
|
16974
|
+
const overflow = 3;
|
|
16975
|
+
return {
|
|
16976
|
+
value: user.id,
|
|
16977
|
+
title,
|
|
16978
|
+
icon: /* @__PURE__ */ import_react101.default.createElement("div", { className: "n-relative n-w-[15px] n-h-[15px]" }, /* @__PURE__ */ import_react101.default.createElement(
|
|
16979
|
+
Avatar,
|
|
16980
|
+
{
|
|
16981
|
+
size: 15 + overflow * 2,
|
|
16982
|
+
name: title,
|
|
16983
|
+
userId: user.id,
|
|
16984
|
+
image: user.image ?? void 0,
|
|
16985
|
+
className: "n-pointer-events-none",
|
|
16986
|
+
variant: "bare",
|
|
16987
|
+
style: {
|
|
16988
|
+
position: "absolute",
|
|
16989
|
+
inset: -overflow
|
|
16990
|
+
}
|
|
16991
|
+
}
|
|
16992
|
+
))
|
|
16993
|
+
};
|
|
16994
|
+
}
|
|
16995
|
+
|
|
16996
|
+
// src/components/UserPointer.tsx
|
|
16997
|
+
var import_react102 = __toESM(require("react"));
|
|
16998
|
+
var UserPointerContainer = (0, import_react102.memo)(function UserPointerContainer2({
|
|
16891
16999
|
point,
|
|
16892
17000
|
visible,
|
|
16893
17001
|
children,
|
|
16894
17002
|
className,
|
|
16895
17003
|
style: style2
|
|
16896
17004
|
}) {
|
|
16897
|
-
return /* @__PURE__ */
|
|
17005
|
+
return /* @__PURE__ */ import_react102.default.createElement(
|
|
16898
17006
|
"div",
|
|
16899
17007
|
{
|
|
16900
17008
|
style: {
|
|
@@ -16911,7 +17019,7 @@ var UserPointerContainer = (0, import_react101.memo)(function UserPointerContain
|
|
|
16911
17019
|
children
|
|
16912
17020
|
);
|
|
16913
17021
|
});
|
|
16914
|
-
var UserNameTag = (0,
|
|
17022
|
+
var UserNameTag = (0, import_react102.memo)(function UserNameTag2({
|
|
16915
17023
|
backgroundColor,
|
|
16916
17024
|
className,
|
|
16917
17025
|
style: style2,
|
|
@@ -16920,7 +17028,7 @@ var UserNameTag = (0, import_react101.memo)(function UserNameTag2({
|
|
|
16920
17028
|
size = "medium",
|
|
16921
17029
|
bordered = true
|
|
16922
17030
|
}) {
|
|
16923
|
-
return /* @__PURE__ */
|
|
17031
|
+
return /* @__PURE__ */ import_react102.default.createElement(
|
|
16924
17032
|
"span",
|
|
16925
17033
|
{
|
|
16926
17034
|
className: cx(
|
|
@@ -16939,14 +17047,14 @@ var UserNameTag = (0, import_react101.memo)(function UserNameTag2({
|
|
|
16939
17047
|
children
|
|
16940
17048
|
);
|
|
16941
17049
|
});
|
|
16942
|
-
var UserPointerIcon = (0,
|
|
17050
|
+
var UserPointerIcon = (0, import_react102.memo)(function PointerIcon({
|
|
16943
17051
|
size,
|
|
16944
17052
|
color = "black",
|
|
16945
17053
|
className,
|
|
16946
17054
|
style: style2
|
|
16947
17055
|
}) {
|
|
16948
17056
|
const points = "0,5 10,0 10,10";
|
|
16949
|
-
return /* @__PURE__ */
|
|
17057
|
+
return /* @__PURE__ */ import_react102.default.createElement(
|
|
16950
17058
|
"svg",
|
|
16951
17059
|
{
|
|
16952
17060
|
width: size,
|
|
@@ -16961,7 +17069,7 @@ var UserPointerIcon = (0, import_react101.memo)(function PointerIcon({
|
|
|
16961
17069
|
...style2
|
|
16962
17070
|
}
|
|
16963
17071
|
},
|
|
16964
|
-
/* @__PURE__ */
|
|
17072
|
+
/* @__PURE__ */ import_react102.default.createElement(
|
|
16965
17073
|
"polygon",
|
|
16966
17074
|
{
|
|
16967
17075
|
points,
|
|
@@ -16974,7 +17082,7 @@ var UserPointerIcon = (0, import_react101.memo)(function PointerIcon({
|
|
|
16974
17082
|
});
|
|
16975
17083
|
var POINTER_SIZE = 12;
|
|
16976
17084
|
var POINTER_OVERLAP = 6;
|
|
16977
|
-
var UserPointer = (0,
|
|
17085
|
+
var UserPointer = (0, import_react102.memo)(function UserPointer2({
|
|
16978
17086
|
userId,
|
|
16979
17087
|
name,
|
|
16980
17088
|
visible = true,
|
|
@@ -16987,22 +17095,22 @@ var UserPointer = (0, import_react101.memo)(function UserPointer2({
|
|
|
16987
17095
|
labelSize = "medium",
|
|
16988
17096
|
bordered = true
|
|
16989
17097
|
}) {
|
|
16990
|
-
const userBackgroundColor = (0,
|
|
17098
|
+
const userBackgroundColor = (0, import_react102.useMemo)(
|
|
16991
17099
|
() => backgroundColor ?? colorFromString(userId ?? name ?? ""),
|
|
16992
17100
|
[backgroundColor, userId, name]
|
|
16993
17101
|
);
|
|
16994
|
-
const pointerOverlapStyle = (0,
|
|
17102
|
+
const pointerOverlapStyle = (0, import_react102.useMemo)(
|
|
16995
17103
|
() => ({
|
|
16996
17104
|
marginRight: `-${POINTER_OVERLAP}px`,
|
|
16997
17105
|
marginBottom: `-${POINTER_OVERLAP}px`
|
|
16998
17106
|
}),
|
|
16999
17107
|
[]
|
|
17000
17108
|
);
|
|
17001
|
-
const nameTagOverlapStyle = (0,
|
|
17109
|
+
const nameTagOverlapStyle = (0, import_react102.useMemo)(
|
|
17002
17110
|
() => ({ marginLeft: `${POINTER_SIZE - POINTER_OVERLAP + 1}px` }),
|
|
17003
17111
|
[]
|
|
17004
17112
|
);
|
|
17005
|
-
return /* @__PURE__ */
|
|
17113
|
+
return /* @__PURE__ */ import_react102.default.createElement(
|
|
17006
17114
|
UserPointerContainer,
|
|
17007
17115
|
{
|
|
17008
17116
|
point,
|
|
@@ -17010,14 +17118,14 @@ var UserPointer = (0, import_react101.memo)(function UserPointer2({
|
|
|
17010
17118
|
className,
|
|
17011
17119
|
style: style2
|
|
17012
17120
|
},
|
|
17013
|
-
name && /* @__PURE__ */
|
|
17121
|
+
name && /* @__PURE__ */ import_react102.default.createElement("div", { className: "n-relative" }, showPointerIcon && /* @__PURE__ */ import_react102.default.createElement(
|
|
17014
17122
|
UserPointerIcon,
|
|
17015
17123
|
{
|
|
17016
17124
|
size: POINTER_SIZE,
|
|
17017
17125
|
color: userBackgroundColor,
|
|
17018
17126
|
style: pointerOverlapStyle
|
|
17019
17127
|
}
|
|
17020
|
-
), /* @__PURE__ */
|
|
17128
|
+
), /* @__PURE__ */ import_react102.default.createElement(
|
|
17021
17129
|
UserNameTag,
|
|
17022
17130
|
{
|
|
17023
17131
|
backgroundColor: userBackgroundColor,
|
|
@@ -17033,10 +17141,10 @@ var UserPointer = (0, import_react101.memo)(function UserPointer2({
|
|
|
17033
17141
|
|
|
17034
17142
|
// src/components/workspace/WorkspaceLayout.tsx
|
|
17035
17143
|
var import_noya_keymap7 = require("@noya-app/noya-keymap");
|
|
17036
|
-
var
|
|
17144
|
+
var import_react109 = __toESM(require("react"));
|
|
17037
17145
|
|
|
17038
17146
|
// src/components/workspace/DrawerWorkspaceLayout.tsx
|
|
17039
|
-
var
|
|
17147
|
+
var import_react106 = __toESM(require("react"));
|
|
17040
17148
|
|
|
17041
17149
|
// src/components/workspace/constants.ts
|
|
17042
17150
|
var EDITOR_PANEL_GROUP_ID = "editor-panel-group";
|
|
@@ -17045,17 +17153,17 @@ var RIGHT_SIDEBAR_ID = "editor-3-right-sidebar";
|
|
|
17045
17153
|
var CONTENT_AREA_ID = "editor-2-content-area";
|
|
17046
17154
|
|
|
17047
17155
|
// src/components/workspace/VerticalTabMenu.tsx
|
|
17048
|
-
var
|
|
17156
|
+
var import_react105 = __toESM(require("react"));
|
|
17049
17157
|
|
|
17050
17158
|
// src/components/Toolbar.tsx
|
|
17051
17159
|
var import_noya_keymap6 = require("@noya-app/noya-keymap");
|
|
17052
|
-
var
|
|
17160
|
+
var import_react104 = __toESM(require("react"));
|
|
17053
17161
|
|
|
17054
17162
|
// src/components/ToolbarDrawer.tsx
|
|
17055
|
-
var
|
|
17056
|
-
var ToolbarDrawer = (0,
|
|
17057
|
-
(0,
|
|
17058
|
-
return /* @__PURE__ */
|
|
17163
|
+
var import_react103 = __toESM(require("react"));
|
|
17164
|
+
var ToolbarDrawer = (0, import_react103.memo)(
|
|
17165
|
+
(0, import_react103.forwardRef)(function ToolbarDrawer2({ children, trigger, sideOffset = 8 }, ref) {
|
|
17166
|
+
return /* @__PURE__ */ import_react103.default.createElement("div", { className: "n-relative", ref }, /* @__PURE__ */ import_react103.default.createElement(
|
|
17059
17167
|
"div",
|
|
17060
17168
|
{
|
|
17061
17169
|
className: "n-absolute n-bottom-full n-left-1/2 -n-translate-x-1/2 n-rounded-t-lg n-border n-border-toolbar-drawer-border n-border-b-transparent n-bg-toolbar-drawer-background -n-z-10",
|
|
@@ -17071,13 +17179,13 @@ var ToolbarDrawer = (0, import_react102.memo)(
|
|
|
17071
17179
|
|
|
17072
17180
|
// src/components/Toolbar.tsx
|
|
17073
17181
|
var SIDE_OFFSET = 6;
|
|
17074
|
-
var ToolbarMenuContext = (0,
|
|
17182
|
+
var ToolbarMenuContext = (0, import_react104.createContext)({});
|
|
17075
17183
|
var ToolbarMenuDropdown = memoGeneric(function ToolbarMenuDropdown2({
|
|
17076
17184
|
item,
|
|
17077
17185
|
onSelectMenuItem
|
|
17078
17186
|
}) {
|
|
17079
|
-
const [open, setOpen] =
|
|
17080
|
-
return /* @__PURE__ */
|
|
17187
|
+
const [open, setOpen] = import_react104.default.useState(false);
|
|
17188
|
+
return /* @__PURE__ */ import_react104.default.createElement(
|
|
17081
17189
|
DropdownMenu,
|
|
17082
17190
|
{
|
|
17083
17191
|
open,
|
|
@@ -17089,7 +17197,7 @@ var ToolbarMenuDropdown = memoGeneric(function ToolbarMenuDropdown2({
|
|
|
17089
17197
|
}
|
|
17090
17198
|
}
|
|
17091
17199
|
},
|
|
17092
|
-
/* @__PURE__ */
|
|
17200
|
+
/* @__PURE__ */ import_react104.default.createElement(
|
|
17093
17201
|
Button,
|
|
17094
17202
|
{
|
|
17095
17203
|
disabled: item.disabled,
|
|
@@ -17105,7 +17213,7 @@ var ToolbarShortcut = ({
|
|
|
17105
17213
|
shortcut,
|
|
17106
17214
|
label
|
|
17107
17215
|
}) => {
|
|
17108
|
-
return /* @__PURE__ */
|
|
17216
|
+
return /* @__PURE__ */ import_react104.default.createElement("div", { className: "n-flex n-items-center" }, label, /* @__PURE__ */ import_react104.default.createElement(Spacer.Horizontal, { size: 6 }), /* @__PURE__ */ import_react104.default.createElement(KeyboardShortcut, { shortcut }));
|
|
17109
17217
|
};
|
|
17110
17218
|
var ToolbarMenuPopover = memoGeneric(function ToolbarMenuPopover2({
|
|
17111
17219
|
item,
|
|
@@ -17119,8 +17227,8 @@ var ToolbarMenuPopover = memoGeneric(function ToolbarMenuPopover2({
|
|
|
17119
17227
|
content: itemContent,
|
|
17120
17228
|
checked
|
|
17121
17229
|
} = item;
|
|
17122
|
-
const [open, setOpen] =
|
|
17123
|
-
const content = /* @__PURE__ */
|
|
17230
|
+
const [open, setOpen] = import_react104.default.useState(false);
|
|
17231
|
+
const content = /* @__PURE__ */ import_react104.default.createElement("span", null, /* @__PURE__ */ import_react104.default.createElement(
|
|
17124
17232
|
Popover,
|
|
17125
17233
|
{
|
|
17126
17234
|
open,
|
|
@@ -17129,7 +17237,7 @@ var ToolbarMenuPopover = memoGeneric(function ToolbarMenuPopover2({
|
|
|
17129
17237
|
showArrow: false,
|
|
17130
17238
|
sideOffset: SIDE_OFFSET,
|
|
17131
17239
|
portalContainer,
|
|
17132
|
-
trigger: /* @__PURE__ */
|
|
17240
|
+
trigger: /* @__PURE__ */ import_react104.default.createElement(
|
|
17133
17241
|
Button,
|
|
17134
17242
|
{
|
|
17135
17243
|
disabled,
|
|
@@ -17142,7 +17250,7 @@ var ToolbarMenuPopover = memoGeneric(function ToolbarMenuPopover2({
|
|
|
17142
17250
|
},
|
|
17143
17251
|
typeof itemContent === "function" ? itemContent({ close: () => setOpen(false) }) : itemContent
|
|
17144
17252
|
));
|
|
17145
|
-
return tooltip && !open ? /* @__PURE__ */
|
|
17253
|
+
return tooltip && !open ? /* @__PURE__ */ import_react104.default.createElement(
|
|
17146
17254
|
Tooltip,
|
|
17147
17255
|
{
|
|
17148
17256
|
sideOffset: SIDE_OFFSET,
|
|
@@ -17162,7 +17270,7 @@ var ToolbarMenuButton = memoGeneric(function ToolbarMenuButton2({
|
|
|
17162
17270
|
displayFilter
|
|
17163
17271
|
}) {
|
|
17164
17272
|
const isActive = item.checked || activeValue === item.value;
|
|
17165
|
-
const content = /* @__PURE__ */
|
|
17273
|
+
const content = /* @__PURE__ */ import_react104.default.createElement(
|
|
17166
17274
|
Button,
|
|
17167
17275
|
{
|
|
17168
17276
|
as,
|
|
@@ -17179,7 +17287,7 @@ var ToolbarMenuButton = memoGeneric(function ToolbarMenuButton2({
|
|
|
17179
17287
|
displayFilter === "iconOnly" ? void 0 : item.title
|
|
17180
17288
|
);
|
|
17181
17289
|
const tooltip = item.tooltip ?? (displayFilter === "iconOnly" && item.title ? item.title : void 0);
|
|
17182
|
-
return item.drawer && isActive ? /* @__PURE__ */
|
|
17290
|
+
return item.drawer && isActive ? /* @__PURE__ */ import_react104.default.createElement(ToolbarDrawer, { trigger: content }, item.drawer) : tooltip ? /* @__PURE__ */ import_react104.default.createElement(Tooltip, { sideOffset: SIDE_OFFSET, content: tooltip, side: tooltipSide }, content) : content;
|
|
17183
17291
|
});
|
|
17184
17292
|
var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
|
|
17185
17293
|
item,
|
|
@@ -17191,17 +17299,17 @@ var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
|
|
|
17191
17299
|
displayFilter,
|
|
17192
17300
|
dividerOverflow: dividerOverflowProp
|
|
17193
17301
|
}) {
|
|
17194
|
-
const { dividerOverflow: contextDividerOverflow } = (0,
|
|
17302
|
+
const { dividerOverflow: contextDividerOverflow } = (0, import_react104.useContext)(ToolbarMenuContext);
|
|
17195
17303
|
const dividerOverflow = dividerOverflowProp ?? contextDividerOverflow ?? 4;
|
|
17196
17304
|
if (item.type === "sectionHeader") return null;
|
|
17197
17305
|
if (item.type === "separator") {
|
|
17198
|
-
return /* @__PURE__ */
|
|
17306
|
+
return /* @__PURE__ */ import_react104.default.createElement(DividerVertical, { overflow: dividerOverflow });
|
|
17199
17307
|
}
|
|
17200
17308
|
if (item.type === "popover") {
|
|
17201
|
-
return /* @__PURE__ */
|
|
17309
|
+
return /* @__PURE__ */ import_react104.default.createElement(ToolbarMenuPopover, { item, portalContainer });
|
|
17202
17310
|
}
|
|
17203
17311
|
if (isSelectableMenuItem(item)) {
|
|
17204
|
-
return /* @__PURE__ */
|
|
17312
|
+
return /* @__PURE__ */ import_react104.default.createElement(
|
|
17205
17313
|
ToolbarMenuButton,
|
|
17206
17314
|
{
|
|
17207
17315
|
item,
|
|
@@ -17213,7 +17321,7 @@ var ToolbarMenuItem = memoGeneric(function ToolbarMenuItem2({
|
|
|
17213
17321
|
}
|
|
17214
17322
|
);
|
|
17215
17323
|
}
|
|
17216
|
-
return /* @__PURE__ */
|
|
17324
|
+
return /* @__PURE__ */ import_react104.default.createElement(ToolbarMenuDropdown, { item, onSelectMenuItem });
|
|
17217
17325
|
});
|
|
17218
17326
|
var ToolbarMenu = memoGeneric(function ToolbarMenu2({
|
|
17219
17327
|
items,
|
|
@@ -17225,8 +17333,8 @@ var ToolbarMenu = memoGeneric(function ToolbarMenu2({
|
|
|
17225
17333
|
displayFilter = "iconAndText",
|
|
17226
17334
|
dividerOverflow
|
|
17227
17335
|
}) {
|
|
17228
|
-
return /* @__PURE__ */
|
|
17229
|
-
return /* @__PURE__ */
|
|
17336
|
+
return /* @__PURE__ */ import_react104.default.createElement(import_react104.default.Fragment, null, items.map((item, i) => {
|
|
17337
|
+
return /* @__PURE__ */ import_react104.default.createElement(
|
|
17230
17338
|
ToolbarMenuItem,
|
|
17231
17339
|
{
|
|
17232
17340
|
key: i,
|
|
@@ -17251,21 +17359,21 @@ function Toolbar({
|
|
|
17251
17359
|
shouldBindKeyboardShortcuts = true,
|
|
17252
17360
|
dividerOverflow
|
|
17253
17361
|
}) {
|
|
17254
|
-
const allMenuItems =
|
|
17362
|
+
const allMenuItems = import_react104.default.useMemo(
|
|
17255
17363
|
() => [...leftMenuItems, ...rightMenuItems],
|
|
17256
17364
|
[leftMenuItems, rightMenuItems]
|
|
17257
17365
|
);
|
|
17258
17366
|
(0, import_noya_keymap6.useKeyboardShortcuts)(
|
|
17259
|
-
|
|
17367
|
+
import_react104.default.useMemo(
|
|
17260
17368
|
() => onSelectMenuItem && shouldBindKeyboardShortcuts ? getKeyboardShortcutsForMenuItems(allMenuItems, onSelectMenuItem) : {},
|
|
17261
17369
|
[allMenuItems, onSelectMenuItem, shouldBindKeyboardShortcuts]
|
|
17262
17370
|
)
|
|
17263
17371
|
);
|
|
17264
|
-
return /* @__PURE__ */
|
|
17372
|
+
return /* @__PURE__ */ import_react104.default.createElement(
|
|
17265
17373
|
BaseToolbar,
|
|
17266
17374
|
{
|
|
17267
17375
|
logo,
|
|
17268
|
-
left: leftMenuItems.length > 0 && /* @__PURE__ */
|
|
17376
|
+
left: leftMenuItems.length > 0 && /* @__PURE__ */ import_react104.default.createElement("div", { className: "n-flex n-gap-2" }, /* @__PURE__ */ import_react104.default.createElement(
|
|
17269
17377
|
ToolbarMenu,
|
|
17270
17378
|
{
|
|
17271
17379
|
items: leftMenuItems,
|
|
@@ -17273,7 +17381,7 @@ function Toolbar({
|
|
|
17273
17381
|
dividerOverflow
|
|
17274
17382
|
}
|
|
17275
17383
|
)),
|
|
17276
|
-
right: rightMenuItems.length > 0 && /* @__PURE__ */
|
|
17384
|
+
right: rightMenuItems.length > 0 && /* @__PURE__ */ import_react104.default.createElement("div", { className: "n-flex n-gap-2" }, /* @__PURE__ */ import_react104.default.createElement(
|
|
17277
17385
|
ToolbarMenu,
|
|
17278
17386
|
{
|
|
17279
17387
|
items: rightMenuItems,
|
|
@@ -17294,19 +17402,19 @@ var VerticalTabMenu = memoGeneric(function VerticalTabMenu2({
|
|
|
17294
17402
|
onChange,
|
|
17295
17403
|
tooltipSide
|
|
17296
17404
|
}) {
|
|
17297
|
-
const style2 = (0,
|
|
17405
|
+
const style2 = (0, import_react105.useMemo)(() => {
|
|
17298
17406
|
return {
|
|
17299
17407
|
[cssVarNames.colors.inputBackground]: "transparent",
|
|
17300
17408
|
[cssVarNames.colors.buttonBackground]: "transparent"
|
|
17301
17409
|
};
|
|
17302
17410
|
}, []);
|
|
17303
|
-
return /* @__PURE__ */
|
|
17411
|
+
return /* @__PURE__ */ import_react105.default.createElement(
|
|
17304
17412
|
"div",
|
|
17305
17413
|
{
|
|
17306
17414
|
className: "n-w-[calc(var(--n-toolbar-height)+1px)] n-h-full n-bg-sidebar-background n-flex n-flex-col n-items-center n-py-3 n-gap-3",
|
|
17307
17415
|
style: style2
|
|
17308
17416
|
},
|
|
17309
|
-
/* @__PURE__ */
|
|
17417
|
+
/* @__PURE__ */ import_react105.default.createElement(
|
|
17310
17418
|
ToolbarMenu,
|
|
17311
17419
|
{
|
|
17312
17420
|
items,
|
|
@@ -17331,14 +17439,15 @@ var DrawerWorkspaceLayout = memoGeneric(function DrawerWorkspaceLayout2({
|
|
|
17331
17439
|
rightTabItems,
|
|
17332
17440
|
rightTabValue,
|
|
17333
17441
|
onChangeRightTab,
|
|
17334
|
-
onChangeLeftTab
|
|
17442
|
+
onChangeLeftTab,
|
|
17443
|
+
compactDrawerMenu
|
|
17335
17444
|
}) {
|
|
17336
|
-
const portalContainer = (0,
|
|
17337
|
-
const [{ leftSidebarCollapsed, rightSidebarCollapsed }, setLayoutState] = (0,
|
|
17445
|
+
const portalContainer = (0, import_react106.useRef)(null);
|
|
17446
|
+
const [{ leftSidebarCollapsed, rightSidebarCollapsed }, setLayoutState] = (0, import_react106.useState)({
|
|
17338
17447
|
leftSidebarCollapsed: true,
|
|
17339
17448
|
rightSidebarCollapsed: true
|
|
17340
17449
|
});
|
|
17341
|
-
const allTabItems = (0,
|
|
17450
|
+
const allTabItems = (0, import_react106.useMemo)(
|
|
17342
17451
|
() => [
|
|
17343
17452
|
...leftPanel ? leftTabItems ?? [] : [],
|
|
17344
17453
|
...rightPanel ? rightTabItems ?? [] : []
|
|
@@ -17346,77 +17455,100 @@ var DrawerWorkspaceLayout = memoGeneric(function DrawerWorkspaceLayout2({
|
|
|
17346
17455
|
[leftTabItems, rightTabItems, leftPanel, rightPanel]
|
|
17347
17456
|
);
|
|
17348
17457
|
const hasTabs = allTabItems.length > 0;
|
|
17349
|
-
const
|
|
17458
|
+
const allSelectableTabItems = (0, import_react106.useMemo)(
|
|
17459
|
+
() => allTabItems.filter(isSelectableMenuItem),
|
|
17460
|
+
[allTabItems]
|
|
17461
|
+
);
|
|
17462
|
+
const useCompactInToolbar = !!compactDrawerMenu && allSelectableTabItems.length <= 1;
|
|
17463
|
+
const leftSelectableTabItems = (0, import_react106.useMemo)(
|
|
17350
17464
|
() => (leftTabItems ?? []).filter(isSelectableMenuItem),
|
|
17351
17465
|
[leftTabItems]
|
|
17352
17466
|
);
|
|
17353
|
-
const rightSelectableTabItems = (0,
|
|
17467
|
+
const rightSelectableTabItems = (0, import_react106.useMemo)(
|
|
17354
17468
|
() => (rightTabItems ?? []).filter(isSelectableMenuItem),
|
|
17355
17469
|
[rightTabItems]
|
|
17356
17470
|
);
|
|
17471
|
+
const toggleSidebar = (ref) => {
|
|
17472
|
+
if (ref.current?.isExpanded()) {
|
|
17473
|
+
ref.current?.collapse();
|
|
17474
|
+
} else {
|
|
17475
|
+
ref.current?.expand();
|
|
17476
|
+
}
|
|
17477
|
+
};
|
|
17478
|
+
const ensureExpanded = (ref) => {
|
|
17479
|
+
if (!ref.current?.isExpanded()) {
|
|
17480
|
+
ref.current?.expand();
|
|
17481
|
+
}
|
|
17482
|
+
};
|
|
17483
|
+
const handleSelectTab = (value) => {
|
|
17484
|
+
if (leftSelectableTabItems.some((item) => item.value === value)) {
|
|
17485
|
+
if (value === leftTabValue) {
|
|
17486
|
+
toggleSidebar(leftSidebarRef);
|
|
17487
|
+
} else {
|
|
17488
|
+
ensureExpanded(leftSidebarRef);
|
|
17489
|
+
onChangeLeftTab?.(value);
|
|
17490
|
+
}
|
|
17491
|
+
} else if (rightSelectableTabItems.some((item) => item.value === value)) {
|
|
17492
|
+
if (value === rightTabValue) {
|
|
17493
|
+
toggleSidebar(rightSidebarRef);
|
|
17494
|
+
} else {
|
|
17495
|
+
ensureExpanded(rightSidebarRef);
|
|
17496
|
+
onChangeRightTab?.(value);
|
|
17497
|
+
}
|
|
17498
|
+
}
|
|
17499
|
+
};
|
|
17357
17500
|
const { activeValue, isSidebarCollapsed } = leftSelectableTabItems.length > 0 && !leftSidebarCollapsed ? { activeValue: leftTabValue, isSidebarCollapsed: leftSidebarCollapsed } : rightSelectableTabItems.length > 0 && !rightSidebarCollapsed ? {
|
|
17358
17501
|
activeValue: rightTabValue,
|
|
17359
17502
|
isSidebarCollapsed: rightSidebarCollapsed
|
|
17360
17503
|
} : { activeValue: void 0, isSidebarCollapsed: true };
|
|
17361
|
-
return /* @__PURE__ */
|
|
17504
|
+
return /* @__PURE__ */ import_react106.default.createElement(
|
|
17362
17505
|
"div",
|
|
17363
17506
|
{
|
|
17364
17507
|
ref: portalContainer,
|
|
17365
17508
|
id: EDITOR_PANEL_GROUP_ID,
|
|
17366
17509
|
className: "n-flex n-flex-1 n-relative focus:n-outline-none"
|
|
17367
17510
|
},
|
|
17368
|
-
hasTabs && /* @__PURE__ */
|
|
17511
|
+
hasTabs && !useCompactInToolbar && /* @__PURE__ */ import_react106.default.createElement(import_react106.default.Fragment, null, /* @__PURE__ */ import_react106.default.createElement(
|
|
17369
17512
|
VerticalTabMenu,
|
|
17370
17513
|
{
|
|
17371
17514
|
tooltipSide: "right",
|
|
17372
17515
|
items: allTabItems,
|
|
17373
17516
|
activeValue,
|
|
17374
17517
|
isSidebarCollapsed,
|
|
17375
|
-
onChange: (value) =>
|
|
17376
|
-
|
|
17377
|
-
|
|
17378
|
-
|
|
17379
|
-
|
|
17380
|
-
|
|
17381
|
-
|
|
17382
|
-
|
|
17383
|
-
|
|
17384
|
-
|
|
17385
|
-
|
|
17386
|
-
|
|
17387
|
-
|
|
17388
|
-
|
|
17389
|
-
|
|
17390
|
-
|
|
17391
|
-
|
|
17392
|
-
|
|
17393
|
-
|
|
17394
|
-
|
|
17395
|
-
|
|
17396
|
-
|
|
17397
|
-
|
|
17398
|
-
rightSidebarRef.current?.expand();
|
|
17399
|
-
}
|
|
17400
|
-
onChangeRightTab?.(value);
|
|
17401
|
-
}
|
|
17402
|
-
}
|
|
17518
|
+
onChange: (value) => handleSelectTab(value)
|
|
17519
|
+
}
|
|
17520
|
+
), /* @__PURE__ */ import_react106.default.createElement(DividerVertical, { className: "n-h-full" })),
|
|
17521
|
+
useCompactInToolbar && /* @__PURE__ */ import_react106.default.createElement("div", { className: "n-absolute n-top-0 n-left-0 n-h-[calc(var(--n-toolbar-height)+1px)] n-w-[calc(var(--n-toolbar-height)+1px)] n-bg-sidebar-background n-border-r n-border-b n-border-divider-strong n-z-10 n-flex n-items-center n-justify-center" }, allSelectableTabItems[0] && /* @__PURE__ */ import_react106.default.createElement(
|
|
17522
|
+
Button,
|
|
17523
|
+
{
|
|
17524
|
+
variant: "none",
|
|
17525
|
+
className: "n-rounded",
|
|
17526
|
+
style: {
|
|
17527
|
+
width: "var(--n-input-height)",
|
|
17528
|
+
height: "var(--n-input-height)"
|
|
17529
|
+
},
|
|
17530
|
+
icon: allSelectableTabItems[0].icon,
|
|
17531
|
+
tooltip: allSelectableTabItems[0].tooltip ?? allSelectableTabItems[0].title,
|
|
17532
|
+
active: (() => {
|
|
17533
|
+
const value = allSelectableTabItems[0].value;
|
|
17534
|
+
const isLeftItem = leftSelectableTabItems.some((i) => i.value === value);
|
|
17535
|
+
const isRightItem = rightSelectableTabItems.some((i) => i.value === value);
|
|
17536
|
+
return isLeftItem ? !leftSidebarCollapsed : isRightItem ? !rightSidebarCollapsed : false;
|
|
17537
|
+
})(),
|
|
17538
|
+
onClick: () => {
|
|
17539
|
+
const value = allSelectableTabItems[0].value;
|
|
17540
|
+
handleSelectTab(value);
|
|
17403
17541
|
}
|
|
17404
17542
|
}
|
|
17405
|
-
),
|
|
17406
|
-
|
|
17407
|
-
/* @__PURE__ */
|
|
17408
|
-
leftPanel && /* @__PURE__ */ import_react105.default.createElement(
|
|
17543
|
+
)),
|
|
17544
|
+
/* @__PURE__ */ import_react106.default.createElement("div", { className: "n-flex-1 n-flex n-relative" }, centerPanel),
|
|
17545
|
+
leftPanel && /* @__PURE__ */ import_react106.default.createElement(
|
|
17409
17546
|
Drawer,
|
|
17410
17547
|
{
|
|
17411
17548
|
ref: leftSidebarRef,
|
|
17412
17549
|
className: "n-flex-1",
|
|
17413
|
-
style: {
|
|
17414
|
-
|
|
17415
|
-
maxWidth: "calc(100% - 48px)"
|
|
17416
|
-
},
|
|
17417
|
-
overlayStyle: {
|
|
17418
|
-
left: 48
|
|
17419
|
-
},
|
|
17550
|
+
style: useCompactInToolbar ? void 0 : { left: 48, maxWidth: "calc(100% - 48px)" },
|
|
17551
|
+
overlayStyle: useCompactInToolbar ? void 0 : { left: 48 },
|
|
17420
17552
|
open: !leftSidebarCollapsed,
|
|
17421
17553
|
positioning: "absolute",
|
|
17422
17554
|
side: "left",
|
|
@@ -17431,19 +17563,14 @@ var DrawerWorkspaceLayout = memoGeneric(function DrawerWorkspaceLayout2({
|
|
|
17431
17563
|
},
|
|
17432
17564
|
leftPanel
|
|
17433
17565
|
),
|
|
17434
|
-
rightPanel && /* @__PURE__ */
|
|
17566
|
+
rightPanel && /* @__PURE__ */ import_react106.default.createElement(
|
|
17435
17567
|
Drawer,
|
|
17436
17568
|
{
|
|
17437
17569
|
id: RIGHT_SIDEBAR_ID,
|
|
17438
17570
|
ref: rightSidebarRef,
|
|
17439
17571
|
className: "n-flex-1",
|
|
17440
|
-
style: {
|
|
17441
|
-
|
|
17442
|
-
maxWidth: "calc(100% - 48px)"
|
|
17443
|
-
},
|
|
17444
|
-
overlayStyle: {
|
|
17445
|
-
left: 48
|
|
17446
|
-
},
|
|
17572
|
+
style: useCompactInToolbar ? void 0 : { left: 48, maxWidth: "calc(100% - 48px)" },
|
|
17573
|
+
overlayStyle: useCompactInToolbar ? void 0 : { left: 48 },
|
|
17447
17574
|
open: !rightSidebarCollapsed,
|
|
17448
17575
|
positioning: "absolute",
|
|
17449
17576
|
side: "left",
|
|
@@ -17462,7 +17589,7 @@ var DrawerWorkspaceLayout = memoGeneric(function DrawerWorkspaceLayout2({
|
|
|
17462
17589
|
});
|
|
17463
17590
|
|
|
17464
17591
|
// src/components/workspace/PanelWorkspaceLayout.tsx
|
|
17465
|
-
var
|
|
17592
|
+
var import_react107 = __toESM(require("react"));
|
|
17466
17593
|
var import_react_resizable_panels = require("react-resizable-panels");
|
|
17467
17594
|
|
|
17468
17595
|
// src/components/workspace/panelStorage.ts
|
|
@@ -17625,13 +17752,14 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17625
17752
|
leftTabValue,
|
|
17626
17753
|
rightTabValue,
|
|
17627
17754
|
onChangeLeftTab,
|
|
17628
|
-
onChangeRightTab
|
|
17755
|
+
onChangeRightTab,
|
|
17756
|
+
compactDrawerMenu
|
|
17629
17757
|
}) {
|
|
17630
|
-
const panelGroupRef = (0,
|
|
17758
|
+
const panelGroupRef = (0, import_react107.useRef)(null);
|
|
17631
17759
|
const hasLeftPanel = !!leftPanel;
|
|
17632
17760
|
const hasRightPanel = !!rightPanel;
|
|
17633
17761
|
const hasCenterPanel = !!centerPanel;
|
|
17634
|
-
const autoSaveId = (0,
|
|
17762
|
+
const autoSaveId = (0, import_react107.useMemo)(() => {
|
|
17635
17763
|
return autoSavePrefix ? `${autoSavePrefix}--v2--${EDITOR_PANEL_GROUP_ID}` : Math.random().toString(36).substring(2, 15);
|
|
17636
17764
|
}, [autoSavePrefix]);
|
|
17637
17765
|
const layoutIds = getLayoutIds({
|
|
@@ -17658,7 +17786,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17658
17786
|
});
|
|
17659
17787
|
const [data, setData] = usePersistentStateObject(clientStorage, storageKey, {});
|
|
17660
17788
|
const layoutGroup = data?.[propertyKey];
|
|
17661
|
-
const { leftSidebarCollapsed, rightSidebarCollapsed } = (0,
|
|
17789
|
+
const { leftSidebarCollapsed, rightSidebarCollapsed } = (0, import_react107.useMemo)(() => {
|
|
17662
17790
|
return getLayoutCollapsedState({
|
|
17663
17791
|
layoutGroup,
|
|
17664
17792
|
propertyKey,
|
|
@@ -17667,7 +17795,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17667
17795
|
hasRightPanel
|
|
17668
17796
|
});
|
|
17669
17797
|
}, [layoutGroup, propertyKey, layoutIds, hasLeftPanel, hasRightPanel]);
|
|
17670
|
-
const handleLeftTabChange = (0,
|
|
17798
|
+
const handleLeftTabChange = (0, import_react107.useCallback)(
|
|
17671
17799
|
(value) => {
|
|
17672
17800
|
if (value === leftTabValue) {
|
|
17673
17801
|
if (leftSidebarRef.current?.isExpanded()) {
|
|
@@ -17684,7 +17812,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17684
17812
|
},
|
|
17685
17813
|
[leftSidebarRef, leftTabValue, onChangeLeftTab]
|
|
17686
17814
|
);
|
|
17687
|
-
const handleRightTabChange = (0,
|
|
17815
|
+
const handleRightTabChange = (0, import_react107.useCallback)(
|
|
17688
17816
|
(value) => {
|
|
17689
17817
|
if (value === rightTabValue) {
|
|
17690
17818
|
if (rightSidebarRef.current?.isExpanded()) {
|
|
@@ -17701,7 +17829,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17701
17829
|
},
|
|
17702
17830
|
[onChangeRightTab, rightSidebarRef, rightTabValue]
|
|
17703
17831
|
);
|
|
17704
|
-
const handleLayoutChange = (0,
|
|
17832
|
+
const handleLayoutChange = (0, import_react107.useCallback)(
|
|
17705
17833
|
(layout) => {
|
|
17706
17834
|
setData((prev) => {
|
|
17707
17835
|
const newData = {
|
|
@@ -17716,7 +17844,10 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17716
17844
|
},
|
|
17717
17845
|
[setData, propertyKey]
|
|
17718
17846
|
);
|
|
17719
|
-
|
|
17847
|
+
const showLeftTabs = !!leftSidebarOptions.showTabs && !!leftTabItems && // When compact drawer UI is enabled, only show the rail when the
|
|
17848
|
+
// sidebar is collapsed (for large screens/panel layout).
|
|
17849
|
+
(!compactDrawerMenu || leftSidebarCollapsed);
|
|
17850
|
+
return /* @__PURE__ */ import_react107.default.createElement(
|
|
17720
17851
|
import_react_resizable_panels.PanelGroup,
|
|
17721
17852
|
{
|
|
17722
17853
|
ref: panelGroupRef,
|
|
@@ -17727,7 +17858,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17727
17858
|
autoSaveId,
|
|
17728
17859
|
onLayout: handleLayoutChange
|
|
17729
17860
|
},
|
|
17730
|
-
leftPanel && /* @__PURE__ */
|
|
17861
|
+
leftPanel && /* @__PURE__ */ import_react107.default.createElement(import_react107.default.Fragment, null, showLeftTabs && /* @__PURE__ */ import_react107.default.createElement(
|
|
17731
17862
|
VerticalTabMenu,
|
|
17732
17863
|
{
|
|
17733
17864
|
tooltipSide: "right",
|
|
@@ -17736,7 +17867,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17736
17867
|
isSidebarCollapsed: leftSidebarCollapsed,
|
|
17737
17868
|
onChange: handleLeftTabChange
|
|
17738
17869
|
}
|
|
17739
|
-
),
|
|
17870
|
+
), showLeftTabs && !leftSidebarCollapsed && /* @__PURE__ */ import_react107.default.createElement(DividerVertical, { className: "n-h-full" }), /* @__PURE__ */ import_react107.default.createElement(
|
|
17740
17871
|
import_react_resizable_panels.Panel,
|
|
17741
17872
|
{
|
|
17742
17873
|
id: LEFT_SIDEBAR_ID,
|
|
@@ -17749,8 +17880,8 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17749
17880
|
collapsible: true
|
|
17750
17881
|
},
|
|
17751
17882
|
leftSidebarCollapsed ? null : leftPanel
|
|
17752
|
-
), /* @__PURE__ */
|
|
17753
|
-
/* @__PURE__ */
|
|
17883
|
+
), /* @__PURE__ */ import_react107.default.createElement(import_react_resizable_panels.PanelResizeHandle, { className: "n-cursor-col-resize n-w-px n-h-full n-bg-divider" })),
|
|
17884
|
+
/* @__PURE__ */ import_react107.default.createElement(
|
|
17754
17885
|
import_react_resizable_panels.Panel,
|
|
17755
17886
|
{
|
|
17756
17887
|
id: CONTENT_AREA_ID,
|
|
@@ -17761,7 +17892,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17761
17892
|
},
|
|
17762
17893
|
centerPanel
|
|
17763
17894
|
),
|
|
17764
|
-
rightPanel && /* @__PURE__ */
|
|
17895
|
+
rightPanel && /* @__PURE__ */ import_react107.default.createElement(import_react107.default.Fragment, null, /* @__PURE__ */ import_react107.default.createElement(import_react_resizable_panels.PanelResizeHandle, { className: "n-cursor-col-resize n-w-px n-h-full n-bg-divider" }), /* @__PURE__ */ import_react107.default.createElement(
|
|
17765
17896
|
import_react_resizable_panels.Panel,
|
|
17766
17897
|
{
|
|
17767
17898
|
id: RIGHT_SIDEBAR_ID,
|
|
@@ -17774,7 +17905,7 @@ var PanelWorkspaceLayout = memoGeneric(function PanelWorkspaceLayout2({
|
|
|
17774
17905
|
collapsible: true
|
|
17775
17906
|
},
|
|
17776
17907
|
rightSidebarCollapsed ? null : rightPanel
|
|
17777
|
-
), rightSidebarOptions.showTabs && rightTabItems && !rightSidebarCollapsed && /* @__PURE__ */
|
|
17908
|
+
), rightSidebarOptions.showTabs && rightTabItems && !rightSidebarCollapsed && /* @__PURE__ */ import_react107.default.createElement(DividerVertical, { className: "n-h-full" }), rightSidebarOptions.showTabs && rightTabItems && /* @__PURE__ */ import_react107.default.createElement(
|
|
17778
17909
|
VerticalTabMenu,
|
|
17779
17910
|
{
|
|
17780
17911
|
tooltipSide: "left",
|
|
@@ -17796,11 +17927,11 @@ function renderPanelChildren(fn, props) {
|
|
|
17796
17927
|
}
|
|
17797
17928
|
|
|
17798
17929
|
// src/components/workspace/WorkspaceSideContext.tsx
|
|
17799
|
-
var
|
|
17800
|
-
var WorkspaceSideContext = (0,
|
|
17930
|
+
var import_react108 = require("react");
|
|
17931
|
+
var WorkspaceSideContext = (0, import_react108.createContext)({});
|
|
17801
17932
|
var WorkspaceSideProvider = WorkspaceSideContext.Provider;
|
|
17802
17933
|
function useWorkspaceSide() {
|
|
17803
|
-
return (0,
|
|
17934
|
+
return (0, import_react108.useContext)(WorkspaceSideContext);
|
|
17804
17935
|
}
|
|
17805
17936
|
|
|
17806
17937
|
// src/components/workspace/WorkspaceLayout.tsx
|
|
@@ -17860,9 +17991,10 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
17860
17991
|
defaultCollapsed: rightDefaultCollapsed = false,
|
|
17861
17992
|
showTabs: rightShowTabs = true
|
|
17862
17993
|
} = {},
|
|
17863
|
-
theme
|
|
17994
|
+
theme,
|
|
17995
|
+
compactDrawerMenu
|
|
17864
17996
|
}, forwardedRef) {
|
|
17865
|
-
const containerRef =
|
|
17997
|
+
const containerRef = import_react109.default.useRef(null);
|
|
17866
17998
|
const containerSize = useSize(containerRef);
|
|
17867
17999
|
const windowSize = useWindowSize();
|
|
17868
18000
|
const parentSize = detectSize === "window" ? windowSize : containerSize && containerSize.width > 0 ? containerSize : windowSize;
|
|
@@ -17893,8 +18025,8 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
17893
18025
|
rightSidebarMinPercentage,
|
|
17894
18026
|
rightSidebarMaxPercentage
|
|
17895
18027
|
);
|
|
17896
|
-
const leftSidebarRef = (0,
|
|
17897
|
-
const rightSidebarRef = (0,
|
|
18028
|
+
const leftSidebarRef = (0, import_react109.useRef)(null);
|
|
18029
|
+
const rightSidebarRef = (0, import_react109.useRef)(null);
|
|
17898
18030
|
const [leftTabValue, setLeftTabValue] = useControlledOrUncontrolled({
|
|
17899
18031
|
value: leftTabValueProp,
|
|
17900
18032
|
onChange: onChangeLeftTab,
|
|
@@ -17905,7 +18037,7 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
17905
18037
|
onChange: onChangeRightTab,
|
|
17906
18038
|
defaultValue: getFirstTabValue(rightTabItems, "")
|
|
17907
18039
|
});
|
|
17908
|
-
(0,
|
|
18040
|
+
(0, import_react109.useImperativeHandle)(forwardedRef, () => ({
|
|
17909
18041
|
setLeftExpanded: (expanded) => {
|
|
17910
18042
|
if (expanded) {
|
|
17911
18043
|
leftSidebarRef.current?.expand();
|
|
@@ -17963,56 +18095,56 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
17963
18095
|
});
|
|
17964
18096
|
const centerPanelPercentage = 100 - (left ? leftSidebarPercentage : 0) - (right ? rightSidebarPercentage : 0);
|
|
17965
18097
|
const isDrawerActive = sideType === "drawer" || sideType === "auto" && parentSize.width <= sideTypeBreakpoint;
|
|
17966
|
-
const closeLeftSidebar = (0,
|
|
18098
|
+
const closeLeftSidebar = (0, import_react109.useCallback)(() => {
|
|
17967
18099
|
if (isDrawerActive) {
|
|
17968
18100
|
leftSidebarRef.current?.collapse();
|
|
17969
18101
|
}
|
|
17970
18102
|
}, [isDrawerActive]);
|
|
17971
|
-
const closeRightSidebar = (0,
|
|
18103
|
+
const closeRightSidebar = (0, import_react109.useCallback)(() => {
|
|
17972
18104
|
if (isDrawerActive) {
|
|
17973
18105
|
rightSidebarRef.current?.collapse();
|
|
17974
18106
|
}
|
|
17975
18107
|
}, [isDrawerActive]);
|
|
17976
|
-
const leftChildrenProps = (0,
|
|
18108
|
+
const leftChildrenProps = (0, import_react109.useMemo)(() => {
|
|
17977
18109
|
return {
|
|
17978
18110
|
activeTabValue: leftTabValue,
|
|
17979
18111
|
closeSidebar: closeLeftSidebar
|
|
17980
18112
|
};
|
|
17981
18113
|
}, [leftTabValue, closeLeftSidebar]);
|
|
17982
|
-
const rightChildrenProps = (0,
|
|
18114
|
+
const rightChildrenProps = (0, import_react109.useMemo)(() => {
|
|
17983
18115
|
return {
|
|
17984
18116
|
activeTabValue: rightTabValue,
|
|
17985
18117
|
closeSidebar: closeRightSidebar
|
|
17986
18118
|
};
|
|
17987
18119
|
}, [rightTabValue, closeRightSidebar]);
|
|
17988
|
-
const leftSidebarProviderValue = (0,
|
|
18120
|
+
const leftSidebarProviderValue = (0, import_react109.useMemo)(() => {
|
|
17989
18121
|
return {
|
|
17990
18122
|
closeSidebar: closeLeftSidebar
|
|
17991
18123
|
};
|
|
17992
18124
|
}, [closeLeftSidebar]);
|
|
17993
|
-
const rightSidebarProviderValue = (0,
|
|
18125
|
+
const rightSidebarProviderValue = (0, import_react109.useMemo)(() => {
|
|
17994
18126
|
return {
|
|
17995
18127
|
closeSidebar: closeRightSidebar
|
|
17996
18128
|
};
|
|
17997
18129
|
}, [closeRightSidebar]);
|
|
17998
|
-
const leftPanel = left && leftVisible !== false ? /* @__PURE__ */
|
|
18130
|
+
const leftPanel = left && leftVisible !== false ? /* @__PURE__ */ import_react109.default.createElement(
|
|
17999
18131
|
PanelInner,
|
|
18000
18132
|
{
|
|
18001
18133
|
style: leftStyle,
|
|
18002
18134
|
className: cx("n-bg-sidebar-background n-flex-col", leftClassName)
|
|
18003
18135
|
},
|
|
18004
|
-
/* @__PURE__ */
|
|
18136
|
+
/* @__PURE__ */ import_react109.default.createElement(WorkspaceSideProvider, { value: leftSidebarProviderValue }, leftTabValue ? renderPanelChildren(left, leftChildrenProps) : null)
|
|
18005
18137
|
) : null;
|
|
18006
|
-
const rightPanel = right && rightVisible !== false ? /* @__PURE__ */
|
|
18138
|
+
const rightPanel = right && rightVisible !== false ? /* @__PURE__ */ import_react109.default.createElement(
|
|
18007
18139
|
PanelInner,
|
|
18008
18140
|
{
|
|
18009
18141
|
style: rightStyle,
|
|
18010
18142
|
className: cx("n-bg-sidebar-background n-flex-col", rightClassName)
|
|
18011
18143
|
},
|
|
18012
|
-
/* @__PURE__ */
|
|
18144
|
+
/* @__PURE__ */ import_react109.default.createElement(WorkspaceSideProvider, { value: rightSidebarProviderValue }, rightTabValue ? renderPanelChildren(right, rightChildrenProps) : null)
|
|
18013
18145
|
) : null;
|
|
18014
|
-
const centerPanel = /* @__PURE__ */
|
|
18015
|
-
const leftSidebarOptions = (0,
|
|
18146
|
+
const centerPanel = /* @__PURE__ */ import_react109.default.createElement(PanelInner, { className: "n-bg-canvas-background" }, children);
|
|
18147
|
+
const leftSidebarOptions = (0, import_react109.useMemo)(
|
|
18016
18148
|
() => ({
|
|
18017
18149
|
minSize: leftSidebarMinPercentage,
|
|
18018
18150
|
maxSize: leftSidebarMaxPercentage,
|
|
@@ -18030,7 +18162,7 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
18030
18162
|
leftShowTabs
|
|
18031
18163
|
]
|
|
18032
18164
|
);
|
|
18033
|
-
const rightSidebarOptions = (0,
|
|
18165
|
+
const rightSidebarOptions = (0, import_react109.useMemo)(
|
|
18034
18166
|
() => ({
|
|
18035
18167
|
minSize: rightSidebarMinPercentage,
|
|
18036
18168
|
maxSize: rightSidebarMaxPercentage,
|
|
@@ -18050,7 +18182,7 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
18050
18182
|
);
|
|
18051
18183
|
const LayoutComponent = sideType === "panel" ? PanelWorkspaceLayout : sideType === "drawer" ? DrawerWorkspaceLayout : parentSize.width > sideTypeBreakpoint ? PanelWorkspaceLayout : DrawerWorkspaceLayout;
|
|
18052
18184
|
const readyToRender = detectSize === "window" || containerSize && containerSize.width > 0;
|
|
18053
|
-
return /* @__PURE__ */
|
|
18185
|
+
return /* @__PURE__ */ import_react109.default.createElement(
|
|
18054
18186
|
"div",
|
|
18055
18187
|
{
|
|
18056
18188
|
ref: containerRef,
|
|
@@ -18063,7 +18195,7 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
18063
18195
|
"data-theme": theme
|
|
18064
18196
|
},
|
|
18065
18197
|
toolbar,
|
|
18066
|
-
/* @__PURE__ */
|
|
18198
|
+
/* @__PURE__ */ import_react109.default.createElement("div", { className: "n-flex n-flex-row n-flex-1 n-relative" }, readyToRender && /* @__PURE__ */ import_react109.default.createElement(
|
|
18067
18199
|
LayoutComponent,
|
|
18068
18200
|
{
|
|
18069
18201
|
leftPanel,
|
|
@@ -18080,17 +18212,18 @@ var WorkspaceLayout = forwardRefGeneric(function WorkspaceLayout2({
|
|
|
18080
18212
|
centerPanelPercentage,
|
|
18081
18213
|
autoSavePrefix,
|
|
18082
18214
|
leftSidebarRef,
|
|
18083
|
-
rightSidebarRef
|
|
18215
|
+
rightSidebarRef,
|
|
18216
|
+
compactDrawerMenu
|
|
18084
18217
|
}
|
|
18085
18218
|
))
|
|
18086
18219
|
);
|
|
18087
18220
|
});
|
|
18088
|
-
var PanelInner = (0,
|
|
18221
|
+
var PanelInner = (0, import_react109.memo)(function PanelInner2({
|
|
18089
18222
|
children,
|
|
18090
18223
|
style: style2,
|
|
18091
18224
|
className
|
|
18092
18225
|
}) {
|
|
18093
|
-
return /* @__PURE__ */
|
|
18226
|
+
return /* @__PURE__ */ import_react109.default.createElement(
|
|
18094
18227
|
"div",
|
|
18095
18228
|
{
|
|
18096
18229
|
style: style2,
|
|
@@ -18105,22 +18238,22 @@ function getFirstTabValue(items, defaultValue2) {
|
|
|
18105
18238
|
}
|
|
18106
18239
|
|
|
18107
18240
|
// src/contexts/ImageDataContext.tsx
|
|
18108
|
-
var
|
|
18109
|
-
var ImageDataContext =
|
|
18241
|
+
var React110 = __toESM(require("react"));
|
|
18242
|
+
var ImageDataContext = React110.createContext(
|
|
18110
18243
|
void 0
|
|
18111
18244
|
);
|
|
18112
|
-
var ImageDataProvider =
|
|
18245
|
+
var ImageDataProvider = React110.memo(function ImageDataProvider2({
|
|
18113
18246
|
children,
|
|
18114
18247
|
getImageData
|
|
18115
18248
|
}) {
|
|
18116
|
-
const contextValue =
|
|
18249
|
+
const contextValue = React110.useMemo(
|
|
18117
18250
|
() => ({ getImageData: getImageData ?? (() => void 0) }),
|
|
18118
18251
|
[getImageData]
|
|
18119
18252
|
);
|
|
18120
|
-
return /* @__PURE__ */
|
|
18253
|
+
return /* @__PURE__ */ React110.createElement(ImageDataContext.Provider, { value: contextValue }, children);
|
|
18121
18254
|
});
|
|
18122
18255
|
function useImageData(ref) {
|
|
18123
|
-
const value =
|
|
18256
|
+
const value = React110.useContext(ImageDataContext);
|
|
18124
18257
|
if (!value) {
|
|
18125
18258
|
throw new Error("Missing ImageDataProvider");
|
|
18126
18259
|
}
|
|
@@ -18137,9 +18270,9 @@ function usePlatformModKey() {
|
|
|
18137
18270
|
}
|
|
18138
18271
|
|
|
18139
18272
|
// src/hooks/useTheme.ts
|
|
18140
|
-
var
|
|
18273
|
+
var import_react110 = require("react");
|
|
18141
18274
|
function useTheme() {
|
|
18142
|
-
const [theme, setTheme] = (0,
|
|
18275
|
+
const [theme, setTheme] = (0, import_react110.useState)("light");
|
|
18143
18276
|
const checkTheme = () => {
|
|
18144
18277
|
const currentTheme = document.body.getAttribute("data-theme");
|
|
18145
18278
|
switch (currentTheme) {
|
|
@@ -18151,7 +18284,7 @@ function useTheme() {
|
|
|
18151
18284
|
break;
|
|
18152
18285
|
}
|
|
18153
18286
|
};
|
|
18154
|
-
(0,
|
|
18287
|
+
(0, import_react110.useEffect)(() => {
|
|
18155
18288
|
checkTheme();
|
|
18156
18289
|
const observer = new MutationObserver((mutations) => {
|
|
18157
18290
|
mutations.forEach((mutation) => {
|
|
@@ -18274,11 +18407,11 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
|
|
|
18274
18407
|
|
|
18275
18408
|
// src/components/DimensionInput.tsx
|
|
18276
18409
|
var import_noya_utils21 = require("@noya-app/noya-utils");
|
|
18277
|
-
var
|
|
18410
|
+
var React111 = __toESM(require("react"));
|
|
18278
18411
|
function getNewValue(value, mode, delta) {
|
|
18279
18412
|
return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
|
|
18280
18413
|
}
|
|
18281
|
-
var DimensionInput =
|
|
18414
|
+
var DimensionInput = React111.memo(function DimensionInput2({
|
|
18282
18415
|
id,
|
|
18283
18416
|
value,
|
|
18284
18417
|
onSetValue,
|
|
@@ -18288,15 +18421,15 @@ var DimensionInput = React110.memo(function DimensionInput2({
|
|
|
18288
18421
|
disabled,
|
|
18289
18422
|
trigger = "submit"
|
|
18290
18423
|
}) {
|
|
18291
|
-
const handleNudgeValue =
|
|
18424
|
+
const handleNudgeValue = React111.useCallback(
|
|
18292
18425
|
(value2) => onSetValue(value2, "adjust"),
|
|
18293
18426
|
[onSetValue]
|
|
18294
18427
|
);
|
|
18295
|
-
const handleSetValue =
|
|
18428
|
+
const handleSetValue = React111.useCallback(
|
|
18296
18429
|
(value2) => onSetValue(value2, "replace"),
|
|
18297
18430
|
[onSetValue]
|
|
18298
18431
|
);
|
|
18299
|
-
return /* @__PURE__ */
|
|
18432
|
+
return /* @__PURE__ */ React111.createElement(LabeledField, { label, labelType: "inset" }, /* @__PURE__ */ React111.createElement(InputField2.Root, { id, width: size }, /* @__PURE__ */ React111.createElement(
|
|
18300
18433
|
InputField2.NumberInput,
|
|
18301
18434
|
{
|
|
18302
18435
|
value: value === void 0 ? value : (0, import_noya_utils21.round)(value, 2),
|
|
@@ -18323,8 +18456,8 @@ __export(InspectorPrimitives_exports, {
|
|
|
18323
18456
|
Title: () => Title,
|
|
18324
18457
|
VerticalSeparator: () => VerticalSeparator
|
|
18325
18458
|
});
|
|
18326
|
-
var
|
|
18327
|
-
var Section2 = (0,
|
|
18459
|
+
var import_react111 = __toESM(require("react"));
|
|
18460
|
+
var Section2 = (0, import_react111.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement(
|
|
18328
18461
|
"div",
|
|
18329
18462
|
{
|
|
18330
18463
|
ref,
|
|
@@ -18332,8 +18465,8 @@ var Section2 = (0, import_react110.forwardRef)(({ className, ...props }, ref) =>
|
|
|
18332
18465
|
...props
|
|
18333
18466
|
}
|
|
18334
18467
|
));
|
|
18335
|
-
var SectionHeader2 = (0,
|
|
18336
|
-
var Title = (0,
|
|
18468
|
+
var SectionHeader2 = (0, import_react111.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement("div", { ref, className: cx(`n-flex n-items-center`, className), ...props }));
|
|
18469
|
+
var Title = (0, import_react111.forwardRef)(({ className, $textStyle, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement(
|
|
18337
18470
|
"div",
|
|
18338
18471
|
{
|
|
18339
18472
|
ref,
|
|
@@ -18344,7 +18477,7 @@ var Title = (0, import_react110.forwardRef)(({ className, $textStyle, ...props }
|
|
|
18344
18477
|
...props
|
|
18345
18478
|
}
|
|
18346
18479
|
));
|
|
18347
|
-
var Row = (0,
|
|
18480
|
+
var Row = (0, import_react111.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement(
|
|
18348
18481
|
"div",
|
|
18349
18482
|
{
|
|
18350
18483
|
ref,
|
|
@@ -18352,7 +18485,7 @@ var Row = (0, import_react110.forwardRef)(({ className, ...props }, ref) => /* @
|
|
|
18352
18485
|
...props
|
|
18353
18486
|
}
|
|
18354
18487
|
));
|
|
18355
|
-
var Column = (0,
|
|
18488
|
+
var Column = (0, import_react111.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement(
|
|
18356
18489
|
"div",
|
|
18357
18490
|
{
|
|
18358
18491
|
ref,
|
|
@@ -18360,7 +18493,7 @@ var Column = (0, import_react110.forwardRef)(({ className, ...props }, ref) => /
|
|
|
18360
18493
|
...props
|
|
18361
18494
|
}
|
|
18362
18495
|
));
|
|
18363
|
-
var Checkbox3 = (0,
|
|
18496
|
+
var Checkbox3 = (0, import_react111.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement(
|
|
18364
18497
|
"input",
|
|
18365
18498
|
{
|
|
18366
18499
|
ref,
|
|
@@ -18369,7 +18502,7 @@ var Checkbox3 = (0, import_react110.forwardRef)(({ className, ...props }, ref) =
|
|
|
18369
18502
|
...props
|
|
18370
18503
|
}
|
|
18371
18504
|
));
|
|
18372
|
-
var Text3 = (0,
|
|
18505
|
+
var Text3 = (0, import_react111.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ import_react111.default.createElement(
|
|
18373
18506
|
"span",
|
|
18374
18507
|
{
|
|
18375
18508
|
ref,
|
|
@@ -18377,14 +18510,14 @@ var Text3 = (0, import_react110.forwardRef)(({ className, ...props }, ref) => /*
|
|
|
18377
18510
|
...props
|
|
18378
18511
|
}
|
|
18379
18512
|
));
|
|
18380
|
-
var VerticalSeparator = () => /* @__PURE__ */
|
|
18381
|
-
var HorizontalSeparator = () => /* @__PURE__ */
|
|
18382
|
-
var RowLabel = (0,
|
|
18513
|
+
var VerticalSeparator = () => /* @__PURE__ */ import_react111.default.createElement(Spacer.Vertical, { size: "inspector-v-separator" });
|
|
18514
|
+
var HorizontalSeparator = () => /* @__PURE__ */ import_react111.default.createElement(Spacer.Horizontal, { size: "inspector-h-separator" });
|
|
18515
|
+
var RowLabel = (0, import_react111.forwardRef)(function RowLabel2({
|
|
18383
18516
|
className,
|
|
18384
18517
|
$textStyle,
|
|
18385
18518
|
...props
|
|
18386
18519
|
}, ref) {
|
|
18387
|
-
return /* @__PURE__ */
|
|
18520
|
+
return /* @__PURE__ */ import_react111.default.createElement(
|
|
18388
18521
|
"label",
|
|
18389
18522
|
{
|
|
18390
18523
|
ref,
|
|
@@ -18396,7 +18529,7 @@ var RowLabel = (0, import_react110.forwardRef)(function RowLabel2({
|
|
|
18396
18529
|
}
|
|
18397
18530
|
);
|
|
18398
18531
|
});
|
|
18399
|
-
var LabeledRow = (0,
|
|
18532
|
+
var LabeledRow = (0, import_react111.memo)(function LabeledRow2({
|
|
18400
18533
|
id,
|
|
18401
18534
|
children,
|
|
18402
18535
|
label,
|
|
@@ -18404,7 +18537,7 @@ var LabeledRow = (0, import_react110.memo)(function LabeledRow2({
|
|
|
18404
18537
|
right,
|
|
18405
18538
|
className
|
|
18406
18539
|
}) {
|
|
18407
|
-
return /* @__PURE__ */
|
|
18540
|
+
return /* @__PURE__ */ import_react111.default.createElement(Row, { id, className }, /* @__PURE__ */ import_react111.default.createElement(Column, null, /* @__PURE__ */ import_react111.default.createElement(RowLabel, { $textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react111.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react111.default.createElement(Row, null, children)));
|
|
18408
18541
|
});
|
|
18409
18542
|
// Annotate the CommonJS export names for ESM import in node:
|
|
18410
18543
|
0 && (module.exports = {
|
|
@@ -18544,6 +18677,7 @@ var LabeledRow = (0, import_react110.memo)(function LabeledRow2({
|
|
|
18544
18677
|
Tooltip,
|
|
18545
18678
|
TreeView,
|
|
18546
18679
|
UserAvatar,
|
|
18680
|
+
UserPicker,
|
|
18547
18681
|
UserPointer,
|
|
18548
18682
|
WorkspaceLayout,
|
|
18549
18683
|
WorkspaceSideProvider,
|
|
@@ -18577,6 +18711,7 @@ var LabeledRow = (0, import_react110.memo)(function LabeledRow2({
|
|
|
18577
18711
|
getNextIndex,
|
|
18578
18712
|
getPipelineResultLink,
|
|
18579
18713
|
getThumbnailColors,
|
|
18714
|
+
getUserDisplayName,
|
|
18580
18715
|
isMenuItemSectionHeader,
|
|
18581
18716
|
isNonSelectableMenuItem,
|
|
18582
18717
|
isPopoverMenuItem,
|