@noya-app/noya-designsystem 0.1.7 → 0.1.8
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 +7 -7
- package/CHANGELOG.md +7 -0
- package/dist/index.js +489 -486
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +169 -161
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
- package/src/components/Button.tsx +1 -1
package/dist/index.js
CHANGED
|
@@ -260,7 +260,7 @@ var ButtonElement = import_styled_components4.default.button(({ theme, active, d
|
|
|
260
260
|
boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors.primary}`
|
|
261
261
|
},
|
|
262
262
|
"&:hover": {
|
|
263
|
-
background: variant === "primaryGradient" ? theme.colors.primaryLight : theme.colors.inputBackgroundLight
|
|
263
|
+
background: variant === "primaryGradient" || active ? theme.colors.primaryLight : theme.colors.inputBackgroundLight
|
|
264
264
|
},
|
|
265
265
|
"&:active": {
|
|
266
266
|
background: variant === "primaryGradient" ? theme.colors.primary : theme.colors.activeBackground
|
|
@@ -372,11 +372,11 @@ var Button = (0, import_react4.forwardRef)(function Button2({
|
|
|
372
372
|
|
|
373
373
|
// src/components/Chip.tsx
|
|
374
374
|
var import_noya_icons3 = require("@noya-app/noya-icons");
|
|
375
|
-
var
|
|
375
|
+
var import_react34 = __toESM(require("react"));
|
|
376
376
|
var import_styled_components16 = __toESM(require("styled-components"));
|
|
377
377
|
|
|
378
378
|
// src/contexts/DesignSystemConfiguration.tsx
|
|
379
|
-
var
|
|
379
|
+
var import_react33 = __toESM(require("react"));
|
|
380
380
|
var import_styled_components15 = require("styled-components");
|
|
381
381
|
|
|
382
382
|
// src/components/Toast.tsx
|
|
@@ -464,7 +464,7 @@ var Toast = ({
|
|
|
464
464
|
var ToastProvider = ({ children }) => /* @__PURE__ */ import_react6.default.createElement(ToastPrimitive.Provider, null, children, /* @__PURE__ */ import_react6.default.createElement(ToastViewport, null));
|
|
465
465
|
|
|
466
466
|
// src/contexts/DialogContext.tsx
|
|
467
|
-
var
|
|
467
|
+
var import_react32 = __toESM(require("react"));
|
|
468
468
|
var import_styled_components14 = __toESM(require("styled-components"));
|
|
469
469
|
|
|
470
470
|
// src/components/Dialog.tsx
|
|
@@ -771,22 +771,25 @@ var import_react16 = require("react");
|
|
|
771
771
|
// ../noya-react-utils/src/hooks/useMutableState.ts
|
|
772
772
|
var import_react17 = require("react");
|
|
773
773
|
|
|
774
|
-
// ../noya-react-utils/src/hooks/
|
|
774
|
+
// ../noya-react-utils/src/hooks/usePersistentState.ts
|
|
775
775
|
var import_react18 = require("react");
|
|
776
776
|
|
|
777
|
+
// ../noya-react-utils/src/hooks/usePixelRatio.ts
|
|
778
|
+
var import_react19 = require("react");
|
|
779
|
+
|
|
777
780
|
// ../noya-react-utils/src/hooks/useShallowArray.ts
|
|
778
781
|
var import_noya_utils3 = require("@noya-app/noya-utils");
|
|
779
|
-
var
|
|
782
|
+
var import_react20 = require("react");
|
|
780
783
|
|
|
781
784
|
// ../noya-react-utils/src/hooks/useStableCallback.ts
|
|
782
|
-
var
|
|
785
|
+
var import_react21 = require("react");
|
|
783
786
|
|
|
784
787
|
// ../noya-react-utils/src/hooks/useSystemColorScheme.ts
|
|
785
|
-
var
|
|
788
|
+
var import_react22 = require("react");
|
|
786
789
|
|
|
787
790
|
// ../noya-react-utils/src/hooks/useUrlHashParameters.ts
|
|
788
791
|
var import_noya_utils4 = require("@noya-app/noya-utils");
|
|
789
|
-
var
|
|
792
|
+
var import_react23 = require("react");
|
|
790
793
|
|
|
791
794
|
// ../noya-react-utils/src/utils/assignRef.ts
|
|
792
795
|
function assignRef(ref, value) {
|
|
@@ -798,7 +801,7 @@ function assignRef(ref, value) {
|
|
|
798
801
|
}
|
|
799
802
|
|
|
800
803
|
// src/components/InputField.tsx
|
|
801
|
-
var
|
|
804
|
+
var import_react31 = __toESM(require("react"));
|
|
802
805
|
var import_styled_components13 = __toESM(require("styled-components"));
|
|
803
806
|
|
|
804
807
|
// src/utils/handleNudge.ts
|
|
@@ -829,25 +832,25 @@ function handleNudge(e) {
|
|
|
829
832
|
var import_noya_icons = require("@noya-app/noya-icons");
|
|
830
833
|
var import_noya_keymap2 = require("@noya-app/noya-keymap");
|
|
831
834
|
var RadixDropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
832
|
-
var
|
|
835
|
+
var import_react26 = __toESM(require("react"));
|
|
833
836
|
var import_styled_components10 = __toESM(require("styled-components"));
|
|
834
837
|
|
|
835
838
|
// src/components/internal/Menu.tsx
|
|
836
839
|
var import_noya_keymap = require("@noya-app/noya-keymap");
|
|
837
|
-
var
|
|
840
|
+
var import_react25 = __toESM(require("react"));
|
|
838
841
|
var import_styled_components9 = __toESM(require("styled-components"));
|
|
839
842
|
|
|
840
843
|
// src/utils/withSeparatorElements.ts
|
|
841
|
-
var
|
|
844
|
+
var import_react24 = require("react");
|
|
842
845
|
function createKey(key) {
|
|
843
846
|
return `s-${key}`;
|
|
844
847
|
}
|
|
845
848
|
function withSeparatorElements(elements2, separator) {
|
|
846
|
-
const childrenArray =
|
|
849
|
+
const childrenArray = import_react24.Children.toArray(elements2);
|
|
847
850
|
for (let i = childrenArray.length - 1; i > 0; i--) {
|
|
848
|
-
let sep = typeof separator === "function" ? separator() : (0,
|
|
849
|
-
if ((0,
|
|
850
|
-
sep = (0,
|
|
851
|
+
let sep = typeof separator === "function" ? separator() : (0, import_react24.isValidElement)(separator) ? (0, import_react24.cloneElement)(separator, { key: createKey(i) }) : separator;
|
|
852
|
+
if ((0, import_react24.isValidElement)(sep) && sep.key == null) {
|
|
853
|
+
sep = (0, import_react24.cloneElement)(sep, { key: createKey(i) });
|
|
851
854
|
}
|
|
852
855
|
if (!sep || typeof sep === "boolean")
|
|
853
856
|
continue;
|
|
@@ -947,12 +950,12 @@ var ShortcutElement = import_styled_components9.default.kbd(
|
|
|
947
950
|
}
|
|
948
951
|
})
|
|
949
952
|
);
|
|
950
|
-
var KeyboardShortcut = (0,
|
|
953
|
+
var KeyboardShortcut = (0, import_react25.memo)(function KeyboardShortcut2({
|
|
951
954
|
shortcut
|
|
952
955
|
}) {
|
|
953
956
|
const platform = useDesignSystemConfiguration().platform;
|
|
954
957
|
const { keys, separator } = (0, import_noya_keymap.getShortcutDisplayParts)(shortcut, platform);
|
|
955
|
-
const keyElements = keys.map((key) => /* @__PURE__ */
|
|
958
|
+
const keyElements = keys.map((key) => /* @__PURE__ */ import_react25.default.createElement(
|
|
956
959
|
ShortcutElement,
|
|
957
960
|
{
|
|
958
961
|
key,
|
|
@@ -960,9 +963,9 @@ var KeyboardShortcut = (0, import_react24.memo)(function KeyboardShortcut2({
|
|
|
960
963
|
},
|
|
961
964
|
key
|
|
962
965
|
));
|
|
963
|
-
return /* @__PURE__ */
|
|
966
|
+
return /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, separator ? withSeparatorElements(
|
|
964
967
|
keyElements,
|
|
965
|
-
/* @__PURE__ */
|
|
968
|
+
/* @__PURE__ */ import_react25.default.createElement(ShortcutElement, null, separator)
|
|
966
969
|
) : keyElements);
|
|
967
970
|
});
|
|
968
971
|
|
|
@@ -977,7 +980,7 @@ var CheckboxItemElement = (0, import_styled_components10.default)(RadixDropdownM
|
|
|
977
980
|
var StyledItemIndicator = (0, import_styled_components10.default)(RadixDropdownMenu.ItemIndicator)(
|
|
978
981
|
styles.itemIndicatorStyle
|
|
979
982
|
);
|
|
980
|
-
var DropdownMenuItem = (0,
|
|
983
|
+
var DropdownMenuItem = (0, import_react26.memo)(function ContextMenuItem({
|
|
981
984
|
value,
|
|
982
985
|
children,
|
|
983
986
|
onSelect,
|
|
@@ -988,34 +991,34 @@ var DropdownMenuItem = (0, import_react25.memo)(function ContextMenuItem({
|
|
|
988
991
|
items,
|
|
989
992
|
shortcut
|
|
990
993
|
}) {
|
|
991
|
-
const handleSelectItem = (0,
|
|
994
|
+
const handleSelectItem = (0, import_react26.useCallback)(() => {
|
|
992
995
|
if (!value)
|
|
993
996
|
return;
|
|
994
997
|
onSelect(value);
|
|
995
998
|
}, [onSelect, value]);
|
|
996
999
|
if (checked) {
|
|
997
|
-
return /* @__PURE__ */
|
|
1000
|
+
return /* @__PURE__ */ import_react26.default.createElement(
|
|
998
1001
|
CheckboxItemElement,
|
|
999
1002
|
{
|
|
1000
1003
|
checked,
|
|
1001
1004
|
disabled,
|
|
1002
1005
|
onSelect: handleSelectItem
|
|
1003
1006
|
},
|
|
1004
|
-
/* @__PURE__ */
|
|
1005
|
-
icon && /* @__PURE__ */
|
|
1007
|
+
/* @__PURE__ */ import_react26.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react26.default.createElement(import_noya_icons.CheckIcon, null)),
|
|
1008
|
+
icon && /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, icon, /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, { size: 8 })),
|
|
1006
1009
|
children
|
|
1007
1010
|
);
|
|
1008
1011
|
}
|
|
1009
|
-
const element = /* @__PURE__ */
|
|
1012
|
+
const element = /* @__PURE__ */ import_react26.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, icon, /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react26.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react26.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react26.default.createElement(import_noya_icons.ChevronRightIcon, null)));
|
|
1010
1013
|
if (items && items.length > 0) {
|
|
1011
|
-
return /* @__PURE__ */
|
|
1014
|
+
return /* @__PURE__ */ import_react26.default.createElement(DropdownMenuRoot, { isNested: true, items, onSelect }, element);
|
|
1012
1015
|
} else {
|
|
1013
1016
|
return element;
|
|
1014
1017
|
}
|
|
1015
1018
|
});
|
|
1016
1019
|
var Content5 = (0, import_styled_components10.default)(RadixDropdownMenu.Content)(styles.contentStyle);
|
|
1017
1020
|
var SubContent2 = (0, import_styled_components10.default)(RadixDropdownMenu.SubContent)(styles.contentStyle);
|
|
1018
|
-
var DropdownMenuRoot = (0,
|
|
1021
|
+
var DropdownMenuRoot = (0, import_react26.forwardRef)(function DropdownMenuRoot2({
|
|
1019
1022
|
items,
|
|
1020
1023
|
children,
|
|
1021
1024
|
onSelect,
|
|
@@ -1028,7 +1031,7 @@ var DropdownMenuRoot = (0, import_react25.forwardRef)(function DropdownMenuRoot2
|
|
|
1028
1031
|
const hasCheckedItem = items.some(
|
|
1029
1032
|
(item) => item !== SEPARATOR_ITEM && item.checked
|
|
1030
1033
|
);
|
|
1031
|
-
const keymap = (0,
|
|
1034
|
+
const keymap = (0, import_react26.useMemo)(
|
|
1032
1035
|
() => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
|
|
1033
1036
|
[isNested, items, onSelect, shouldBindKeyboardShortcuts]
|
|
1034
1037
|
);
|
|
@@ -1036,8 +1039,8 @@ var DropdownMenuRoot = (0, import_react25.forwardRef)(function DropdownMenuRoot2
|
|
|
1036
1039
|
const RootComponent = isNested ? RadixDropdownMenu.Sub : RadixDropdownMenu.Root;
|
|
1037
1040
|
const TriggerComponent = isNested ? RadixDropdownMenu.SubTrigger : RadixDropdownMenu.Trigger;
|
|
1038
1041
|
const ContentComponent = isNested ? SubContent2 : Content5;
|
|
1039
|
-
const contentStyle = (0,
|
|
1040
|
-
return /* @__PURE__ */
|
|
1042
|
+
const contentStyle = (0, import_react26.useMemo)(() => ({ zIndex: 1e3 }), []);
|
|
1043
|
+
return /* @__PURE__ */ import_react26.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react26.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react26.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react26.default.createElement(
|
|
1041
1044
|
ContentComponent,
|
|
1042
1045
|
{
|
|
1043
1046
|
sideOffset: 4,
|
|
@@ -1046,7 +1049,7 @@ var DropdownMenuRoot = (0, import_react25.forwardRef)(function DropdownMenuRoot2
|
|
|
1046
1049
|
...{ onCloseAutoFocus }
|
|
1047
1050
|
},
|
|
1048
1051
|
items.map(
|
|
1049
|
-
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */
|
|
1052
|
+
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react26.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react26.default.createElement(
|
|
1050
1053
|
DropdownMenuItem,
|
|
1051
1054
|
{
|
|
1052
1055
|
key: item.value ?? index,
|
|
@@ -1064,14 +1067,14 @@ var DropdownMenuRoot = (0, import_react25.forwardRef)(function DropdownMenuRoot2
|
|
|
1064
1067
|
)
|
|
1065
1068
|
)));
|
|
1066
1069
|
});
|
|
1067
|
-
var DropdownMenu = (0,
|
|
1070
|
+
var DropdownMenu = (0, import_react26.memo)(DropdownMenuRoot);
|
|
1068
1071
|
|
|
1069
1072
|
// src/components/internal/TextInput.tsx
|
|
1070
1073
|
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
|
1071
|
-
var
|
|
1074
|
+
var import_react28 = __toESM(require("react"));
|
|
1072
1075
|
|
|
1073
1076
|
// src/contexts/GlobalInputBlurContext.tsx
|
|
1074
|
-
var
|
|
1077
|
+
var import_react27 = require("react");
|
|
1075
1078
|
var defaultValue = /* @__PURE__ */ (() => {
|
|
1076
1079
|
const listeners = [];
|
|
1077
1080
|
const value = {
|
|
@@ -1092,14 +1095,14 @@ var defaultValue = /* @__PURE__ */ (() => {
|
|
|
1092
1095
|
};
|
|
1093
1096
|
return value;
|
|
1094
1097
|
})();
|
|
1095
|
-
var GlobalInputBlurContext = (0,
|
|
1098
|
+
var GlobalInputBlurContext = (0, import_react27.createContext)(defaultValue);
|
|
1096
1099
|
var GlobalInputBlurProvider = GlobalInputBlurContext.Provider;
|
|
1097
1100
|
var useGlobalInputBlur = () => {
|
|
1098
|
-
return (0,
|
|
1101
|
+
return (0, import_react27.useContext)(GlobalInputBlurContext);
|
|
1099
1102
|
};
|
|
1100
1103
|
function useGlobalInputBlurListener(f) {
|
|
1101
1104
|
const context = useGlobalInputBlur();
|
|
1102
|
-
(0,
|
|
1105
|
+
(0, import_react27.useEffect)(() => {
|
|
1103
1106
|
context.addListener(f);
|
|
1104
1107
|
return () => {
|
|
1105
1108
|
context.removeListener(f);
|
|
@@ -1111,8 +1114,8 @@ function useGlobalInputBlurTrigger() {
|
|
|
1111
1114
|
}
|
|
1112
1115
|
|
|
1113
1116
|
// src/components/internal/TextInput.tsx
|
|
1114
|
-
var ReadOnlyTextInput = (0,
|
|
1115
|
-
return /* @__PURE__ */
|
|
1117
|
+
var ReadOnlyTextInput = (0, import_react28.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
|
|
1118
|
+
return /* @__PURE__ */ import_react28.default.createElement(
|
|
1116
1119
|
"input",
|
|
1117
1120
|
{
|
|
1118
1121
|
ref: forwardedRef,
|
|
@@ -1123,7 +1126,7 @@ var ReadOnlyTextInput = (0, import_react27.forwardRef)(function ReadOnlyTextInpu
|
|
|
1123
1126
|
}
|
|
1124
1127
|
);
|
|
1125
1128
|
});
|
|
1126
|
-
var ControlledTextInput = (0,
|
|
1129
|
+
var ControlledTextInput = (0, import_react28.forwardRef)(function ControlledTextInput2({
|
|
1127
1130
|
onKeyDown,
|
|
1128
1131
|
value,
|
|
1129
1132
|
onChange,
|
|
@@ -1132,28 +1135,28 @@ var ControlledTextInput = (0, import_react27.forwardRef)(function ControlledText
|
|
|
1132
1135
|
onFocusCapture,
|
|
1133
1136
|
...rest
|
|
1134
1137
|
}, forwardedRef) {
|
|
1135
|
-
const handleBlur = (0,
|
|
1138
|
+
const handleBlur = (0, import_react28.useCallback)(
|
|
1136
1139
|
(event) => {
|
|
1137
1140
|
onBlur?.(event);
|
|
1138
1141
|
onFocusChange?.(false);
|
|
1139
1142
|
},
|
|
1140
1143
|
[onBlur, onFocusChange]
|
|
1141
1144
|
);
|
|
1142
|
-
const handleFocusCapture = (0,
|
|
1145
|
+
const handleFocusCapture = (0, import_react28.useCallback)(
|
|
1143
1146
|
(event) => {
|
|
1144
1147
|
onFocusCapture?.(event);
|
|
1145
1148
|
onFocusChange?.(true);
|
|
1146
1149
|
},
|
|
1147
1150
|
[onFocusCapture, onFocusChange]
|
|
1148
1151
|
);
|
|
1149
|
-
return /* @__PURE__ */
|
|
1152
|
+
return /* @__PURE__ */ import_react28.default.createElement(
|
|
1150
1153
|
"input",
|
|
1151
1154
|
{
|
|
1152
1155
|
ref: forwardedRef,
|
|
1153
1156
|
...rest,
|
|
1154
1157
|
value,
|
|
1155
1158
|
onKeyDown,
|
|
1156
|
-
onChange: (0,
|
|
1159
|
+
onChange: (0, import_react28.useCallback)(
|
|
1157
1160
|
(event) => onChange(event.target.value),
|
|
1158
1161
|
[onChange]
|
|
1159
1162
|
),
|
|
@@ -1162,7 +1165,7 @@ var ControlledTextInput = (0, import_react27.forwardRef)(function ControlledText
|
|
|
1162
1165
|
}
|
|
1163
1166
|
);
|
|
1164
1167
|
});
|
|
1165
|
-
var SubmittableTextInput = (0,
|
|
1168
|
+
var SubmittableTextInput = (0, import_react28.forwardRef)(function SubmittableTextInput2({
|
|
1166
1169
|
onKeyDown,
|
|
1167
1170
|
value,
|
|
1168
1171
|
onSubmit,
|
|
@@ -1173,16 +1176,16 @@ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTe
|
|
|
1173
1176
|
submitAutomaticallyAfterDelay,
|
|
1174
1177
|
...rest
|
|
1175
1178
|
}, forwardedRef) {
|
|
1176
|
-
const ref =
|
|
1177
|
-
const latestValue = (0,
|
|
1179
|
+
const ref = import_react28.default.useRef(null);
|
|
1180
|
+
const latestValue = (0, import_react28.useRef)(value);
|
|
1178
1181
|
latestValue.current = value;
|
|
1179
|
-
const userDidEdit = (0,
|
|
1180
|
-
const isSubmitTriggeredByEscapeKey = (0,
|
|
1181
|
-
const [internalValue, setInternalValue] = (0,
|
|
1182
|
-
(0,
|
|
1182
|
+
const userDidEdit = (0, import_react28.useRef)(false);
|
|
1183
|
+
const isSubmitTriggeredByEscapeKey = (0, import_react28.useRef)(false);
|
|
1184
|
+
const [internalValue, setInternalValue] = (0, import_react28.useState)("");
|
|
1185
|
+
(0, import_react28.useLayoutEffect)(() => {
|
|
1183
1186
|
setInternalValue(value);
|
|
1184
1187
|
}, [value]);
|
|
1185
|
-
const handleSubmit = (0,
|
|
1188
|
+
const handleSubmit = (0, import_react28.useCallback)(() => {
|
|
1186
1189
|
const submissionValue = isSubmitTriggeredByEscapeKey.current ? value : internalValue;
|
|
1187
1190
|
isSubmitTriggeredByEscapeKey.current = false;
|
|
1188
1191
|
if (submissionValue === value && !allowSubmittingWithSameValue)
|
|
@@ -1192,13 +1195,13 @@ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTe
|
|
|
1192
1195
|
setInternalValue(latestValue.current);
|
|
1193
1196
|
}, [allowSubmittingWithSameValue, value, internalValue, onSubmit]);
|
|
1194
1197
|
useGlobalInputBlurListener(
|
|
1195
|
-
(0,
|
|
1198
|
+
(0, import_react28.useCallback)(() => {
|
|
1196
1199
|
if (ref.current !== document.activeElement)
|
|
1197
1200
|
return;
|
|
1198
1201
|
handleSubmit();
|
|
1199
1202
|
}, [handleSubmit])
|
|
1200
1203
|
);
|
|
1201
|
-
const handleKeyDown = (0,
|
|
1204
|
+
const handleKeyDown = (0, import_react28.useCallback)(
|
|
1202
1205
|
(event) => {
|
|
1203
1206
|
if (event.key === "Enter") {
|
|
1204
1207
|
handleSubmit();
|
|
@@ -1213,14 +1216,14 @@ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTe
|
|
|
1213
1216
|
},
|
|
1214
1217
|
[onKeyDown, handleSubmit]
|
|
1215
1218
|
);
|
|
1216
|
-
const handleChange = (0,
|
|
1219
|
+
const handleChange = (0, import_react28.useCallback)(
|
|
1217
1220
|
(event) => {
|
|
1218
1221
|
userDidEdit.current = true;
|
|
1219
1222
|
setInternalValue(event.target.value);
|
|
1220
1223
|
},
|
|
1221
1224
|
[]
|
|
1222
1225
|
);
|
|
1223
|
-
const handleBlur = (0,
|
|
1226
|
+
const handleBlur = (0, import_react28.useCallback)(
|
|
1224
1227
|
(event) => {
|
|
1225
1228
|
onBlur?.(event);
|
|
1226
1229
|
onFocusChange?.(false);
|
|
@@ -1228,19 +1231,19 @@ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTe
|
|
|
1228
1231
|
},
|
|
1229
1232
|
[onBlur, onFocusChange, handleSubmit]
|
|
1230
1233
|
);
|
|
1231
|
-
const handleFocusCapture = (0,
|
|
1234
|
+
const handleFocusCapture = (0, import_react28.useCallback)(
|
|
1232
1235
|
(event) => {
|
|
1233
1236
|
onFocusCapture?.(event);
|
|
1234
1237
|
onFocusChange?.(true);
|
|
1235
1238
|
},
|
|
1236
1239
|
[onFocusCapture, onFocusChange]
|
|
1237
1240
|
);
|
|
1238
|
-
const autoSubmitTimeoutRef = (0,
|
|
1241
|
+
const autoSubmitTimeoutRef = (0, import_react28.useRef)(
|
|
1239
1242
|
null
|
|
1240
1243
|
);
|
|
1241
|
-
const latestHandleSubmit = (0,
|
|
1244
|
+
const latestHandleSubmit = (0, import_react28.useRef)(handleSubmit);
|
|
1242
1245
|
latestHandleSubmit.current = handleSubmit;
|
|
1243
|
-
(0,
|
|
1246
|
+
(0, import_react28.useEffect)(() => {
|
|
1244
1247
|
if (submitAutomaticallyAfterDelay) {
|
|
1245
1248
|
if (autoSubmitTimeoutRef.current) {
|
|
1246
1249
|
clearTimeout(autoSubmitTimeoutRef.current);
|
|
@@ -1257,7 +1260,7 @@ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTe
|
|
|
1257
1260
|
}
|
|
1258
1261
|
};
|
|
1259
1262
|
}, [internalValue, submitAutomaticallyAfterDelay]);
|
|
1260
|
-
return /* @__PURE__ */
|
|
1263
|
+
return /* @__PURE__ */ import_react28.default.createElement(
|
|
1261
1264
|
"input",
|
|
1262
1265
|
{
|
|
1263
1266
|
ref: (0, import_react_compose_refs.composeRefs)(ref, forwardedRef),
|
|
@@ -1270,13 +1273,13 @@ var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTe
|
|
|
1270
1273
|
}
|
|
1271
1274
|
);
|
|
1272
1275
|
});
|
|
1273
|
-
var TextInput_default = (0,
|
|
1276
|
+
var TextInput_default = (0, import_react28.forwardRef)(function TextInput(props, forwardedRef) {
|
|
1274
1277
|
const commonProps = {
|
|
1275
|
-
onPointerDown: (0,
|
|
1278
|
+
onPointerDown: (0, import_react28.useCallback)(
|
|
1276
1279
|
(event) => event.stopPropagation(),
|
|
1277
1280
|
[]
|
|
1278
1281
|
),
|
|
1279
|
-
onClick: (0,
|
|
1282
|
+
onClick: (0, import_react28.useCallback)(
|
|
1280
1283
|
(event) => event.stopPropagation(),
|
|
1281
1284
|
[]
|
|
1282
1285
|
),
|
|
@@ -1289,17 +1292,17 @@ var TextInput_default = (0, import_react27.forwardRef)(function TextInput(props,
|
|
|
1289
1292
|
...props
|
|
1290
1293
|
};
|
|
1291
1294
|
if ("readOnly" in commonProps) {
|
|
1292
|
-
return /* @__PURE__ */
|
|
1295
|
+
return /* @__PURE__ */ import_react28.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
|
|
1293
1296
|
} else if ("onChange" in commonProps) {
|
|
1294
|
-
return /* @__PURE__ */
|
|
1297
|
+
return /* @__PURE__ */ import_react28.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
|
|
1295
1298
|
} else {
|
|
1296
|
-
return /* @__PURE__ */
|
|
1299
|
+
return /* @__PURE__ */ import_react28.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
|
|
1297
1300
|
}
|
|
1298
1301
|
});
|
|
1299
1302
|
|
|
1300
1303
|
// src/components/Popover.tsx
|
|
1301
1304
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
1302
|
-
var
|
|
1305
|
+
var import_react29 = __toESM(require("react"));
|
|
1303
1306
|
var import_styled_components11 = __toESM(require("styled-components"));
|
|
1304
1307
|
var ContentElement = (0, import_styled_components11.default)(PopoverPrimitive.Content)(({ theme, variant }) => ({
|
|
1305
1308
|
borderRadius: 4,
|
|
@@ -1346,7 +1349,7 @@ function Popover({
|
|
|
1346
1349
|
onFocusOutside,
|
|
1347
1350
|
onClickClose
|
|
1348
1351
|
}) {
|
|
1349
|
-
return /* @__PURE__ */
|
|
1352
|
+
return /* @__PURE__ */ import_react29.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react29.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react29.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react29.default.createElement(
|
|
1350
1353
|
ContentElement,
|
|
1351
1354
|
{
|
|
1352
1355
|
variant,
|
|
@@ -1367,13 +1370,13 @@ function Popover({
|
|
|
1367
1370
|
}
|
|
1368
1371
|
},
|
|
1369
1372
|
children,
|
|
1370
|
-
showArrow && /* @__PURE__ */
|
|
1371
|
-
closable && /* @__PURE__ */
|
|
1373
|
+
showArrow && /* @__PURE__ */ import_react29.default.createElement(ArrowElement, null),
|
|
1374
|
+
closable && /* @__PURE__ */ import_react29.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react29.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
|
|
1372
1375
|
)));
|
|
1373
1376
|
}
|
|
1374
1377
|
|
|
1375
1378
|
// src/components/Stack.tsx
|
|
1376
|
-
var
|
|
1379
|
+
var import_react30 = __toESM(require("react"));
|
|
1377
1380
|
var import_styled_components12 = __toESM(require("styled-components"));
|
|
1378
1381
|
|
|
1379
1382
|
// src/utils/breakpoints.ts
|
|
@@ -1399,15 +1402,15 @@ var Element = import_styled_components12.default.div(({ styleProps, breakpoints
|
|
|
1399
1402
|
...styleProps,
|
|
1400
1403
|
...mergeBreakpoints(breakpoints || [])
|
|
1401
1404
|
}));
|
|
1402
|
-
var StackBase = (0,
|
|
1403
|
-
const elements2 = separator ? withSeparatorElements(
|
|
1405
|
+
var StackBase = (0, import_react30.forwardRef)(function StackBase2({ id, as, children, separator, breakpoints, tabIndex, href, ...rest }, forwardedRef) {
|
|
1406
|
+
const elements2 = separator ? withSeparatorElements(import_react30.Children.toArray(children), separator) : children;
|
|
1404
1407
|
const styleProps = {
|
|
1405
1408
|
display: "flex",
|
|
1406
1409
|
position: "relative",
|
|
1407
1410
|
alignItems: "stretch",
|
|
1408
1411
|
...rest
|
|
1409
1412
|
};
|
|
1410
|
-
return /* @__PURE__ */
|
|
1413
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
1411
1414
|
Element,
|
|
1412
1415
|
{
|
|
1413
1416
|
ref: forwardedRef,
|
|
@@ -1421,14 +1424,14 @@ var StackBase = (0, import_react29.forwardRef)(function StackBase2({ id, as, chi
|
|
|
1421
1424
|
elements2
|
|
1422
1425
|
);
|
|
1423
1426
|
});
|
|
1424
|
-
var VerticalStack = (0,
|
|
1425
|
-
(0,
|
|
1426
|
-
return /* @__PURE__ */
|
|
1427
|
+
var VerticalStack = (0, import_react30.memo)(
|
|
1428
|
+
(0, import_react30.forwardRef)(function VStack(props, forwardedRef) {
|
|
1429
|
+
return /* @__PURE__ */ import_react30.default.createElement(StackBase, { ...props, flexDirection: "column", ref: forwardedRef });
|
|
1427
1430
|
})
|
|
1428
1431
|
);
|
|
1429
|
-
var HorizontalStack = (0,
|
|
1430
|
-
(0,
|
|
1431
|
-
return /* @__PURE__ */
|
|
1432
|
+
var HorizontalStack = (0, import_react30.memo)(
|
|
1433
|
+
(0, import_react30.forwardRef)(function HStack(props, forwardedRef) {
|
|
1434
|
+
return /* @__PURE__ */ import_react30.default.createElement(StackBase, { ...props, flexDirection: "row", ref: forwardedRef });
|
|
1432
1435
|
})
|
|
1433
1436
|
);
|
|
1434
1437
|
var Stack = {
|
|
@@ -1437,7 +1440,7 @@ var Stack = {
|
|
|
1437
1440
|
};
|
|
1438
1441
|
|
|
1439
1442
|
// src/components/InputField.tsx
|
|
1440
|
-
var InputFieldContext = (0,
|
|
1443
|
+
var InputFieldContext = (0, import_react31.createContext)({
|
|
1441
1444
|
labelPosition: "end",
|
|
1442
1445
|
labelSize: 6,
|
|
1443
1446
|
hasLabel: false,
|
|
@@ -1465,11 +1468,11 @@ var LabelContainer = import_styled_components13.default.label(({ theme, labelPos
|
|
|
1465
1468
|
paddingRight: hasDropdown ? "16px" : "6px"
|
|
1466
1469
|
}
|
|
1467
1470
|
}));
|
|
1468
|
-
var InputFieldLabel = (0,
|
|
1469
|
-
(0,
|
|
1470
|
-
const { labelPosition, hasDropdown, setLabelWidth } = (0,
|
|
1471
|
-
const ref = (0,
|
|
1472
|
-
(0,
|
|
1471
|
+
var InputFieldLabel = (0, import_react31.memo)(
|
|
1472
|
+
(0, import_react31.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
|
|
1473
|
+
const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react31.useContext)(InputFieldContext);
|
|
1474
|
+
const ref = (0, import_react31.useRef)(null);
|
|
1475
|
+
(0, import_react31.useLayoutEffect)(() => {
|
|
1473
1476
|
if (!setLabelWidth)
|
|
1474
1477
|
return;
|
|
1475
1478
|
const width = ref.current?.getBoundingClientRect().width;
|
|
@@ -1477,7 +1480,7 @@ var InputFieldLabel = (0, import_react30.memo)(
|
|
|
1477
1480
|
return;
|
|
1478
1481
|
setLabelWidth(width);
|
|
1479
1482
|
}, [setLabelWidth]);
|
|
1480
|
-
return /* @__PURE__ */
|
|
1483
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
1481
1484
|
LabelContainer,
|
|
1482
1485
|
{
|
|
1483
1486
|
ref: (element) => {
|
|
@@ -1501,16 +1504,16 @@ var DropdownContainer = import_styled_components13.default.span(({ theme }) => (
|
|
|
1501
1504
|
display: "flex",
|
|
1502
1505
|
flexDirection: "column"
|
|
1503
1506
|
}));
|
|
1504
|
-
var InputFieldDropdownMenu = (0,
|
|
1505
|
-
const { size: size2 } = (0,
|
|
1506
|
-
const contentStyle = (0,
|
|
1507
|
+
var InputFieldDropdownMenu = (0, import_react31.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
|
|
1508
|
+
const { size: size2 } = (0, import_react31.useContext)(InputFieldContext);
|
|
1509
|
+
const contentStyle = (0, import_react31.useMemo)(
|
|
1507
1510
|
() => ({
|
|
1508
1511
|
margin: "-4px 0",
|
|
1509
1512
|
minHeight: size2 === "small" ? "15px" : void 0
|
|
1510
1513
|
}),
|
|
1511
1514
|
[size2]
|
|
1512
1515
|
);
|
|
1513
|
-
return /* @__PURE__ */
|
|
1516
|
+
return /* @__PURE__ */ import_react31.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react31.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react31.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react31.default.createElement(import_noya_icons2.CaretDownIcon, null))));
|
|
1514
1517
|
});
|
|
1515
1518
|
var ButtonContainer = import_styled_components13.default.span(
|
|
1516
1519
|
({ theme, size: size2 }) => ({
|
|
@@ -1519,12 +1522,12 @@ var ButtonContainer = import_styled_components13.default.span(
|
|
|
1519
1522
|
top: size2 === "large" ? "8px" : size2 === "medium" ? "4px" : "2px"
|
|
1520
1523
|
})
|
|
1521
1524
|
);
|
|
1522
|
-
var InputFieldButton = (0,
|
|
1525
|
+
var InputFieldButton = (0, import_react31.memo)(function InputFieldButton2({
|
|
1523
1526
|
children,
|
|
1524
1527
|
onClick
|
|
1525
1528
|
}) {
|
|
1526
|
-
const { size: size2, inputRef } = (0,
|
|
1527
|
-
const defaultHandleClick = (0,
|
|
1529
|
+
const { size: size2, inputRef } = (0, import_react31.useContext)(InputFieldContext);
|
|
1530
|
+
const defaultHandleClick = (0, import_react31.useCallback)(
|
|
1528
1531
|
(event) => {
|
|
1529
1532
|
if (inputRef && typeof inputRef !== "function") {
|
|
1530
1533
|
inputRef.current?.focus();
|
|
@@ -1535,11 +1538,11 @@ var InputFieldButton = (0, import_react30.memo)(function InputFieldButton2({
|
|
|
1535
1538
|
},
|
|
1536
1539
|
[inputRef]
|
|
1537
1540
|
);
|
|
1538
|
-
const handlePointerDown = (0,
|
|
1541
|
+
const handlePointerDown = (0, import_react31.useCallback)((event) => {
|
|
1539
1542
|
event.preventDefault();
|
|
1540
1543
|
event.stopPropagation();
|
|
1541
1544
|
}, []);
|
|
1542
|
-
return /* @__PURE__ */
|
|
1545
|
+
return /* @__PURE__ */ import_react31.default.createElement(ButtonContainer, { size: size2 }, /* @__PURE__ */ import_react31.default.createElement(
|
|
1543
1546
|
Button,
|
|
1544
1547
|
{
|
|
1545
1548
|
variant: "floating",
|
|
@@ -1626,7 +1629,7 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default).wi
|
|
|
1626
1629
|
}
|
|
1627
1630
|
})
|
|
1628
1631
|
);
|
|
1629
|
-
var InputFieldInput = (0,
|
|
1632
|
+
var InputFieldInput = (0, import_react31.forwardRef)(function InputFieldInput2(props, forwardedRef) {
|
|
1630
1633
|
const {
|
|
1631
1634
|
labelPosition,
|
|
1632
1635
|
labelSize,
|
|
@@ -1635,17 +1638,17 @@ var InputFieldInput = (0, import_react30.forwardRef)(function InputFieldInput2(p
|
|
|
1635
1638
|
size: size2,
|
|
1636
1639
|
onFocusChange,
|
|
1637
1640
|
setInputRef
|
|
1638
|
-
} = (0,
|
|
1639
|
-
const handleFocusChange = (0,
|
|
1641
|
+
} = (0, import_react31.useContext)(InputFieldContext);
|
|
1642
|
+
const handleFocusChange = (0, import_react31.useCallback)(
|
|
1640
1643
|
(isFocused) => {
|
|
1641
1644
|
onFocusChange(isFocused);
|
|
1642
1645
|
},
|
|
1643
1646
|
[onFocusChange]
|
|
1644
1647
|
);
|
|
1645
|
-
(0,
|
|
1648
|
+
(0, import_react31.useLayoutEffect)(() => {
|
|
1646
1649
|
setInputRef?.(forwardedRef);
|
|
1647
1650
|
}, [forwardedRef, setInputRef]);
|
|
1648
|
-
return /* @__PURE__ */
|
|
1651
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
1649
1652
|
InputElement,
|
|
1650
1653
|
{
|
|
1651
1654
|
ref: forwardedRef,
|
|
@@ -1667,8 +1670,8 @@ var InputFieldTypeahead = (props) => {
|
|
|
1667
1670
|
hasLabel,
|
|
1668
1671
|
size: size2,
|
|
1669
1672
|
onFocusChange
|
|
1670
|
-
} = (0,
|
|
1671
|
-
return /* @__PURE__ */
|
|
1673
|
+
} = (0, import_react31.useContext)(InputFieldContext);
|
|
1674
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
1672
1675
|
InputElement,
|
|
1673
1676
|
{
|
|
1674
1677
|
labelPosition,
|
|
@@ -1702,7 +1705,7 @@ function InputFieldNumberInput(props) {
|
|
|
1702
1705
|
const { value, placeholder, onNudge } = props;
|
|
1703
1706
|
const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
|
|
1704
1707
|
const onChange = "onChange" in props ? props.onChange : void 0;
|
|
1705
|
-
const handleSubmit = (0,
|
|
1708
|
+
const handleSubmit = (0, import_react31.useCallback)(
|
|
1706
1709
|
(value2) => {
|
|
1707
1710
|
const newValue = parseNumber(value2);
|
|
1708
1711
|
if (!isNaN(newValue)) {
|
|
@@ -1711,7 +1714,7 @@ function InputFieldNumberInput(props) {
|
|
|
1711
1714
|
},
|
|
1712
1715
|
[onSubmit]
|
|
1713
1716
|
);
|
|
1714
|
-
const handleKeyDown = (0,
|
|
1717
|
+
const handleKeyDown = (0, import_react31.useCallback)(
|
|
1715
1718
|
(event) => {
|
|
1716
1719
|
const amount = handleNudge(event);
|
|
1717
1720
|
if (!amount)
|
|
@@ -1722,13 +1725,13 @@ function InputFieldNumberInput(props) {
|
|
|
1722
1725
|
},
|
|
1723
1726
|
[onNudge]
|
|
1724
1727
|
);
|
|
1725
|
-
const handleChange = (0,
|
|
1728
|
+
const handleChange = (0, import_react31.useCallback)(
|
|
1726
1729
|
(value2) => {
|
|
1727
1730
|
onChange?.(parseNumber(value2));
|
|
1728
1731
|
},
|
|
1729
1732
|
[onChange]
|
|
1730
1733
|
);
|
|
1731
|
-
return /* @__PURE__ */
|
|
1734
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
1732
1735
|
InputFieldInput,
|
|
1733
1736
|
{
|
|
1734
1737
|
...props,
|
|
@@ -1759,32 +1762,32 @@ function InputFieldRoot({
|
|
|
1759
1762
|
renderPopoverContent,
|
|
1760
1763
|
onFocusChange
|
|
1761
1764
|
}) {
|
|
1762
|
-
const childrenArray =
|
|
1765
|
+
const childrenArray = import_react31.Children.toArray(children);
|
|
1763
1766
|
const hasDropdown = childrenArray.some(
|
|
1764
|
-
(child) => (0,
|
|
1767
|
+
(child) => (0, import_react31.isValidElement)(child) && child.type === InputFieldDropdownMenu
|
|
1765
1768
|
);
|
|
1766
1769
|
const hasLabel = childrenArray.some(
|
|
1767
|
-
(child) => (0,
|
|
1770
|
+
(child) => (0, import_react31.isValidElement)(child) && child.type === InputFieldLabel
|
|
1768
1771
|
);
|
|
1769
|
-
const [isFocused, setIsFocused] =
|
|
1770
|
-
const [measuredLabelSize, setMeasuredLabelSize] =
|
|
1771
|
-
const [measuredWidth, setMeasuredWidth] =
|
|
1772
|
-
const handleFocusChange = (0,
|
|
1772
|
+
const [isFocused, setIsFocused] = import_react31.default.useState(false);
|
|
1773
|
+
const [measuredLabelSize, setMeasuredLabelSize] = import_react31.default.useState();
|
|
1774
|
+
const [measuredWidth, setMeasuredWidth] = import_react31.default.useState();
|
|
1775
|
+
const handleFocusChange = (0, import_react31.useCallback)(
|
|
1773
1776
|
(isFocused2) => {
|
|
1774
1777
|
setIsFocused(isFocused2);
|
|
1775
1778
|
onFocusChange?.(isFocused2);
|
|
1776
1779
|
},
|
|
1777
1780
|
[onFocusChange]
|
|
1778
1781
|
);
|
|
1779
|
-
const [inputRef, setInputRef] =
|
|
1780
|
-
(0,
|
|
1782
|
+
const [inputRef, setInputRef] = import_react31.default.useState();
|
|
1783
|
+
(0, import_react31.useEffect)(() => {
|
|
1781
1784
|
if (inputRef && typeof inputRef !== "function") {
|
|
1782
1785
|
setMeasuredWidth?.(
|
|
1783
1786
|
isFocused ? inputRef?.current?.getBoundingClientRect().width : void 0
|
|
1784
1787
|
);
|
|
1785
1788
|
}
|
|
1786
1789
|
}, [inputRef, isFocused]);
|
|
1787
|
-
const contextValue = (0,
|
|
1790
|
+
const contextValue = (0, import_react31.useMemo)(
|
|
1788
1791
|
() => ({
|
|
1789
1792
|
labelPosition,
|
|
1790
1793
|
labelSize: measuredLabelSize ?? labelSize ?? 6,
|
|
@@ -1809,8 +1812,8 @@ function InputFieldRoot({
|
|
|
1809
1812
|
inputRef
|
|
1810
1813
|
]
|
|
1811
1814
|
);
|
|
1812
|
-
const rootElement = /* @__PURE__ */
|
|
1813
|
-
return /* @__PURE__ */
|
|
1815
|
+
const rootElement = /* @__PURE__ */ import_react31.default.createElement(RootContainer, { id, width, flex }, children);
|
|
1816
|
+
return /* @__PURE__ */ import_react31.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react31.default.createElement(
|
|
1814
1817
|
Popover,
|
|
1815
1818
|
{
|
|
1816
1819
|
open: true,
|
|
@@ -1826,15 +1829,15 @@ function InputFieldRoot({
|
|
|
1826
1829
|
event.stopPropagation();
|
|
1827
1830
|
}
|
|
1828
1831
|
},
|
|
1829
|
-
measuredWidth && /* @__PURE__ */
|
|
1832
|
+
measuredWidth && /* @__PURE__ */ import_react31.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
|
|
1830
1833
|
) : rootElement);
|
|
1831
1834
|
}
|
|
1832
1835
|
var InputField;
|
|
1833
1836
|
((InputField2) => {
|
|
1834
|
-
InputField2.Root = (0,
|
|
1835
|
-
InputField2.Input = (0,
|
|
1836
|
-
InputField2.Typeahead = (0,
|
|
1837
|
-
InputField2.NumberInput = (0,
|
|
1837
|
+
InputField2.Root = (0, import_react31.memo)(InputFieldRoot);
|
|
1838
|
+
InputField2.Input = (0, import_react31.memo)(InputFieldInput);
|
|
1839
|
+
InputField2.Typeahead = (0, import_react31.memo)(InputFieldTypeahead);
|
|
1840
|
+
InputField2.NumberInput = (0, import_react31.memo)(InputFieldNumberInput);
|
|
1838
1841
|
InputField2.DropdownMenu = InputFieldDropdownMenu;
|
|
1839
1842
|
InputField2.Button = InputFieldButton;
|
|
1840
1843
|
InputField2.Label = InputFieldLabel;
|
|
@@ -1858,24 +1861,24 @@ function createDeferredPromise() {
|
|
|
1858
1861
|
});
|
|
1859
1862
|
return { promise, resolve, reject };
|
|
1860
1863
|
}
|
|
1861
|
-
var DialogContext = (0,
|
|
1864
|
+
var DialogContext = (0, import_react32.createContext)(void 0);
|
|
1862
1865
|
var DialogProvider = function DialogProvider2({
|
|
1863
1866
|
children
|
|
1864
1867
|
}) {
|
|
1865
|
-
const [contents, setContents] = (0,
|
|
1868
|
+
const [contents, setContents] = (0, import_react32.useState)();
|
|
1866
1869
|
const isOpen = !!contents;
|
|
1867
|
-
const close = (0,
|
|
1870
|
+
const close = (0, import_react32.useCallback)(() => {
|
|
1868
1871
|
if (!contents)
|
|
1869
1872
|
return;
|
|
1870
1873
|
contents.resolve(void 0);
|
|
1871
1874
|
}, [contents]);
|
|
1872
|
-
const submit = (0,
|
|
1875
|
+
const submit = (0, import_react32.useCallback)(() => {
|
|
1873
1876
|
if (!contents || !contents.inputValue)
|
|
1874
1877
|
return;
|
|
1875
1878
|
contents.resolve(contents.inputValue);
|
|
1876
1879
|
setContents(void 0);
|
|
1877
1880
|
}, [contents]);
|
|
1878
|
-
const open = (0,
|
|
1881
|
+
const open = (0, import_react32.useCallback)(
|
|
1879
1882
|
(title, inputValue = "") => {
|
|
1880
1883
|
const { promise, resolve } = createDeferredPromise();
|
|
1881
1884
|
setContents({
|
|
@@ -1890,7 +1893,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
1890
1893
|
},
|
|
1891
1894
|
[]
|
|
1892
1895
|
);
|
|
1893
|
-
const handleKeyDown = (0,
|
|
1896
|
+
const handleKeyDown = (0, import_react32.useCallback)(
|
|
1894
1897
|
(event) => {
|
|
1895
1898
|
if (event.key !== "Enter")
|
|
1896
1899
|
return;
|
|
@@ -1900,29 +1903,29 @@ var DialogProvider = function DialogProvider2({
|
|
|
1900
1903
|
},
|
|
1901
1904
|
[submit]
|
|
1902
1905
|
);
|
|
1903
|
-
const inputRef = (0,
|
|
1904
|
-
const dialogRef = (0,
|
|
1905
|
-
const containsElement = (0,
|
|
1906
|
+
const inputRef = (0, import_react32.useRef)(null);
|
|
1907
|
+
const dialogRef = (0, import_react32.useRef)(null);
|
|
1908
|
+
const containsElement = (0, import_react32.useCallback)((element) => {
|
|
1906
1909
|
if (!dialogRef.current)
|
|
1907
1910
|
return false;
|
|
1908
1911
|
return dialogRef.current.containsElement(element);
|
|
1909
1912
|
}, []);
|
|
1910
|
-
return /* @__PURE__ */
|
|
1913
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react32.default.Fragment, null, /* @__PURE__ */ import_react32.default.createElement(
|
|
1911
1914
|
DialogContext.Provider,
|
|
1912
1915
|
{
|
|
1913
|
-
value: (0,
|
|
1916
|
+
value: (0, import_react32.useMemo)(
|
|
1914
1917
|
() => ({ openInputDialog: open, containsElement }),
|
|
1915
1918
|
[containsElement, open]
|
|
1916
1919
|
)
|
|
1917
1920
|
},
|
|
1918
1921
|
children
|
|
1919
|
-
), /* @__PURE__ */
|
|
1922
|
+
), /* @__PURE__ */ import_react32.default.createElement(
|
|
1920
1923
|
Dialog,
|
|
1921
1924
|
{
|
|
1922
1925
|
ref: dialogRef,
|
|
1923
1926
|
title: contents?.title,
|
|
1924
1927
|
open: isOpen,
|
|
1925
|
-
onOpenChange: (0,
|
|
1928
|
+
onOpenChange: (0, import_react32.useCallback)(
|
|
1926
1929
|
(isOpen2) => {
|
|
1927
1930
|
if (!isOpen2) {
|
|
1928
1931
|
close();
|
|
@@ -1930,14 +1933,14 @@ var DialogProvider = function DialogProvider2({
|
|
|
1930
1933
|
},
|
|
1931
1934
|
[close]
|
|
1932
1935
|
),
|
|
1933
|
-
onOpenAutoFocus: (0,
|
|
1936
|
+
onOpenAutoFocus: (0, import_react32.useCallback)((event) => {
|
|
1934
1937
|
event.stopPropagation();
|
|
1935
1938
|
event.preventDefault();
|
|
1936
1939
|
inputRef.current?.focus();
|
|
1937
1940
|
inputRef.current?.setSelectionRange(0, inputRef.current.value.length);
|
|
1938
1941
|
}, [])
|
|
1939
1942
|
},
|
|
1940
|
-
/* @__PURE__ */
|
|
1943
|
+
/* @__PURE__ */ import_react32.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react32.default.createElement(
|
|
1941
1944
|
InputField.Input,
|
|
1942
1945
|
{
|
|
1943
1946
|
ref: inputRef,
|
|
@@ -1953,12 +1956,12 @@ var DialogProvider = function DialogProvider2({
|
|
|
1953
1956
|
onKeyDown: handleKeyDown
|
|
1954
1957
|
}
|
|
1955
1958
|
)),
|
|
1956
|
-
/* @__PURE__ */
|
|
1957
|
-
/* @__PURE__ */
|
|
1959
|
+
/* @__PURE__ */ import_react32.default.createElement(Spacer.Vertical, { size: 20 }),
|
|
1960
|
+
/* @__PURE__ */ import_react32.default.createElement(Row, null, /* @__PURE__ */ import_react32.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react32.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react32.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react32.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
|
|
1958
1961
|
));
|
|
1959
1962
|
};
|
|
1960
1963
|
function useDialog() {
|
|
1961
|
-
const value = (0,
|
|
1964
|
+
const value = (0, import_react32.useContext)(DialogContext);
|
|
1962
1965
|
if (!value) {
|
|
1963
1966
|
throw new Error("Missing DialogProvider");
|
|
1964
1967
|
}
|
|
@@ -1972,19 +1975,19 @@ function useDialogContainsElement() {
|
|
|
1972
1975
|
}
|
|
1973
1976
|
|
|
1974
1977
|
// src/contexts/DesignSystemConfiguration.tsx
|
|
1975
|
-
var DesignSystemConfigurationContext = (0,
|
|
1976
|
-
var DesignSystemConfigurationProvider = (0,
|
|
1978
|
+
var DesignSystemConfigurationContext = (0, import_react33.createContext)(void 0);
|
|
1979
|
+
var DesignSystemConfigurationProvider = (0, import_react33.memo)(
|
|
1977
1980
|
function DesignSystemConfigurationProvider2({
|
|
1978
1981
|
children,
|
|
1979
1982
|
theme,
|
|
1980
1983
|
platform
|
|
1981
1984
|
}) {
|
|
1982
|
-
const contextValue = (0,
|
|
1983
|
-
return /* @__PURE__ */
|
|
1985
|
+
const contextValue = (0, import_react33.useMemo)(() => ({ platform }), [platform]);
|
|
1986
|
+
return /* @__PURE__ */ import_react33.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react33.default.createElement(import_styled_components15.ThemeProvider, { theme }, /* @__PURE__ */ import_react33.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react33.default.createElement(ToastProvider, null, children))));
|
|
1984
1987
|
}
|
|
1985
1988
|
);
|
|
1986
1989
|
function useDesignSystemConfiguration() {
|
|
1987
|
-
const value = (0,
|
|
1990
|
+
const value = (0, import_react33.useContext)(DesignSystemConfigurationContext);
|
|
1988
1991
|
if (!value) {
|
|
1989
1992
|
throw new Error("Missing DesignSystemConfigurationProvider");
|
|
1990
1993
|
}
|
|
@@ -2172,7 +2175,7 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
|
|
|
2172
2175
|
opacity: 0.85
|
|
2173
2176
|
}
|
|
2174
2177
|
}));
|
|
2175
|
-
var Chip = (0,
|
|
2178
|
+
var Chip = (0, import_react34.memo)(function Chip2({
|
|
2176
2179
|
colorScheme,
|
|
2177
2180
|
children,
|
|
2178
2181
|
deletable,
|
|
@@ -2193,7 +2196,7 @@ var Chip = (0, import_react33.memo)(function Chip2({
|
|
|
2193
2196
|
});
|
|
2194
2197
|
const handleClick = !children && !deletable && addable ? onAdd : onClick;
|
|
2195
2198
|
const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
|
|
2196
|
-
return /* @__PURE__ */
|
|
2199
|
+
return /* @__PURE__ */ import_react34.default.createElement(
|
|
2197
2200
|
ChipElement,
|
|
2198
2201
|
{
|
|
2199
2202
|
variant,
|
|
@@ -2205,7 +2208,7 @@ var Chip = (0, import_react33.memo)(function Chip2({
|
|
|
2205
2208
|
isInteractive: !!handleClick,
|
|
2206
2209
|
tabIndex
|
|
2207
2210
|
},
|
|
2208
|
-
addable && /* @__PURE__ */
|
|
2211
|
+
addable && /* @__PURE__ */ import_react34.default.createElement(
|
|
2209
2212
|
AddElement,
|
|
2210
2213
|
{
|
|
2211
2214
|
size: size2,
|
|
@@ -2218,7 +2221,7 @@ var Chip = (0, import_react33.memo)(function Chip2({
|
|
|
2218
2221
|
}
|
|
2219
2222
|
),
|
|
2220
2223
|
children,
|
|
2221
|
-
deletable && /* @__PURE__ */
|
|
2224
|
+
deletable && /* @__PURE__ */ import_react34.default.createElement(
|
|
2222
2225
|
DeleteElement,
|
|
2223
2226
|
{
|
|
2224
2227
|
size: size2,
|
|
@@ -2237,7 +2240,7 @@ var Chip = (0, import_react33.memo)(function Chip2({
|
|
|
2237
2240
|
var import_noya_icons4 = require("@noya-app/noya-icons");
|
|
2238
2241
|
var import_noya_keymap3 = require("@noya-app/noya-keymap");
|
|
2239
2242
|
var RadixContextMenu = __toESM(require("@radix-ui/react-context-menu"));
|
|
2240
|
-
var
|
|
2243
|
+
var import_react35 = __toESM(require("react"));
|
|
2241
2244
|
var import_styled_components17 = __toESM(require("styled-components"));
|
|
2242
2245
|
var SeparatorElement2 = (0, import_styled_components17.default)(RadixContextMenu.Separator)(
|
|
2243
2246
|
styles.separatorStyle
|
|
@@ -2249,7 +2252,7 @@ var CheckboxItemElement2 = (0, import_styled_components17.default)(RadixContextM
|
|
|
2249
2252
|
var StyledItemIndicator2 = (0, import_styled_components17.default)(RadixContextMenu.ItemIndicator)(
|
|
2250
2253
|
styles.itemIndicatorStyle
|
|
2251
2254
|
);
|
|
2252
|
-
var ContextMenuItem2 = (0,
|
|
2255
|
+
var ContextMenuItem2 = (0, import_react35.memo)(function ContextMenuItem3({
|
|
2253
2256
|
value,
|
|
2254
2257
|
children,
|
|
2255
2258
|
onSelect,
|
|
@@ -2260,42 +2263,42 @@ var ContextMenuItem2 = (0, import_react34.memo)(function ContextMenuItem3({
|
|
|
2260
2263
|
items,
|
|
2261
2264
|
shortcut
|
|
2262
2265
|
}) {
|
|
2263
|
-
const handlePointerDown = (0,
|
|
2266
|
+
const handlePointerDown = (0, import_react35.useCallback)(
|
|
2264
2267
|
(event) => event.stopPropagation(),
|
|
2265
2268
|
[]
|
|
2266
2269
|
);
|
|
2267
|
-
const handleSelectItem = (0,
|
|
2270
|
+
const handleSelectItem = (0, import_react35.useCallback)(() => {
|
|
2268
2271
|
if (!value)
|
|
2269
2272
|
return;
|
|
2270
2273
|
onSelect(value);
|
|
2271
2274
|
}, [onSelect, value]);
|
|
2272
2275
|
if (checked) {
|
|
2273
|
-
return /* @__PURE__ */
|
|
2276
|
+
return /* @__PURE__ */ import_react35.default.createElement(
|
|
2274
2277
|
CheckboxItemElement2,
|
|
2275
2278
|
{
|
|
2276
2279
|
checked,
|
|
2277
2280
|
disabled,
|
|
2278
2281
|
onSelect: handleSelectItem
|
|
2279
2282
|
},
|
|
2280
|
-
/* @__PURE__ */
|
|
2283
|
+
/* @__PURE__ */ import_react35.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react35.default.createElement(import_noya_icons4.CheckIcon, null)),
|
|
2281
2284
|
children
|
|
2282
2285
|
);
|
|
2283
2286
|
}
|
|
2284
|
-
const element = /* @__PURE__ */
|
|
2287
|
+
const element = /* @__PURE__ */ import_react35.default.createElement(
|
|
2285
2288
|
ItemElement2,
|
|
2286
2289
|
{
|
|
2287
2290
|
disabled,
|
|
2288
2291
|
onSelect: handleSelectItem,
|
|
2289
2292
|
onPointerDown: handlePointerDown
|
|
2290
2293
|
},
|
|
2291
|
-
indented && /* @__PURE__ */
|
|
2292
|
-
icon && /* @__PURE__ */
|
|
2294
|
+
indented && /* @__PURE__ */ import_react35.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
|
|
2295
|
+
icon && /* @__PURE__ */ import_react35.default.createElement(import_react35.default.Fragment, null, icon, /* @__PURE__ */ import_react35.default.createElement(Spacer.Horizontal, { size: 8 })),
|
|
2293
2296
|
children,
|
|
2294
|
-
shortcut && /* @__PURE__ */
|
|
2295
|
-
items && items.length > 0 && /* @__PURE__ */
|
|
2297
|
+
shortcut && /* @__PURE__ */ import_react35.default.createElement(import_react35.default.Fragment, null, /* @__PURE__ */ import_react35.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react35.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react35.default.createElement(KeyboardShortcut, { shortcut })),
|
|
2298
|
+
items && items.length > 0 && /* @__PURE__ */ import_react35.default.createElement(import_react35.default.Fragment, null, /* @__PURE__ */ import_react35.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react35.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react35.default.createElement(import_noya_icons4.ChevronRightIcon, null))
|
|
2296
2299
|
);
|
|
2297
2300
|
if (items && items.length > 0) {
|
|
2298
|
-
return /* @__PURE__ */
|
|
2301
|
+
return /* @__PURE__ */ import_react35.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
|
|
2299
2302
|
} else {
|
|
2300
2303
|
return element;
|
|
2301
2304
|
}
|
|
@@ -2313,19 +2316,19 @@ function ContextMenuRoot({
|
|
|
2313
2316
|
const hasCheckedItem = items.some(
|
|
2314
2317
|
(item) => item !== SEPARATOR_ITEM && item.checked
|
|
2315
2318
|
);
|
|
2316
|
-
const keymap = (0,
|
|
2319
|
+
const keymap = (0, import_react35.useMemo)(
|
|
2317
2320
|
() => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
|
|
2318
2321
|
[isNested, items, onSelect, shouldBindKeyboardShortcuts]
|
|
2319
2322
|
);
|
|
2320
2323
|
(0, import_noya_keymap3.useKeyboardShortcuts)(keymap);
|
|
2321
|
-
const onPointerDown = (0,
|
|
2324
|
+
const onPointerDown = (0, import_react35.useCallback)((event) => {
|
|
2322
2325
|
event.preventDefault();
|
|
2323
2326
|
}, []);
|
|
2324
2327
|
const RootComponent = isNested ? RadixContextMenu.Sub : RadixContextMenu.Root;
|
|
2325
2328
|
const TriggerComponent = isNested ? RadixContextMenu.SubTrigger : RadixContextMenu.Trigger;
|
|
2326
2329
|
const ContentComponent = isNested ? SubContent4 : Content8;
|
|
2327
|
-
return /* @__PURE__ */
|
|
2328
|
-
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */
|
|
2330
|
+
return /* @__PURE__ */ import_react35.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react35.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react35.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react35.default.createElement(ContentComponent, null, items.map(
|
|
2331
|
+
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react35.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react35.default.createElement(
|
|
2329
2332
|
ContextMenuItem2,
|
|
2330
2333
|
{
|
|
2331
2334
|
key: item.value ?? index,
|
|
@@ -2342,26 +2345,26 @@ function ContextMenuRoot({
|
|
|
2342
2345
|
)
|
|
2343
2346
|
))));
|
|
2344
2347
|
}
|
|
2345
|
-
var ContextMenu = (0,
|
|
2348
|
+
var ContextMenu = (0, import_react35.memo)(ContextMenuRoot);
|
|
2346
2349
|
|
|
2347
2350
|
// src/components/Divider.tsx
|
|
2348
|
-
var
|
|
2351
|
+
var import_react36 = __toESM(require("react"));
|
|
2349
2352
|
var import_styled_components18 = __toESM(require("styled-components"));
|
|
2350
2353
|
var DividerContainer = import_styled_components18.default.div(({ theme, variant = "normal", orientation, overflow = 0 }) => ({
|
|
2351
2354
|
...orientation === "horizontal" ? { height: "1px", minHeight: "1px", margin: `0px -${overflow}px` } : { width: "1px", minWidth: "1px", margin: `-${overflow}px 0px` },
|
|
2352
2355
|
background: variant === "strong" ? theme.colors.dividerStrong : variant === "subtle" ? theme.colors.dividerSubtle : theme.colors.divider,
|
|
2353
2356
|
alignSelf: "stretch"
|
|
2354
2357
|
}));
|
|
2355
|
-
var Divider = (0,
|
|
2356
|
-
return /* @__PURE__ */
|
|
2358
|
+
var Divider = (0, import_react36.memo)(function Divider2(props) {
|
|
2359
|
+
return /* @__PURE__ */ import_react36.default.createElement(DividerContainer, { orientation: "horizontal", ...props });
|
|
2357
2360
|
});
|
|
2358
|
-
var DividerVertical = (0,
|
|
2359
|
-
return /* @__PURE__ */
|
|
2361
|
+
var DividerVertical = (0, import_react36.memo)(function DividerVertical2(props) {
|
|
2362
|
+
return /* @__PURE__ */ import_react36.default.createElement(DividerContainer, { orientation: "vertical", ...props });
|
|
2360
2363
|
});
|
|
2361
2364
|
|
|
2362
2365
|
// src/components/DraggableMenuButton.tsx
|
|
2363
2366
|
var import_noya_icons5 = require("@noya-app/noya-icons");
|
|
2364
|
-
var
|
|
2367
|
+
var import_react37 = __toESM(require("react"));
|
|
2365
2368
|
var import_styled_components19 = __toESM(require("styled-components"));
|
|
2366
2369
|
var DotButtonElement = import_styled_components19.default.div(({ theme }) => ({
|
|
2367
2370
|
cursor: "pointer",
|
|
@@ -2381,15 +2384,15 @@ var TriggerElement = import_styled_components19.default.div({
|
|
|
2381
2384
|
pointerEvents: "none",
|
|
2382
2385
|
height: "15px"
|
|
2383
2386
|
});
|
|
2384
|
-
var DraggableMenuButton = (0,
|
|
2387
|
+
var DraggableMenuButton = (0, import_react37.memo)(function DraggableMenuButton2({
|
|
2385
2388
|
items,
|
|
2386
2389
|
onSelect,
|
|
2387
2390
|
isVisible = true
|
|
2388
2391
|
}) {
|
|
2389
2392
|
const color = useDesignSystemTheme().colors.icon;
|
|
2390
|
-
const [open, setOpen] = (0,
|
|
2391
|
-
const [downPosition, setDownPosition] =
|
|
2392
|
-
const handlePointerDownCapture = (0,
|
|
2393
|
+
const [open, setOpen] = (0, import_react37.useState)(false);
|
|
2394
|
+
const [downPosition, setDownPosition] = import_react37.default.useState(null);
|
|
2395
|
+
const handlePointerDownCapture = (0, import_react37.useCallback)(
|
|
2393
2396
|
(event) => {
|
|
2394
2397
|
if (open) {
|
|
2395
2398
|
setDownPosition(null);
|
|
@@ -2402,7 +2405,7 @@ var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2
|
|
|
2402
2405
|
},
|
|
2403
2406
|
[open]
|
|
2404
2407
|
);
|
|
2405
|
-
const handlePointerUp = (0,
|
|
2408
|
+
const handlePointerUp = (0, import_react37.useCallback)(
|
|
2406
2409
|
(event) => {
|
|
2407
2410
|
if (open || !downPosition) {
|
|
2408
2411
|
setDownPosition(null);
|
|
@@ -2418,14 +2421,14 @@ var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2
|
|
|
2418
2421
|
},
|
|
2419
2422
|
[downPosition, open]
|
|
2420
2423
|
);
|
|
2421
|
-
const handleOpenChange = (0,
|
|
2424
|
+
const handleOpenChange = (0, import_react37.useCallback)(
|
|
2422
2425
|
(isOpen) => {
|
|
2423
2426
|
if (!isOpen)
|
|
2424
2427
|
setOpen(false);
|
|
2425
2428
|
},
|
|
2426
2429
|
[setOpen]
|
|
2427
2430
|
);
|
|
2428
|
-
return /* @__PURE__ */
|
|
2431
|
+
return /* @__PURE__ */ import_react37.default.createElement(
|
|
2429
2432
|
DotButtonElement,
|
|
2430
2433
|
{
|
|
2431
2434
|
onPointerDownCapture: handlePointerDownCapture,
|
|
@@ -2435,7 +2438,7 @@ var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2
|
|
|
2435
2438
|
event.preventDefault();
|
|
2436
2439
|
}
|
|
2437
2440
|
},
|
|
2438
|
-
items && onSelect ? /* @__PURE__ */
|
|
2441
|
+
items && onSelect ? /* @__PURE__ */ import_react37.default.createElement(
|
|
2439
2442
|
DropdownMenu,
|
|
2440
2443
|
{
|
|
2441
2444
|
open,
|
|
@@ -2444,13 +2447,13 @@ var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2
|
|
|
2444
2447
|
onSelect,
|
|
2445
2448
|
shouldBindKeyboardShortcuts: false
|
|
2446
2449
|
},
|
|
2447
|
-
/* @__PURE__ */
|
|
2450
|
+
/* @__PURE__ */ import_react37.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react37.default.createElement(
|
|
2448
2451
|
import_noya_icons5.DragHandleDots2Icon,
|
|
2449
2452
|
{
|
|
2450
2453
|
color: isVisible || open ? color : "transparent"
|
|
2451
2454
|
}
|
|
2452
2455
|
))
|
|
2453
|
-
) : /* @__PURE__ */
|
|
2456
|
+
) : /* @__PURE__ */ import_react37.default.createElement(
|
|
2454
2457
|
import_noya_icons5.DragHandleDots2Icon,
|
|
2455
2458
|
{
|
|
2456
2459
|
color: isVisible || open ? color : "transparent"
|
|
@@ -2460,7 +2463,7 @@ var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2
|
|
|
2460
2463
|
});
|
|
2461
2464
|
|
|
2462
2465
|
// src/components/FillInputField.tsx
|
|
2463
|
-
var
|
|
2466
|
+
var import_react41 = __toESM(require("react"));
|
|
2464
2467
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
2465
2468
|
|
|
2466
2469
|
// ../noya-file-format/src/types.ts
|
|
@@ -2786,26 +2789,26 @@ var ClassValue = /* @__PURE__ */ ((ClassValue2) => {
|
|
|
2786
2789
|
})(ClassValue || {});
|
|
2787
2790
|
|
|
2788
2791
|
// src/components/FillPreviewBackground.tsx
|
|
2789
|
-
var
|
|
2792
|
+
var import_react40 = __toESM(require("react"));
|
|
2790
2793
|
var import_styled_components20 = __toESM(require("styled-components"));
|
|
2791
2794
|
|
|
2792
2795
|
// src/contexts/ImageDataContext.tsx
|
|
2793
|
-
var
|
|
2794
|
-
var ImageDataContext = (0,
|
|
2796
|
+
var import_react38 = __toESM(require("react"));
|
|
2797
|
+
var ImageDataContext = (0, import_react38.createContext)(
|
|
2795
2798
|
void 0
|
|
2796
2799
|
);
|
|
2797
|
-
var ImageDataProvider = (0,
|
|
2800
|
+
var ImageDataProvider = (0, import_react38.memo)(function ImageDataProvider2({
|
|
2798
2801
|
children,
|
|
2799
2802
|
getImageData
|
|
2800
2803
|
}) {
|
|
2801
|
-
const contextValue = (0,
|
|
2804
|
+
const contextValue = (0, import_react38.useMemo)(
|
|
2802
2805
|
() => ({ getImageData: getImageData ?? (() => void 0) }),
|
|
2803
2806
|
[getImageData]
|
|
2804
2807
|
);
|
|
2805
|
-
return /* @__PURE__ */
|
|
2808
|
+
return /* @__PURE__ */ import_react38.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
|
|
2806
2809
|
});
|
|
2807
2810
|
function useImageData(ref) {
|
|
2808
|
-
const value = (0,
|
|
2811
|
+
const value = (0, import_react38.useContext)(ImageDataContext);
|
|
2809
2812
|
if (!value) {
|
|
2810
2813
|
throw new Error("Missing ImageDataProvider");
|
|
2811
2814
|
}
|
|
@@ -2813,15 +2816,15 @@ function useImageData(ref) {
|
|
|
2813
2816
|
}
|
|
2814
2817
|
|
|
2815
2818
|
// src/hooks/useObjectURL.ts
|
|
2816
|
-
var
|
|
2819
|
+
var import_react39 = require("react");
|
|
2817
2820
|
function useObjectURL(object) {
|
|
2818
|
-
const objectURL = (0,
|
|
2821
|
+
const objectURL = (0, import_react39.useMemo)(() => {
|
|
2819
2822
|
if (object instanceof Blob)
|
|
2820
2823
|
return URL.createObjectURL(object);
|
|
2821
2824
|
const bytes = object instanceof Uint8Array ? object : object !== void 0 ? new Uint8Array(object) : new Uint8Array();
|
|
2822
2825
|
return URL.createObjectURL(new Blob([bytes]));
|
|
2823
2826
|
}, [object]);
|
|
2824
|
-
(0,
|
|
2827
|
+
(0, import_react39.useLayoutEffect)(() => {
|
|
2825
2828
|
return () => URL.revokeObjectURL(objectURL);
|
|
2826
2829
|
}, [objectURL]);
|
|
2827
2830
|
return objectURL;
|
|
@@ -2877,9 +2880,9 @@ var Background = import_styled_components20.default.span(({ background }) => ({
|
|
|
2877
2880
|
position: "absolute",
|
|
2878
2881
|
inset: 0
|
|
2879
2882
|
}));
|
|
2880
|
-
var HorizontalDotsBackground = (0,
|
|
2883
|
+
var HorizontalDotsBackground = (0, import_react40.memo)(function HorizontalDotsBackground2() {
|
|
2881
2884
|
const { inputBackground, placeholderDots } = (0, import_styled_components20.useTheme)().colors;
|
|
2882
|
-
const background = (0,
|
|
2885
|
+
const background = (0, import_react40.useMemo)(
|
|
2883
2886
|
() => [
|
|
2884
2887
|
`center url("data:image/svg+xml;utf8,${dotsHorizontalSvg(
|
|
2885
2888
|
placeholderDots
|
|
@@ -2888,7 +2891,7 @@ var HorizontalDotsBackground = (0, import_react39.memo)(function HorizontalDotsB
|
|
|
2888
2891
|
].join(","),
|
|
2889
2892
|
[inputBackground, placeholderDots]
|
|
2890
2893
|
);
|
|
2891
|
-
return /* @__PURE__ */
|
|
2894
|
+
return /* @__PURE__ */ import_react40.default.createElement(Background, { background });
|
|
2892
2895
|
});
|
|
2893
2896
|
function getPatternSizeAndPosition(fillType, tileScale) {
|
|
2894
2897
|
switch (fillType) {
|
|
@@ -2902,7 +2905,7 @@ function getPatternSizeAndPosition(fillType, tileScale) {
|
|
|
2902
2905
|
return "center / 100% 100%";
|
|
2903
2906
|
}
|
|
2904
2907
|
}
|
|
2905
|
-
var PatternPreviewBackground = (0,
|
|
2908
|
+
var PatternPreviewBackground = (0, import_react40.memo)(function PatternPreviewBackground2({
|
|
2906
2909
|
fillType,
|
|
2907
2910
|
tileScale,
|
|
2908
2911
|
imageRef
|
|
@@ -2910,7 +2913,7 @@ var PatternPreviewBackground = (0, import_react39.memo)(function PatternPreviewB
|
|
|
2910
2913
|
const image = useImageData(imageRef);
|
|
2911
2914
|
const url = useObjectURL(image);
|
|
2912
2915
|
const size2 = getPatternSizeAndPosition(fillType, tileScale);
|
|
2913
|
-
const background = (0,
|
|
2916
|
+
const background = (0, import_react40.useMemo)(
|
|
2914
2917
|
() => [
|
|
2915
2918
|
size2,
|
|
2916
2919
|
`url(${url})`,
|
|
@@ -2918,37 +2921,37 @@ var PatternPreviewBackground = (0, import_react39.memo)(function PatternPreviewB
|
|
|
2918
2921
|
].join(" "),
|
|
2919
2922
|
[fillType, size2, url]
|
|
2920
2923
|
);
|
|
2921
|
-
return /* @__PURE__ */
|
|
2924
|
+
return /* @__PURE__ */ import_react40.default.createElement(Background, { background });
|
|
2922
2925
|
});
|
|
2923
|
-
var ColorPreviewBackground = (0,
|
|
2926
|
+
var ColorPreviewBackground = (0, import_react40.memo)(function ColorPreviewBackground2({
|
|
2924
2927
|
color
|
|
2925
2928
|
}) {
|
|
2926
|
-
const background = (0,
|
|
2927
|
-
return /* @__PURE__ */
|
|
2929
|
+
const background = (0, import_react40.useMemo)(() => sketchColorToRgbaString(color), [color]);
|
|
2930
|
+
return /* @__PURE__ */ import_react40.default.createElement(Background, { background });
|
|
2928
2931
|
});
|
|
2929
|
-
var GradientPreviewBackground = (0,
|
|
2932
|
+
var GradientPreviewBackground = (0, import_react40.memo)(function GradientPreviewBackground2({
|
|
2930
2933
|
gradient
|
|
2931
2934
|
}) {
|
|
2932
|
-
const background = (0,
|
|
2935
|
+
const background = (0, import_react40.useMemo)(
|
|
2933
2936
|
() => getGradientBackground(gradient.stops, gradient.gradientType, 180),
|
|
2934
2937
|
[gradient.gradientType, gradient.stops]
|
|
2935
2938
|
);
|
|
2936
|
-
return /* @__PURE__ */
|
|
2939
|
+
return /* @__PURE__ */ import_react40.default.createElement(Background, { background });
|
|
2937
2940
|
});
|
|
2938
|
-
var FillPreviewBackground = (0,
|
|
2941
|
+
var FillPreviewBackground = (0, import_react40.memo)(function FillPreviewBackground2({
|
|
2939
2942
|
value
|
|
2940
2943
|
}) {
|
|
2941
2944
|
if (!value)
|
|
2942
|
-
return /* @__PURE__ */
|
|
2945
|
+
return /* @__PURE__ */ import_react40.default.createElement(HorizontalDotsBackground, null);
|
|
2943
2946
|
switch (value._class) {
|
|
2944
2947
|
case "color":
|
|
2945
|
-
return /* @__PURE__ */
|
|
2948
|
+
return /* @__PURE__ */ import_react40.default.createElement(ColorPreviewBackground, { color: value });
|
|
2946
2949
|
case "gradient":
|
|
2947
|
-
return /* @__PURE__ */
|
|
2950
|
+
return /* @__PURE__ */ import_react40.default.createElement(GradientPreviewBackground, { gradient: value });
|
|
2948
2951
|
case "pattern":
|
|
2949
2952
|
if (!value.image)
|
|
2950
2953
|
return null;
|
|
2951
|
-
return /* @__PURE__ */
|
|
2954
|
+
return /* @__PURE__ */ import_react40.default.createElement(
|
|
2952
2955
|
PatternPreviewBackground,
|
|
2953
2956
|
{
|
|
2954
2957
|
fillType: value.patternFillType,
|
|
@@ -2978,16 +2981,16 @@ var Container = import_styled_components21.default.button(
|
|
|
2978
2981
|
flex
|
|
2979
2982
|
})
|
|
2980
2983
|
);
|
|
2981
|
-
var FillInputField = (0,
|
|
2982
|
-
(0,
|
|
2983
|
-
return /* @__PURE__ */
|
|
2984
|
+
var FillInputField = (0, import_react41.memo)(
|
|
2985
|
+
(0, import_react41.forwardRef)(function FillInputField2({ id, value, ...rest }, ref) {
|
|
2986
|
+
return /* @__PURE__ */ import_react41.default.createElement(Container, { ref, id, ...rest }, /* @__PURE__ */ import_react41.default.createElement(FillPreviewBackground, { value }));
|
|
2984
2987
|
})
|
|
2985
2988
|
);
|
|
2986
2989
|
|
|
2987
2990
|
// src/components/GradientPicker.tsx
|
|
2988
2991
|
var import_noya_colorpicker2 = require("@noya-app/noya-colorpicker");
|
|
2989
|
-
var
|
|
2990
|
-
var GradientPicker = (0,
|
|
2992
|
+
var import_react42 = __toESM(require("react"));
|
|
2993
|
+
var GradientPicker = (0, import_react42.memo)(function GradientPicker2({
|
|
2991
2994
|
value,
|
|
2992
2995
|
selectedStop,
|
|
2993
2996
|
onChangeColor,
|
|
@@ -2996,7 +2999,7 @@ var GradientPicker = (0, import_react41.memo)(function GradientPicker2({
|
|
|
2996
2999
|
onDelete,
|
|
2997
3000
|
onSelectStop
|
|
2998
3001
|
}) {
|
|
2999
|
-
const colorModel = (0,
|
|
3002
|
+
const colorModel = (0, import_react42.useMemo)(
|
|
3000
3003
|
() => ({
|
|
3001
3004
|
defaultColor: { r: 0, g: 0, b: 0, a: 1 },
|
|
3002
3005
|
toHsva: import_noya_colorpicker2.rgbaToHsva,
|
|
@@ -3005,30 +3008,30 @@ var GradientPicker = (0, import_react41.memo)(function GradientPicker2({
|
|
|
3005
3008
|
}),
|
|
3006
3009
|
[]
|
|
3007
3010
|
);
|
|
3008
|
-
const rgbaColor = (0,
|
|
3011
|
+
const rgbaColor = (0, import_react42.useMemo)(
|
|
3009
3012
|
() => sketchColorToRgba(value[selectedStop].color),
|
|
3010
3013
|
[value, selectedStop]
|
|
3011
3014
|
);
|
|
3012
|
-
const handleChangeColor = (0,
|
|
3015
|
+
const handleChangeColor = (0, import_react42.useCallback)(
|
|
3013
3016
|
(value2) => {
|
|
3014
3017
|
onChangeColor(rgbaToSketchColor(value2));
|
|
3015
3018
|
},
|
|
3016
3019
|
[onChangeColor]
|
|
3017
3020
|
);
|
|
3018
|
-
const handleAddGradientStop = (0,
|
|
3021
|
+
const handleAddGradientStop = (0, import_react42.useCallback)(
|
|
3019
3022
|
(value2, position) => {
|
|
3020
3023
|
onAdd(rgbaToSketchColor(value2), position);
|
|
3021
3024
|
},
|
|
3022
3025
|
[onAdd]
|
|
3023
3026
|
);
|
|
3024
|
-
return /* @__PURE__ */
|
|
3027
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3025
3028
|
import_noya_colorpicker2.ColorPicker,
|
|
3026
3029
|
{
|
|
3027
3030
|
onChange: handleChangeColor,
|
|
3028
3031
|
colorModel,
|
|
3029
3032
|
color: rgbaColor
|
|
3030
3033
|
},
|
|
3031
|
-
/* @__PURE__ */
|
|
3034
|
+
/* @__PURE__ */ import_react42.default.createElement(
|
|
3032
3035
|
import_noya_colorpicker2.Gradient,
|
|
3033
3036
|
{
|
|
3034
3037
|
gradients: value,
|
|
@@ -3039,12 +3042,12 @@ var GradientPicker = (0, import_react41.memo)(function GradientPicker2({
|
|
|
3039
3042
|
onDelete
|
|
3040
3043
|
}
|
|
3041
3044
|
),
|
|
3042
|
-
/* @__PURE__ */
|
|
3043
|
-
/* @__PURE__ */
|
|
3044
|
-
/* @__PURE__ */
|
|
3045
|
-
/* @__PURE__ */
|
|
3046
|
-
/* @__PURE__ */
|
|
3047
|
-
/* @__PURE__ */
|
|
3045
|
+
/* @__PURE__ */ import_react42.default.createElement(Spacer.Vertical, { size: 10 }),
|
|
3046
|
+
/* @__PURE__ */ import_react42.default.createElement(import_noya_colorpicker2.Saturation, null),
|
|
3047
|
+
/* @__PURE__ */ import_react42.default.createElement(Spacer.Vertical, { size: 12 }),
|
|
3048
|
+
/* @__PURE__ */ import_react42.default.createElement(import_noya_colorpicker2.Hue, null),
|
|
3049
|
+
/* @__PURE__ */ import_react42.default.createElement(Spacer.Vertical, { size: 5 }),
|
|
3050
|
+
/* @__PURE__ */ import_react42.default.createElement(import_noya_colorpicker2.Alpha, null)
|
|
3048
3051
|
);
|
|
3049
3052
|
});
|
|
3050
3053
|
|
|
@@ -3076,12 +3079,12 @@ var Grid = import_styled_components22.default.div((props) => ({
|
|
|
3076
3079
|
}));
|
|
3077
3080
|
|
|
3078
3081
|
// src/components/GridView.tsx
|
|
3079
|
-
var
|
|
3082
|
+
var import_react44 = __toESM(require("react"));
|
|
3080
3083
|
var import_styled_components24 = __toESM(require("styled-components"));
|
|
3081
3084
|
|
|
3082
3085
|
// src/components/ScrollArea.tsx
|
|
3083
3086
|
var RadixScrollArea = __toESM(require("@radix-ui/react-scroll-area"));
|
|
3084
|
-
var
|
|
3087
|
+
var import_react43 = __toESM(require("react"));
|
|
3085
3088
|
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3086
3089
|
var SCROLLBAR_SIZE = 10;
|
|
3087
3090
|
var StyledViewport = (0, import_styled_components23.default)(RadixScrollArea.Viewport)({
|
|
@@ -3109,18 +3112,18 @@ var Container2 = import_styled_components23.default.div({
|
|
|
3109
3112
|
flex: "1 1 0px",
|
|
3110
3113
|
minHeight: 0
|
|
3111
3114
|
});
|
|
3112
|
-
var ScrollArea = (0,
|
|
3113
|
-
const [scrollElementRef, setScrollElementRef] = (0,
|
|
3114
|
-
return /* @__PURE__ */
|
|
3115
|
+
var ScrollArea = (0, import_react43.memo)(function ScrollArea2({ children }) {
|
|
3116
|
+
const [scrollElementRef, setScrollElementRef] = (0, import_react43.useState)(null);
|
|
3117
|
+
return /* @__PURE__ */ import_react43.default.createElement(Container2, null, /* @__PURE__ */ import_react43.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react43.default.createElement(
|
|
3115
3118
|
StyledViewport,
|
|
3116
3119
|
{
|
|
3117
|
-
ref: (0,
|
|
3120
|
+
ref: (0, import_react43.useCallback)(
|
|
3118
3121
|
(ref) => setScrollElementRef(ref),
|
|
3119
3122
|
[]
|
|
3120
3123
|
)
|
|
3121
3124
|
},
|
|
3122
3125
|
typeof children === "function" ? scrollElementRef ? children(scrollElementRef) : null : children
|
|
3123
|
-
), /* @__PURE__ */
|
|
3126
|
+
), /* @__PURE__ */ import_react43.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react43.default.createElement(StyledThumb, { className: "scroll-component" }))));
|
|
3124
3127
|
});
|
|
3125
3128
|
|
|
3126
3129
|
// src/components/GridView.tsx
|
|
@@ -3300,7 +3303,7 @@ var Shimmer = import_styled_components24.default.div`
|
|
|
3300
3303
|
align-items: end;
|
|
3301
3304
|
padding: 4px;
|
|
3302
3305
|
`;
|
|
3303
|
-
var GridViewItem = (0,
|
|
3306
|
+
var GridViewItem = (0, import_react44.forwardRef)(function GridViewItem2({
|
|
3304
3307
|
id,
|
|
3305
3308
|
title,
|
|
3306
3309
|
subtitle,
|
|
@@ -3316,15 +3319,15 @@ var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
|
|
|
3316
3319
|
onContextMenu,
|
|
3317
3320
|
style: style3
|
|
3318
3321
|
}, forwardedRef) {
|
|
3319
|
-
const [hovered, setHovered] =
|
|
3322
|
+
const [hovered, setHovered] = import_react44.default.useState(false);
|
|
3320
3323
|
const { hoverProps } = useHover({
|
|
3321
3324
|
onHoverChange: (isHovering) => {
|
|
3322
3325
|
onHoverChange?.(isHovering);
|
|
3323
3326
|
setHovered(isHovering);
|
|
3324
3327
|
}
|
|
3325
3328
|
});
|
|
3326
|
-
const { textPosition, bordered, disabled } = (0,
|
|
3327
|
-
const handleClick = (0,
|
|
3329
|
+
const { textPosition, bordered, disabled } = (0, import_react44.useContext)(GridViewContext);
|
|
3330
|
+
const handleClick = (0, import_react44.useCallback)(
|
|
3328
3331
|
(event) => {
|
|
3329
3332
|
event.stopPropagation();
|
|
3330
3333
|
event.preventDefault();
|
|
@@ -3333,7 +3336,7 @@ var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
|
|
|
3333
3336
|
},
|
|
3334
3337
|
[onClick, onPress]
|
|
3335
3338
|
);
|
|
3336
|
-
const handleKeyDown = (0,
|
|
3339
|
+
const handleKeyDown = (0, import_react44.useCallback)(
|
|
3337
3340
|
(event) => {
|
|
3338
3341
|
if (event.key === "Enter" || event.key === " ") {
|
|
3339
3342
|
event.stopPropagation();
|
|
@@ -3345,7 +3348,7 @@ var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
|
|
|
3345
3348
|
},
|
|
3346
3349
|
[onPress]
|
|
3347
3350
|
);
|
|
3348
|
-
let element = /* @__PURE__ */
|
|
3351
|
+
let element = /* @__PURE__ */ import_react44.default.createElement(
|
|
3349
3352
|
ItemContainer,
|
|
3350
3353
|
{
|
|
3351
3354
|
id,
|
|
@@ -3354,7 +3357,7 @@ var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
|
|
|
3354
3357
|
tabIndex: disabled ? void 0 : 0,
|
|
3355
3358
|
onKeyDown: handleKeyDown
|
|
3356
3359
|
},
|
|
3357
|
-
/* @__PURE__ */
|
|
3360
|
+
/* @__PURE__ */ import_react44.default.createElement(
|
|
3358
3361
|
ContentContainer,
|
|
3359
3362
|
{
|
|
3360
3363
|
disabled,
|
|
@@ -3368,25 +3371,25 @@ var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
|
|
|
3368
3371
|
},
|
|
3369
3372
|
children
|
|
3370
3373
|
),
|
|
3371
|
-
textPosition === "below" && /* @__PURE__ */
|
|
3372
|
-
textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */
|
|
3373
|
-
loading && /* @__PURE__ */
|
|
3374
|
+
textPosition === "below" && /* @__PURE__ */ import_react44.default.createElement(import_react44.default.Fragment, null, /* @__PURE__ */ import_react44.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react44.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react44.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
|
|
3375
|
+
textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react44.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react44.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react44.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
|
|
3376
|
+
loading && /* @__PURE__ */ import_react44.default.createElement(Shimmer, null, /* @__PURE__ */ import_react44.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
|
|
3374
3377
|
);
|
|
3375
3378
|
if (menuItems && onSelectMenuItem) {
|
|
3376
|
-
element = /* @__PURE__ */
|
|
3379
|
+
element = /* @__PURE__ */ import_react44.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
|
|
3377
3380
|
}
|
|
3378
3381
|
if (textPosition === "toolip") {
|
|
3379
|
-
element = /* @__PURE__ */
|
|
3382
|
+
element = /* @__PURE__ */ import_react44.default.createElement(
|
|
3380
3383
|
Tooltip,
|
|
3381
3384
|
{
|
|
3382
|
-
content: /* @__PURE__ */
|
|
3385
|
+
content: /* @__PURE__ */ import_react44.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react44.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react44.default.createElement(ItemDescription, { showBackground: false }, subtitle))
|
|
3383
3386
|
},
|
|
3384
3387
|
element
|
|
3385
3388
|
);
|
|
3386
3389
|
}
|
|
3387
3390
|
return element;
|
|
3388
3391
|
});
|
|
3389
|
-
var GridViewContext = (0,
|
|
3392
|
+
var GridViewContext = (0, import_react44.createContext)({
|
|
3390
3393
|
size: "small",
|
|
3391
3394
|
textPosition: "below",
|
|
3392
3395
|
bordered: false,
|
|
@@ -3401,7 +3404,7 @@ function GridViewRoot({
|
|
|
3401
3404
|
bordered = false,
|
|
3402
3405
|
disabled = false
|
|
3403
3406
|
}) {
|
|
3404
|
-
const handleClick = (0,
|
|
3407
|
+
const handleClick = (0, import_react44.useCallback)(
|
|
3405
3408
|
(event) => {
|
|
3406
3409
|
event.stopPropagation();
|
|
3407
3410
|
event.preventDefault();
|
|
@@ -3409,7 +3412,7 @@ function GridViewRoot({
|
|
|
3409
3412
|
},
|
|
3410
3413
|
[onClick]
|
|
3411
3414
|
);
|
|
3412
|
-
const contextValue = (0,
|
|
3415
|
+
const contextValue = (0, import_react44.useMemo)(
|
|
3413
3416
|
() => ({
|
|
3414
3417
|
size: size2,
|
|
3415
3418
|
textPosition,
|
|
@@ -3418,33 +3421,33 @@ function GridViewRoot({
|
|
|
3418
3421
|
}),
|
|
3419
3422
|
[bordered, disabled, size2, textPosition]
|
|
3420
3423
|
);
|
|
3421
|
-
return /* @__PURE__ */
|
|
3424
|
+
return /* @__PURE__ */ import_react44.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react44.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react44.default.createElement(ScrollArea, null, children) : children));
|
|
3422
3425
|
}
|
|
3423
3426
|
function GridViewSection({
|
|
3424
3427
|
children,
|
|
3425
3428
|
padding = "20px"
|
|
3426
3429
|
}) {
|
|
3427
|
-
const { size: size2 } = (0,
|
|
3428
|
-
return /* @__PURE__ */
|
|
3430
|
+
const { size: size2 } = (0, import_react44.useContext)(GridViewContext);
|
|
3431
|
+
return /* @__PURE__ */ import_react44.default.createElement(Grid2, { size: size2, padding }, children);
|
|
3429
3432
|
}
|
|
3430
3433
|
function GridViewSectionHeader({ title }) {
|
|
3431
3434
|
const grouped = title.split("/");
|
|
3432
|
-
return /* @__PURE__ */
|
|
3433
|
-
grouped.map((title2, index) => /* @__PURE__ */
|
|
3434
|
-
/* @__PURE__ */
|
|
3435
|
+
return /* @__PURE__ */ import_react44.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react44.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
|
|
3436
|
+
grouped.map((title2, index) => /* @__PURE__ */ import_react44.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
|
|
3437
|
+
/* @__PURE__ */ import_react44.default.createElement(SectionTitle, null, " / ")
|
|
3435
3438
|
));
|
|
3436
3439
|
}
|
|
3437
3440
|
var GridView;
|
|
3438
3441
|
((GridView2) => {
|
|
3439
|
-
GridView2.Root = (0,
|
|
3440
|
-
GridView2.Item = (0,
|
|
3441
|
-
GridView2.Section = (0,
|
|
3442
|
-
GridView2.SectionHeader = (0,
|
|
3442
|
+
GridView2.Root = (0, import_react44.memo)(GridViewRoot);
|
|
3443
|
+
GridView2.Item = (0, import_react44.memo)(GridViewItem);
|
|
3444
|
+
GridView2.Section = (0, import_react44.memo)(GridViewSection);
|
|
3445
|
+
GridView2.SectionHeader = (0, import_react44.memo)(GridViewSectionHeader);
|
|
3443
3446
|
})(GridView || (GridView = {}));
|
|
3444
3447
|
|
|
3445
3448
|
// src/components/InputFieldWithCompletions.tsx
|
|
3446
3449
|
var import_noya_utils8 = require("@noya-app/noya-utils");
|
|
3447
|
-
var
|
|
3450
|
+
var import_react48 = __toESM(require("react"));
|
|
3448
3451
|
var import_styled_components27 = __toESM(require("styled-components"));
|
|
3449
3452
|
|
|
3450
3453
|
// src/utils/fuzzyScorer.ts
|
|
@@ -3521,7 +3524,7 @@ function mergeRanges(ranges) {
|
|
|
3521
3524
|
// src/components/ListView.tsx
|
|
3522
3525
|
var import_noya_utils7 = require("@noya-app/noya-utils");
|
|
3523
3526
|
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
|
|
3524
|
-
var
|
|
3527
|
+
var import_react46 = __toESM(require("react"));
|
|
3525
3528
|
var import_react_virtualized = require("react-virtualized");
|
|
3526
3529
|
var import_react_window = require("react-window");
|
|
3527
3530
|
var import_styled_components25 = __toESM(require("styled-components"));
|
|
@@ -3552,7 +3555,7 @@ function mergeEventHandlers(...handlerMaps) {
|
|
|
3552
3555
|
// src/components/Sortable.tsx
|
|
3553
3556
|
var import_core = require("@dnd-kit/core");
|
|
3554
3557
|
var import_sortable = require("@dnd-kit/sortable");
|
|
3555
|
-
var
|
|
3558
|
+
var import_react45 = __toESM(require("react"));
|
|
3556
3559
|
var import_react_dom = require("react-dom");
|
|
3557
3560
|
var normalizeListDestinationIndex = (index, position) => {
|
|
3558
3561
|
return position === "above" ? index : index + 1;
|
|
@@ -3566,7 +3569,7 @@ var defaultAcceptsDrop = (sourceIndex, destinationIndex, position) => {
|
|
|
3566
3569
|
}
|
|
3567
3570
|
return true;
|
|
3568
3571
|
};
|
|
3569
|
-
var SortableItemContext = (0,
|
|
3572
|
+
var SortableItemContext = (0, import_react45.createContext)({
|
|
3570
3573
|
keys: [],
|
|
3571
3574
|
position: { x: 0, y: 0 },
|
|
3572
3575
|
acceptsDrop: defaultAcceptsDrop,
|
|
@@ -3588,7 +3591,7 @@ function SortableItem({
|
|
|
3588
3591
|
disabled,
|
|
3589
3592
|
children
|
|
3590
3593
|
}) {
|
|
3591
|
-
const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0,
|
|
3594
|
+
const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react45.useContext)(SortableItemContext);
|
|
3592
3595
|
const sortable = (0, import_sortable.useSortable)({ id, disabled });
|
|
3593
3596
|
const {
|
|
3594
3597
|
active,
|
|
@@ -3608,7 +3611,7 @@ function SortableItem({
|
|
|
3608
3611
|
const eventY = activatorEvent?.clientY ?? 0;
|
|
3609
3612
|
const offsetLeft = eventX + position.x;
|
|
3610
3613
|
const offsetTop = eventY + position.y;
|
|
3611
|
-
const ref = (0,
|
|
3614
|
+
const ref = (0, import_react45.useCallback)((node) => setNodeRef(node), [setNodeRef]);
|
|
3612
3615
|
return children({
|
|
3613
3616
|
ref,
|
|
3614
3617
|
...attributes,
|
|
@@ -3639,22 +3642,22 @@ function SortableRoot({
|
|
|
3639
3642
|
}
|
|
3640
3643
|
})
|
|
3641
3644
|
);
|
|
3642
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
3643
|
-
const activatorEvent = (0,
|
|
3644
|
-
const setActivatorEvent = (0,
|
|
3645
|
+
const [activeIndex, setActiveIndex] = (0, import_react45.useState)();
|
|
3646
|
+
const activatorEvent = (0, import_react45.useRef)(null);
|
|
3647
|
+
const setActivatorEvent = (0, import_react45.useCallback)((event) => {
|
|
3645
3648
|
activatorEvent.current = event;
|
|
3646
3649
|
}, []);
|
|
3647
|
-
const [position, setPosition] = (0,
|
|
3648
|
-
const handleDragStart = (0,
|
|
3650
|
+
const [position, setPosition] = (0, import_react45.useState)({ x: 0, y: 0 });
|
|
3651
|
+
const handleDragStart = (0, import_react45.useCallback)(
|
|
3649
3652
|
(event) => {
|
|
3650
3653
|
setActiveIndex(keys.indexOf(event.active.id));
|
|
3651
3654
|
},
|
|
3652
3655
|
[keys]
|
|
3653
3656
|
);
|
|
3654
|
-
const handleDragMove = (0,
|
|
3657
|
+
const handleDragMove = (0, import_react45.useCallback)((event) => {
|
|
3655
3658
|
setPosition({ ...event.delta });
|
|
3656
3659
|
}, []);
|
|
3657
|
-
const handleDragEnd = (0,
|
|
3660
|
+
const handleDragEnd = (0, import_react45.useCallback)(
|
|
3658
3661
|
(event) => {
|
|
3659
3662
|
const { active, over } = event;
|
|
3660
3663
|
setActiveIndex(void 0);
|
|
@@ -3681,10 +3684,10 @@ function SortableRoot({
|
|
|
3681
3684
|
},
|
|
3682
3685
|
[acceptsDrop, axis, keys, onMoveItem, position.x, position.y]
|
|
3683
3686
|
);
|
|
3684
|
-
return /* @__PURE__ */
|
|
3687
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
3685
3688
|
SortableItemContext.Provider,
|
|
3686
3689
|
{
|
|
3687
|
-
value: (0,
|
|
3690
|
+
value: (0, import_react45.useMemo)(
|
|
3688
3691
|
() => ({
|
|
3689
3692
|
keys,
|
|
3690
3693
|
acceptsDrop,
|
|
@@ -3695,7 +3698,7 @@ function SortableRoot({
|
|
|
3695
3698
|
[acceptsDrop, axis, keys, position, setActivatorEvent]
|
|
3696
3699
|
)
|
|
3697
3700
|
},
|
|
3698
|
-
/* @__PURE__ */
|
|
3701
|
+
/* @__PURE__ */ import_react45.default.createElement(
|
|
3699
3702
|
import_core.DndContext,
|
|
3700
3703
|
{
|
|
3701
3704
|
sensors,
|
|
@@ -3704,9 +3707,9 @@ function SortableRoot({
|
|
|
3704
3707
|
onDragMove: handleDragMove,
|
|
3705
3708
|
onDragEnd: handleDragEnd
|
|
3706
3709
|
},
|
|
3707
|
-
/* @__PURE__ */
|
|
3710
|
+
/* @__PURE__ */ import_react45.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
|
|
3708
3711
|
renderOverlay && (0, import_react_dom.createPortal)(
|
|
3709
|
-
/* @__PURE__ */
|
|
3712
|
+
/* @__PURE__ */ import_react45.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
|
|
3710
3713
|
document.body
|
|
3711
3714
|
)
|
|
3712
3715
|
)
|
|
@@ -3714,17 +3717,17 @@ function SortableRoot({
|
|
|
3714
3717
|
}
|
|
3715
3718
|
var Sortable;
|
|
3716
3719
|
((Sortable2) => {
|
|
3717
|
-
Sortable2.Item = (0,
|
|
3718
|
-
Sortable2.Root = (0,
|
|
3720
|
+
Sortable2.Item = (0, import_react45.memo)(SortableItem);
|
|
3721
|
+
Sortable2.Root = (0, import_react45.memo)(SortableRoot);
|
|
3719
3722
|
})(Sortable || (Sortable = {}));
|
|
3720
3723
|
|
|
3721
3724
|
// src/components/ListView.tsx
|
|
3722
3725
|
var ROW_HEIGHT = 31;
|
|
3723
3726
|
var SECTION_HEADER_LABEL_HEIGHT = 27;
|
|
3724
|
-
var DraggingContext = (0,
|
|
3727
|
+
var DraggingContext = (0, import_react46.createContext)({
|
|
3725
3728
|
indentation: 12
|
|
3726
3729
|
});
|
|
3727
|
-
var ListRowContext = (0,
|
|
3730
|
+
var ListRowContext = (0, import_react46.createContext)({
|
|
3728
3731
|
marginType: "none",
|
|
3729
3732
|
selectedPosition: "only",
|
|
3730
3733
|
sortable: false,
|
|
@@ -3754,8 +3757,8 @@ function ListViewEditableRowTitle({
|
|
|
3754
3757
|
autoFocus,
|
|
3755
3758
|
placeholder
|
|
3756
3759
|
}) {
|
|
3757
|
-
const inputRef = (0,
|
|
3758
|
-
(0,
|
|
3760
|
+
const inputRef = (0, import_react46.useRef)(null);
|
|
3761
|
+
(0, import_react46.useLayoutEffect)(() => {
|
|
3759
3762
|
const element = inputRef.current;
|
|
3760
3763
|
if (!element || !autoFocus)
|
|
3761
3764
|
return;
|
|
@@ -3764,7 +3767,7 @@ function ListViewEditableRowTitle({
|
|
|
3764
3767
|
element.select();
|
|
3765
3768
|
}, 0);
|
|
3766
3769
|
}, [autoFocus]);
|
|
3767
|
-
return /* @__PURE__ */
|
|
3770
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
3768
3771
|
ListViewEditableRowTitleElement,
|
|
3769
3772
|
{
|
|
3770
3773
|
ref: inputRef,
|
|
@@ -3886,7 +3889,7 @@ var ListViewDragIndicatorElement = import_styled_components25.default.div(({ the
|
|
|
3886
3889
|
boxShadow: "0 0 2px rgba(0,0,0,0.5)"
|
|
3887
3890
|
}
|
|
3888
3891
|
}));
|
|
3889
|
-
var ListViewRow = (0,
|
|
3892
|
+
var ListViewRow = (0, import_react46.forwardRef)(function ListViewRow2({
|
|
3890
3893
|
id,
|
|
3891
3894
|
tabIndex = 0,
|
|
3892
3895
|
gap,
|
|
@@ -3919,12 +3922,12 @@ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
|
3919
3922
|
divider,
|
|
3920
3923
|
gap: listGap,
|
|
3921
3924
|
colorScheme
|
|
3922
|
-
} = (0,
|
|
3925
|
+
} = (0, import_react46.useContext)(ListRowContext);
|
|
3923
3926
|
const { hoverProps } = useHover({
|
|
3924
3927
|
onHoverChange
|
|
3925
3928
|
});
|
|
3926
|
-
const { indentation, isDragging } = (0,
|
|
3927
|
-
const handlePress = (0,
|
|
3929
|
+
const { indentation, isDragging } = (0, import_react46.useContext)(DraggingContext);
|
|
3930
|
+
const handlePress = (0, import_react46.useCallback)(
|
|
3928
3931
|
(event) => {
|
|
3929
3932
|
event.preventDefault();
|
|
3930
3933
|
if (event.button !== 0)
|
|
@@ -3933,14 +3936,14 @@ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
|
3933
3936
|
},
|
|
3934
3937
|
[onPress]
|
|
3935
3938
|
);
|
|
3936
|
-
const handleDoubleClick = (0,
|
|
3939
|
+
const handleDoubleClick = (0, import_react46.useCallback)(
|
|
3937
3940
|
(event) => {
|
|
3938
3941
|
event.stopPropagation();
|
|
3939
3942
|
onDoubleClick?.();
|
|
3940
3943
|
},
|
|
3941
3944
|
[onDoubleClick]
|
|
3942
3945
|
);
|
|
3943
|
-
const mergedStyle = (0,
|
|
3946
|
+
const mergedStyle = (0, import_react46.useMemo)(() => {
|
|
3944
3947
|
return isDragging ? {
|
|
3945
3948
|
// TODO: Where do these offsets actually come from?
|
|
3946
3949
|
transform: `translate3d(-36px, -6px, 0)`,
|
|
@@ -3952,7 +3955,7 @@ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
|
3952
3955
|
relativeDropPosition,
|
|
3953
3956
|
...renderProps
|
|
3954
3957
|
}, ref) => {
|
|
3955
|
-
const element = /* @__PURE__ */
|
|
3958
|
+
const element = /* @__PURE__ */ import_react46.default.createElement(
|
|
3956
3959
|
RowContainer,
|
|
3957
3960
|
{
|
|
3958
3961
|
ref,
|
|
@@ -3983,7 +3986,7 @@ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
|
3983
3986
|
),
|
|
3984
3987
|
tabIndex
|
|
3985
3988
|
},
|
|
3986
|
-
relativeDropPosition && /* @__PURE__ */
|
|
3989
|
+
relativeDropPosition && /* @__PURE__ */ import_react46.default.createElement(
|
|
3987
3990
|
ListViewDragIndicatorElement,
|
|
3988
3991
|
{
|
|
3989
3992
|
colorScheme,
|
|
@@ -3992,11 +3995,11 @@ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
|
3992
3995
|
gap: listGap
|
|
3993
3996
|
}
|
|
3994
3997
|
),
|
|
3995
|
-
depth > 0 && /* @__PURE__ */
|
|
3998
|
+
depth > 0 && /* @__PURE__ */ import_react46.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
|
|
3996
3999
|
children
|
|
3997
4000
|
);
|
|
3998
4001
|
if (menuItems && onSelectMenuItem) {
|
|
3999
|
-
return /* @__PURE__ */
|
|
4002
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
4000
4003
|
ContextMenu,
|
|
4001
4004
|
{
|
|
4002
4005
|
items: menuItems,
|
|
@@ -4009,21 +4012,21 @@ var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
|
4009
4012
|
return element;
|
|
4010
4013
|
};
|
|
4011
4014
|
if (sortable && id) {
|
|
4012
|
-
return /* @__PURE__ */
|
|
4015
|
+
return /* @__PURE__ */ import_react46.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(sortableProps, (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)));
|
|
4013
4016
|
}
|
|
4014
4017
|
return renderContent({}, forwardedRef);
|
|
4015
4018
|
});
|
|
4016
|
-
var RenderItemContext = (0,
|
|
4019
|
+
var RenderItemContext = (0, import_react46.createContext)(
|
|
4017
4020
|
() => null
|
|
4018
4021
|
);
|
|
4019
|
-
var VirtualizedListRow = (0,
|
|
4022
|
+
var VirtualizedListRow = (0, import_react46.memo)(function VirtualizedListRow2({
|
|
4020
4023
|
index,
|
|
4021
4024
|
style: style3
|
|
4022
4025
|
}) {
|
|
4023
|
-
const renderItem = (0,
|
|
4024
|
-
return /* @__PURE__ */
|
|
4026
|
+
const renderItem = (0, import_react46.useContext)(RenderItemContext);
|
|
4027
|
+
return /* @__PURE__ */ import_react46.default.createElement("div", { key: index, style: style3 }, renderItem(index));
|
|
4025
4028
|
});
|
|
4026
|
-
var VirtualizedListInner = (0,
|
|
4029
|
+
var VirtualizedListInner = (0, import_react46.forwardRef)(function VirtualizedListInner2({
|
|
4027
4030
|
size: size2,
|
|
4028
4031
|
scrollElement,
|
|
4029
4032
|
items,
|
|
@@ -4031,20 +4034,20 @@ var VirtualizedListInner = (0, import_react45.forwardRef)(function VirtualizedLi
|
|
|
4031
4034
|
keyExtractor,
|
|
4032
4035
|
renderItem
|
|
4033
4036
|
}, ref) {
|
|
4034
|
-
const listRef = (0,
|
|
4035
|
-
(0,
|
|
4037
|
+
const listRef = (0, import_react46.useRef)(null);
|
|
4038
|
+
(0, import_react46.useImperativeHandle)(ref, () => ({
|
|
4036
4039
|
scrollToIndex(index) {
|
|
4037
4040
|
listRef.current?.scrollToItem(index);
|
|
4038
4041
|
}
|
|
4039
4042
|
}));
|
|
4040
|
-
(0,
|
|
4043
|
+
(0, import_react46.useLayoutEffect)(() => {
|
|
4041
4044
|
listRef.current?.resetAfterIndex(0);
|
|
4042
4045
|
}, [
|
|
4043
4046
|
// When items change, we need to re-render the virtualized list,
|
|
4044
4047
|
// since it doesn't currently support row height changes
|
|
4045
4048
|
items
|
|
4046
4049
|
]);
|
|
4047
|
-
const listStyle = (0,
|
|
4050
|
+
const listStyle = (0, import_react46.useMemo)(
|
|
4048
4051
|
() => ({
|
|
4049
4052
|
overflowX: "initial",
|
|
4050
4053
|
overflowY: "initial",
|
|
@@ -4052,18 +4055,18 @@ var VirtualizedListInner = (0, import_react45.forwardRef)(function VirtualizedLi
|
|
|
4052
4055
|
}),
|
|
4053
4056
|
[]
|
|
4054
4057
|
);
|
|
4055
|
-
return /* @__PURE__ */
|
|
4058
|
+
return /* @__PURE__ */ import_react46.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react46.default.createElement(
|
|
4056
4059
|
import_react_virtualized.WindowScroller,
|
|
4057
4060
|
{
|
|
4058
4061
|
scrollElement,
|
|
4059
|
-
style: (0,
|
|
4062
|
+
style: (0, import_react46.useMemo)(() => ({ flex: "1 1 auto" }), [])
|
|
4060
4063
|
},
|
|
4061
|
-
(0,
|
|
4064
|
+
(0, import_react46.useCallback)(
|
|
4062
4065
|
({
|
|
4063
4066
|
registerChild,
|
|
4064
4067
|
onChildScroll,
|
|
4065
4068
|
scrollTop
|
|
4066
|
-
}) => /* @__PURE__ */
|
|
4069
|
+
}) => /* @__PURE__ */ import_react46.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react46.default.createElement(
|
|
4067
4070
|
import_react_window.VariableSizeList,
|
|
4068
4071
|
{
|
|
4069
4072
|
ref: listRef,
|
|
@@ -4093,7 +4096,7 @@ var VirtualizedListInner = (0, import_react45.forwardRef)(function VirtualizedLi
|
|
|
4093
4096
|
)
|
|
4094
4097
|
));
|
|
4095
4098
|
});
|
|
4096
|
-
var VirtualizedList = (0,
|
|
4099
|
+
var VirtualizedList = (0, import_react46.memo)(
|
|
4097
4100
|
VirtualizedListInner
|
|
4098
4101
|
);
|
|
4099
4102
|
var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable, gap }) => ({
|
|
@@ -4104,7 +4107,7 @@ var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable
|
|
|
4104
4107
|
color: theme.colors.textMuted,
|
|
4105
4108
|
gap
|
|
4106
4109
|
}));
|
|
4107
|
-
var ListViewRootInner = (0,
|
|
4110
|
+
var ListViewRootInner = (0, import_react46.forwardRef)(function ListViewRootInner2({
|
|
4108
4111
|
onPress,
|
|
4109
4112
|
scrollable = false,
|
|
4110
4113
|
expandable = true,
|
|
@@ -4123,7 +4126,7 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4123
4126
|
colorScheme = "primary",
|
|
4124
4127
|
gap = 0
|
|
4125
4128
|
}, forwardedRef) {
|
|
4126
|
-
const handleClick = (0,
|
|
4129
|
+
const handleClick = (0, import_react46.useCallback)(
|
|
4127
4130
|
(event) => {
|
|
4128
4131
|
if (event.target instanceof HTMLElement && event.target.classList.contains("scroll-component"))
|
|
4129
4132
|
return;
|
|
@@ -4133,19 +4136,19 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4133
4136
|
},
|
|
4134
4137
|
[onPress]
|
|
4135
4138
|
);
|
|
4136
|
-
const renderChild = (0,
|
|
4139
|
+
const renderChild = (0, import_react46.useCallback)(
|
|
4137
4140
|
(index) => renderItem(data[index], index, { isDragging: false }),
|
|
4138
4141
|
[data, renderItem]
|
|
4139
4142
|
);
|
|
4140
|
-
const getItemContextValue = (0,
|
|
4143
|
+
const getItemContextValue = (0, import_react46.useCallback)(
|
|
4141
4144
|
(i) => {
|
|
4142
4145
|
const current = renderChild(i);
|
|
4143
|
-
if (!(0,
|
|
4146
|
+
if (!(0, import_react46.isValidElement)(current))
|
|
4144
4147
|
return;
|
|
4145
4148
|
const prevChild = i - 1 >= 0 && renderChild(i - 1);
|
|
4146
4149
|
const nextChild = i + 1 < data.length && renderChild(i + 1);
|
|
4147
|
-
const next = (0,
|
|
4148
|
-
const prev = (0,
|
|
4150
|
+
const next = (0, import_react46.isValidElement)(nextChild) ? nextChild : void 0;
|
|
4151
|
+
const prev = (0, import_react46.isValidElement)(prevChild) ? prevChild : void 0;
|
|
4149
4152
|
const hasMarginTop = !prev;
|
|
4150
4153
|
const hasMarginBottom = !next || current.props.isSectionHeader || next && next.props.isSectionHeader;
|
|
4151
4154
|
let marginType;
|
|
@@ -4197,26 +4200,26 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4197
4200
|
gap
|
|
4198
4201
|
]
|
|
4199
4202
|
);
|
|
4200
|
-
const draggingContextOverlayValue = (0,
|
|
4203
|
+
const draggingContextOverlayValue = (0, import_react46.useMemo)(
|
|
4201
4204
|
() => ({ indentation, isDragging: true }),
|
|
4202
4205
|
[indentation]
|
|
4203
4206
|
);
|
|
4204
|
-
const renderOverlay = (0,
|
|
4205
|
-
(index) => /* @__PURE__ */
|
|
4207
|
+
const renderOverlay = (0, import_react46.useCallback)(
|
|
4208
|
+
(index) => /* @__PURE__ */ import_react46.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react46.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
|
|
4206
4209
|
[draggingContextOverlayValue, renderItem, data]
|
|
4207
4210
|
);
|
|
4208
|
-
const renderWrappedChild = (0,
|
|
4211
|
+
const renderWrappedChild = (0, import_react46.useCallback)(
|
|
4209
4212
|
(index) => {
|
|
4210
4213
|
const contextValue = getItemContextValue(index);
|
|
4211
4214
|
const current = renderChild(index);
|
|
4212
|
-
if (!contextValue || !(0,
|
|
4215
|
+
if (!contextValue || !(0, import_react46.isValidElement)(current))
|
|
4213
4216
|
return null;
|
|
4214
|
-
return /* @__PURE__ */
|
|
4217
|
+
return /* @__PURE__ */ import_react46.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
|
|
4215
4218
|
},
|
|
4216
4219
|
[getItemContextValue, renderChild]
|
|
4217
4220
|
);
|
|
4218
|
-
const ids = (0,
|
|
4219
|
-
const withSortable = (children) => sortable ? /* @__PURE__ */
|
|
4221
|
+
const ids = (0, import_react46.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
|
|
4222
|
+
const withSortable = (children) => sortable ? /* @__PURE__ */ import_react46.default.createElement(
|
|
4220
4223
|
Sortable.Root,
|
|
4221
4224
|
{
|
|
4222
4225
|
onMoveItem,
|
|
@@ -4226,8 +4229,8 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4226
4229
|
},
|
|
4227
4230
|
children
|
|
4228
4231
|
) : children;
|
|
4229
|
-
const withScrollable = (children) => scrollable ? /* @__PURE__ */
|
|
4230
|
-
const getItemHeight = (0,
|
|
4232
|
+
const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react46.default.createElement(ScrollArea, null, children) : children(null);
|
|
4233
|
+
const getItemHeight = (0, import_react46.useCallback)(
|
|
4231
4234
|
(index) => {
|
|
4232
4235
|
const child = getItemContextValue(index);
|
|
4233
4236
|
const margin = child?.marginType ? getPositionMargin(child.marginType) : { top: 0, bottom: 0 };
|
|
@@ -4236,12 +4239,12 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4236
4239
|
},
|
|
4237
4240
|
[getItemContextValue, variant]
|
|
4238
4241
|
);
|
|
4239
|
-
const getKey = (0,
|
|
4242
|
+
const getKey = (0, import_react46.useCallback)(
|
|
4240
4243
|
(index) => keyExtractor(data[index], index),
|
|
4241
4244
|
[data, keyExtractor]
|
|
4242
4245
|
);
|
|
4243
|
-
const draggingContextValue = (0,
|
|
4244
|
-
return /* @__PURE__ */
|
|
4246
|
+
const draggingContextValue = (0, import_react46.useMemo)(() => ({ indentation }), [indentation]);
|
|
4247
|
+
return /* @__PURE__ */ import_react46.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react46.default.createElement(
|
|
4245
4248
|
RootContainer2,
|
|
4246
4249
|
{
|
|
4247
4250
|
...{
|
|
@@ -4252,7 +4255,7 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4252
4255
|
},
|
|
4253
4256
|
withScrollable(
|
|
4254
4257
|
(scrollElementRef) => withSortable(
|
|
4255
|
-
virtualized ? /* @__PURE__ */
|
|
4258
|
+
virtualized ? /* @__PURE__ */ import_react46.default.createElement(
|
|
4256
4259
|
VirtualizedList,
|
|
4257
4260
|
{
|
|
4258
4261
|
ref: forwardedRef,
|
|
@@ -4268,42 +4271,42 @@ var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInne
|
|
|
4268
4271
|
)
|
|
4269
4272
|
));
|
|
4270
4273
|
});
|
|
4271
|
-
var ListViewRoot = (0,
|
|
4272
|
-
var ChildrenListViewInner = (0,
|
|
4273
|
-
const items = (0,
|
|
4274
|
-
() =>
|
|
4275
|
-
(child) => (0,
|
|
4274
|
+
var ListViewRoot = (0, import_react46.memo)(ListViewRootInner);
|
|
4275
|
+
var ChildrenListViewInner = (0, import_react46.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
|
|
4276
|
+
const items = (0, import_react46.useMemo)(
|
|
4277
|
+
() => import_react46.Children.toArray(children).flatMap(
|
|
4278
|
+
(child) => (0, import_react46.isValidElement)(child) ? [child] : []
|
|
4276
4279
|
),
|
|
4277
4280
|
[children]
|
|
4278
4281
|
);
|
|
4279
|
-
return /* @__PURE__ */
|
|
4282
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
4280
4283
|
ListViewRoot,
|
|
4281
4284
|
{
|
|
4282
4285
|
ref: forwardedRef,
|
|
4283
4286
|
...rest,
|
|
4284
4287
|
data: items,
|
|
4285
|
-
keyExtractor: (0,
|
|
4288
|
+
keyExtractor: (0, import_react46.useCallback)(
|
|
4286
4289
|
({ key }, index) => typeof key === "string" ? key : (key ?? index).toString(),
|
|
4287
4290
|
[]
|
|
4288
4291
|
),
|
|
4289
|
-
renderItem: (0,
|
|
4292
|
+
renderItem: (0, import_react46.useCallback)((item) => item, [])
|
|
4290
4293
|
}
|
|
4291
4294
|
);
|
|
4292
4295
|
});
|
|
4293
|
-
var ChildrenListView = (0,
|
|
4294
|
-
var SimpleListViewInner = (0,
|
|
4296
|
+
var ChildrenListView = (0, import_react46.memo)(ChildrenListViewInner);
|
|
4297
|
+
var SimpleListViewInner = (0, import_react46.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
|
|
4295
4298
|
if ("children" in props) {
|
|
4296
|
-
return /* @__PURE__ */
|
|
4299
|
+
return /* @__PURE__ */ import_react46.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
|
|
4297
4300
|
} else {
|
|
4298
|
-
return /* @__PURE__ */
|
|
4301
|
+
return /* @__PURE__ */ import_react46.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
|
|
4299
4302
|
}
|
|
4300
4303
|
});
|
|
4301
|
-
var SimpleListView = (0,
|
|
4304
|
+
var SimpleListView = (0, import_react46.memo)(SimpleListViewInner);
|
|
4302
4305
|
var ListView;
|
|
4303
4306
|
((ListView2) => {
|
|
4304
|
-
ListView2.RowTitle = (0,
|
|
4305
|
-
ListView2.EditableRowTitle = (0,
|
|
4306
|
-
ListView2.Row = (0,
|
|
4307
|
+
ListView2.RowTitle = (0, import_react46.memo)(ListViewRowTitle);
|
|
4308
|
+
ListView2.EditableRowTitle = (0, import_react46.memo)(ListViewEditableRowTitle);
|
|
4309
|
+
ListView2.Row = (0, import_react46.memo)(ListViewRow);
|
|
4307
4310
|
ListView2.Root = SimpleListView;
|
|
4308
4311
|
ListView2.RowContext = ListRowContext;
|
|
4309
4312
|
ListView2.DragIndicator = ListViewDragIndicatorElement;
|
|
@@ -4316,7 +4319,7 @@ var ListView;
|
|
|
4316
4319
|
})(ListView || (ListView = {}));
|
|
4317
4320
|
|
|
4318
4321
|
// src/components/Text.tsx
|
|
4319
|
-
var
|
|
4322
|
+
var import_react47 = __toESM(require("react"));
|
|
4320
4323
|
var import_styled_components26 = __toESM(require("styled-components"));
|
|
4321
4324
|
var elements = {
|
|
4322
4325
|
title: "h1",
|
|
@@ -4337,7 +4340,7 @@ var StyledElement = import_styled_components26.default.span(({ theme, variant, s
|
|
|
4337
4340
|
...styleProps,
|
|
4338
4341
|
...mergeBreakpoints(breakpoints || [])
|
|
4339
4342
|
}));
|
|
4340
|
-
var Text = (0,
|
|
4343
|
+
var Text = (0, import_react47.forwardRef)(function Text2({
|
|
4341
4344
|
as,
|
|
4342
4345
|
variant,
|
|
4343
4346
|
breakpoints,
|
|
@@ -4349,7 +4352,7 @@ var Text = (0, import_react46.forwardRef)(function Text2({
|
|
|
4349
4352
|
...rest
|
|
4350
4353
|
}, forwardedRef) {
|
|
4351
4354
|
const element = as ?? elements[variant] ?? "span";
|
|
4352
|
-
return /* @__PURE__ */
|
|
4355
|
+
return /* @__PURE__ */ import_react47.default.createElement(
|
|
4353
4356
|
StyledElement,
|
|
4354
4357
|
{
|
|
4355
4358
|
ref: forwardedRef,
|
|
@@ -4365,28 +4368,28 @@ var Text = (0, import_react46.forwardRef)(function Text2({
|
|
|
4365
4368
|
children
|
|
4366
4369
|
);
|
|
4367
4370
|
});
|
|
4368
|
-
var Heading1 = (0,
|
|
4369
|
-
(props, ref) => /* @__PURE__ */
|
|
4371
|
+
var Heading1 = (0, import_react47.forwardRef)(
|
|
4372
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "heading1" })
|
|
4370
4373
|
);
|
|
4371
|
-
var Heading2 = (0,
|
|
4372
|
-
(props, ref) => /* @__PURE__ */
|
|
4374
|
+
var Heading2 = (0, import_react47.forwardRef)(
|
|
4375
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "heading2" })
|
|
4373
4376
|
);
|
|
4374
|
-
var Heading3 = (0,
|
|
4375
|
-
(props, ref) => /* @__PURE__ */
|
|
4377
|
+
var Heading3 = (0, import_react47.forwardRef)(
|
|
4378
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "heading3" })
|
|
4376
4379
|
);
|
|
4377
|
-
var Heading4 = (0,
|
|
4378
|
-
(props, ref) => /* @__PURE__ */
|
|
4380
|
+
var Heading4 = (0, import_react47.forwardRef)(
|
|
4381
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "heading4" })
|
|
4379
4382
|
);
|
|
4380
|
-
var Heading5 = (0,
|
|
4381
|
-
(props, ref) => /* @__PURE__ */
|
|
4383
|
+
var Heading5 = (0, import_react47.forwardRef)(
|
|
4384
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "heading5" })
|
|
4382
4385
|
);
|
|
4383
|
-
var Body = (0,
|
|
4384
|
-
(props, ref) => /* @__PURE__ */
|
|
4386
|
+
var Body = (0, import_react47.forwardRef)(
|
|
4387
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "body" })
|
|
4385
4388
|
);
|
|
4386
|
-
var Small = (0,
|
|
4387
|
-
(props, ref) => /* @__PURE__ */
|
|
4389
|
+
var Small = (0, import_react47.forwardRef)(
|
|
4390
|
+
(props, ref) => /* @__PURE__ */ import_react47.default.createElement(Text, { ref, ...props, variant: "small" })
|
|
4388
4391
|
);
|
|
4389
|
-
var Italic = ({ children }) => /* @__PURE__ */
|
|
4392
|
+
var Italic = ({ children }) => /* @__PURE__ */ import_react47.default.createElement(
|
|
4390
4393
|
"span",
|
|
4391
4394
|
{
|
|
4392
4395
|
style: {
|
|
@@ -4428,15 +4431,15 @@ var CompletionToken = import_styled_components27.default.span(
|
|
|
4428
4431
|
whiteSpace: "pre"
|
|
4429
4432
|
})
|
|
4430
4433
|
);
|
|
4431
|
-
var CompletionMenu = (0,
|
|
4432
|
-
(0,
|
|
4434
|
+
var CompletionMenu = (0, import_react48.memo)(
|
|
4435
|
+
(0, import_react48.forwardRef)(function CompletionMenu2({
|
|
4433
4436
|
items,
|
|
4434
4437
|
selectedIndex,
|
|
4435
4438
|
onSelectItem,
|
|
4436
4439
|
onHoverIndex,
|
|
4437
4440
|
listSize
|
|
4438
4441
|
}, forwardedRef) {
|
|
4439
|
-
return /* @__PURE__ */
|
|
4442
|
+
return /* @__PURE__ */ import_react48.default.createElement(
|
|
4440
4443
|
ListView.Root,
|
|
4441
4444
|
{
|
|
4442
4445
|
ref: forwardedRef,
|
|
@@ -4448,13 +4451,13 @@ var CompletionMenu = (0, import_react47.memo)(
|
|
|
4448
4451
|
sectionHeaderVariant: "label",
|
|
4449
4452
|
renderItem: (item, i) => {
|
|
4450
4453
|
if (item.type === "sectionHeader") {
|
|
4451
|
-
return /* @__PURE__ */
|
|
4454
|
+
return /* @__PURE__ */ import_react48.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
|
|
4452
4455
|
}
|
|
4453
4456
|
const tokens = fuzzyTokenize({
|
|
4454
4457
|
item: item.name,
|
|
4455
4458
|
itemScore: item
|
|
4456
4459
|
});
|
|
4457
|
-
return /* @__PURE__ */
|
|
4460
|
+
return /* @__PURE__ */ import_react48.default.createElement(
|
|
4458
4461
|
ListView.Row,
|
|
4459
4462
|
{
|
|
4460
4463
|
key: item.id,
|
|
@@ -4466,16 +4469,16 @@ var CompletionMenu = (0, import_react47.memo)(
|
|
|
4466
4469
|
}
|
|
4467
4470
|
}
|
|
4468
4471
|
},
|
|
4469
|
-
tokens.map((token, j) => /* @__PURE__ */
|
|
4470
|
-
item.icon && /* @__PURE__ */
|
|
4472
|
+
tokens.map((token, j) => /* @__PURE__ */ import_react48.default.createElement(CompletionToken, { key: j, type: token.type }, token.text)),
|
|
4473
|
+
item.icon && /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(Spacer.Horizontal, null), item.icon)
|
|
4471
4474
|
);
|
|
4472
4475
|
}
|
|
4473
4476
|
}
|
|
4474
4477
|
);
|
|
4475
4478
|
})
|
|
4476
4479
|
);
|
|
4477
|
-
var InputFieldWithCompletions = (0,
|
|
4478
|
-
(0,
|
|
4480
|
+
var InputFieldWithCompletions = (0, import_react48.memo)(
|
|
4481
|
+
(0, import_react48.forwardRef)(function InputFieldWithCompletions2({
|
|
4479
4482
|
loading,
|
|
4480
4483
|
initialValue = "",
|
|
4481
4484
|
placeholder,
|
|
@@ -4493,13 +4496,13 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4493
4496
|
hideChildrenWhenFocused = false,
|
|
4494
4497
|
hideMenuWhenEmptyValue = false
|
|
4495
4498
|
}, forwardedRef) {
|
|
4496
|
-
const ref = (0,
|
|
4497
|
-
const [isFocused, setIsFocused] = (0,
|
|
4498
|
-
const [state, _setState] = (0,
|
|
4499
|
+
const ref = (0, import_react48.useRef)(null);
|
|
4500
|
+
const [isFocused, setIsFocused] = (0, import_react48.useState)(false);
|
|
4501
|
+
const [state, _setState] = (0, import_react48.useState)({
|
|
4499
4502
|
filter: initialValue,
|
|
4500
4503
|
selectedIndex: 0
|
|
4501
4504
|
});
|
|
4502
|
-
const updateState = (0,
|
|
4505
|
+
const updateState = (0, import_react48.useCallback)(
|
|
4503
4506
|
(newState, hoverItem) => {
|
|
4504
4507
|
const nextState = { ...state, ...newState };
|
|
4505
4508
|
const nextItems = filterWithGroupedSections(items, nextState.filter);
|
|
@@ -4528,16 +4531,16 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4528
4531
|
},
|
|
4529
4532
|
[items, onChange, onHoverItem, state]
|
|
4530
4533
|
);
|
|
4531
|
-
const initialValueRef = (0,
|
|
4532
|
-
(0,
|
|
4534
|
+
const initialValueRef = (0, import_react48.useRef)(initialValue);
|
|
4535
|
+
(0, import_react48.useLayoutEffect)(() => {
|
|
4533
4536
|
if (initialValueRef.current === initialValue)
|
|
4534
4537
|
return;
|
|
4535
4538
|
initialValueRef.current = initialValue;
|
|
4536
4539
|
updateState({ filter: initialValue });
|
|
4537
4540
|
}, [initialValue, updateState]);
|
|
4538
4541
|
const { filter, selectedIndex } = state;
|
|
4539
|
-
const listRef =
|
|
4540
|
-
const filteredItems = (0,
|
|
4542
|
+
const listRef = import_react48.default.useRef(null);
|
|
4543
|
+
const filteredItems = (0, import_react48.useMemo)(
|
|
4541
4544
|
() => filterWithGroupedSections(items, filter),
|
|
4542
4545
|
[items, filter]
|
|
4543
4546
|
);
|
|
@@ -4553,13 +4556,13 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4553
4556
|
),
|
|
4554
4557
|
ListView.rowHeight * 10.5
|
|
4555
4558
|
);
|
|
4556
|
-
(0,
|
|
4559
|
+
(0, import_react48.useEffect)(() => {
|
|
4557
4560
|
if (listRef.current) {
|
|
4558
4561
|
listRef.current.scrollToIndex(selectedIndex);
|
|
4559
4562
|
}
|
|
4560
4563
|
}, [selectedIndex]);
|
|
4561
|
-
const lastSubmittedValueRef = (0,
|
|
4562
|
-
const selectItem = (0,
|
|
4564
|
+
const lastSubmittedValueRef = (0, import_react48.useRef)(void 0);
|
|
4565
|
+
const selectItem = (0, import_react48.useCallback)(
|
|
4563
4566
|
(item) => {
|
|
4564
4567
|
if (item.type === "sectionHeader")
|
|
4565
4568
|
return;
|
|
@@ -4575,17 +4578,17 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4575
4578
|
},
|
|
4576
4579
|
[filter, onSelectItem, onHoverItem, ref]
|
|
4577
4580
|
);
|
|
4578
|
-
const handleChange = (0,
|
|
4581
|
+
const handleChange = (0, import_react48.useCallback)(
|
|
4579
4582
|
(value) => updateState({ selectedIndex: 0, filter: value }),
|
|
4580
4583
|
[updateState]
|
|
4581
4584
|
);
|
|
4582
|
-
const handleBlur = (0,
|
|
4585
|
+
const handleBlur = (0, import_react48.useCallback)(() => {
|
|
4583
4586
|
setIsFocused(false);
|
|
4584
4587
|
const didSubmit = lastSubmittedValueRef.current?.filter === filter;
|
|
4585
4588
|
updateState({ selectedIndex: 0, filter: initialValue }, "resetHover");
|
|
4586
4589
|
onBlur?.(didSubmit, filter);
|
|
4587
4590
|
}, [filter, initialValue, onBlur, updateState]);
|
|
4588
|
-
const handleFocus = (0,
|
|
4591
|
+
const handleFocus = (0, import_react48.useCallback)(
|
|
4589
4592
|
(event) => {
|
|
4590
4593
|
setIsFocused(true);
|
|
4591
4594
|
updateState({ selectedIndex: 0, filter: initialValue });
|
|
@@ -4593,11 +4596,11 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4593
4596
|
},
|
|
4594
4597
|
[initialValue, onFocus, updateState]
|
|
4595
4598
|
);
|
|
4596
|
-
const handleIndexChange = (0,
|
|
4599
|
+
const handleIndexChange = (0, import_react48.useCallback)(
|
|
4597
4600
|
(index) => updateState({ selectedIndex: index }),
|
|
4598
4601
|
[updateState]
|
|
4599
4602
|
);
|
|
4600
|
-
const handleKeyDown = (0,
|
|
4603
|
+
const handleKeyDown = (0, import_react48.useCallback)(
|
|
4601
4604
|
(event) => {
|
|
4602
4605
|
let handled = false;
|
|
4603
4606
|
switch (event.key) {
|
|
@@ -4661,7 +4664,7 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4661
4664
|
);
|
|
4662
4665
|
const display = !filter && hideMenuWhenEmptyValue ? "none" : "flex";
|
|
4663
4666
|
const typeaheadValue = filteredItems[selectedIndex]?.name;
|
|
4664
|
-
(0,
|
|
4667
|
+
(0, import_react48.useImperativeHandle)(forwardedRef, () => ({
|
|
4665
4668
|
focus: () => {
|
|
4666
4669
|
ref.current?.focus();
|
|
4667
4670
|
},
|
|
@@ -4672,14 +4675,14 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4672
4675
|
ref.current?.setSelectionRange(0, ref.current.value.length);
|
|
4673
4676
|
}
|
|
4674
4677
|
}));
|
|
4675
|
-
return /* @__PURE__ */
|
|
4678
|
+
return /* @__PURE__ */ import_react48.default.createElement(
|
|
4676
4679
|
InputField.Root,
|
|
4677
4680
|
{
|
|
4678
4681
|
size: size2,
|
|
4679
4682
|
labelSize: 16,
|
|
4680
4683
|
renderPopoverContent: ({ width }) => {
|
|
4681
4684
|
const listSize = { width, height };
|
|
4682
|
-
return /* @__PURE__ */
|
|
4685
|
+
return /* @__PURE__ */ import_react48.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react48.default.createElement(
|
|
4683
4686
|
CompletionMenu,
|
|
4684
4687
|
{
|
|
4685
4688
|
ref: listRef,
|
|
@@ -4689,7 +4692,7 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4689
4692
|
onHoverIndex: handleIndexChange,
|
|
4690
4693
|
listSize
|
|
4691
4694
|
}
|
|
4692
|
-
) : /* @__PURE__ */
|
|
4695
|
+
) : /* @__PURE__ */ import_react48.default.createElement(
|
|
4693
4696
|
Stack.V,
|
|
4694
4697
|
{
|
|
4695
4698
|
height: "100px",
|
|
@@ -4697,11 +4700,11 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4697
4700
|
alignItems: "center",
|
|
4698
4701
|
justifyContent: "center"
|
|
4699
4702
|
},
|
|
4700
|
-
/* @__PURE__ */
|
|
4703
|
+
/* @__PURE__ */ import_react48.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
|
|
4701
4704
|
));
|
|
4702
4705
|
}
|
|
4703
4706
|
},
|
|
4704
|
-
/* @__PURE__ */
|
|
4707
|
+
/* @__PURE__ */ import_react48.default.createElement(
|
|
4705
4708
|
InputField.Input,
|
|
4706
4709
|
{
|
|
4707
4710
|
ref,
|
|
@@ -4725,9 +4728,9 @@ var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
|
4725
4728
|
"aria-controls": "component-listbox"
|
|
4726
4729
|
}
|
|
4727
4730
|
),
|
|
4728
|
-
filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */
|
|
4731
|
+
filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react48.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
|
|
4729
4732
|
(!isFocused || !hideChildrenWhenFocused) && children,
|
|
4730
|
-
loading && isFocused && /* @__PURE__ */
|
|
4733
|
+
loading && isFocused && /* @__PURE__ */ import_react48.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react48.default.createElement(ActivityIndicator, null))
|
|
4731
4734
|
);
|
|
4732
4735
|
})
|
|
4733
4736
|
);
|
|
@@ -4749,7 +4752,7 @@ function getNextIndex(items, currentIndex, direction, isDisabled) {
|
|
|
4749
4752
|
}
|
|
4750
4753
|
|
|
4751
4754
|
// src/components/Label.tsx
|
|
4752
|
-
var
|
|
4755
|
+
var import_react49 = __toESM(require("react"));
|
|
4753
4756
|
var import_styled_components28 = __toESM(require("styled-components"));
|
|
4754
4757
|
var LabelLabel = import_styled_components28.default.label(
|
|
4755
4758
|
({ theme, selected }) => ({
|
|
@@ -4778,17 +4781,17 @@ var LabelContainer2 = import_styled_components28.default.span(({ theme }) => ({
|
|
|
4778
4781
|
alignItems: "center"
|
|
4779
4782
|
}));
|
|
4780
4783
|
function LabelRoot({ label, children }) {
|
|
4781
|
-
return /* @__PURE__ */
|
|
4784
|
+
return /* @__PURE__ */ import_react49.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null, /* @__PURE__ */ import_react49.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react49.default.createElement(LabelLabel, null, label)));
|
|
4782
4785
|
}
|
|
4783
4786
|
var Label;
|
|
4784
4787
|
((_Label) => {
|
|
4785
|
-
_Label.Label = (0,
|
|
4786
|
-
_Label.Root = (0,
|
|
4788
|
+
_Label.Label = (0, import_react49.memo)(LabelLabel);
|
|
4789
|
+
_Label.Root = (0, import_react49.memo)(LabelRoot);
|
|
4787
4790
|
})(Label || (Label = {}));
|
|
4788
4791
|
|
|
4789
4792
|
// src/components/LabeledElementView.tsx
|
|
4790
4793
|
var kiwi = __toESM(require("kiwi.js"));
|
|
4791
|
-
var
|
|
4794
|
+
var import_react50 = __toESM(require("react"));
|
|
4792
4795
|
var import_styled_components29 = __toESM(require("styled-components"));
|
|
4793
4796
|
var Container4 = import_styled_components29.default.div(({ theme }) => ({
|
|
4794
4797
|
display: "flex",
|
|
@@ -4807,24 +4810,24 @@ var Labels = import_styled_components29.default.div(({ theme }) => ({
|
|
|
4807
4810
|
overflow: "hidden",
|
|
4808
4811
|
userSelect: "none"
|
|
4809
4812
|
}));
|
|
4810
|
-
var LabeledElementView = (0,
|
|
4813
|
+
var LabeledElementView = (0, import_react50.memo)(function LabeledElementView2({
|
|
4811
4814
|
children,
|
|
4812
4815
|
renderLabel
|
|
4813
4816
|
}) {
|
|
4814
|
-
const elementIds =
|
|
4815
|
-
(child) => (0,
|
|
4817
|
+
const elementIds = import_react50.Children.toArray(children).flatMap(
|
|
4818
|
+
(child) => (0, import_react50.isValidElement)(child) && child.type === import_react50.Fragment ? child.props.children : [child]
|
|
4816
4819
|
).map(
|
|
4817
|
-
(child) => (0,
|
|
4820
|
+
(child) => (0, import_react50.isValidElement)(child) && "id" in child.props ? child.props.id : null
|
|
4818
4821
|
).filter((id) => !!id);
|
|
4819
4822
|
const serializedIds = elementIds.join(",");
|
|
4820
|
-
const containerRef = (0,
|
|
4821
|
-
const refs = (0,
|
|
4823
|
+
const containerRef = (0, import_react50.useRef)(null);
|
|
4824
|
+
const refs = (0, import_react50.useMemo)(() => {
|
|
4822
4825
|
return Object.fromEntries(
|
|
4823
|
-
serializedIds.split(",").map((id) => [id, (0,
|
|
4826
|
+
serializedIds.split(",").map((id) => [id, (0, import_react50.createRef)()])
|
|
4824
4827
|
);
|
|
4825
4828
|
}, [serializedIds]);
|
|
4826
|
-
const labelElements = (0,
|
|
4827
|
-
return serializedIds.split(",").map((id, index) => /* @__PURE__ */
|
|
4829
|
+
const labelElements = (0, import_react50.useMemo)(() => {
|
|
4830
|
+
return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react50.default.createElement(
|
|
4828
4831
|
"span",
|
|
4829
4832
|
{
|
|
4830
4833
|
key: id,
|
|
@@ -4837,7 +4840,7 @@ var LabeledElementView = (0, import_react49.memo)(function LabeledElementView2({
|
|
|
4837
4840
|
})
|
|
4838
4841
|
));
|
|
4839
4842
|
}, [refs, serializedIds, renderLabel]);
|
|
4840
|
-
(0,
|
|
4843
|
+
(0, import_react50.useLayoutEffect)(() => {
|
|
4841
4844
|
if (!containerRef.current)
|
|
4842
4845
|
return;
|
|
4843
4846
|
const containerRect = containerRef.current.getBoundingClientRect();
|
|
@@ -4902,13 +4905,13 @@ var LabeledElementView = (0, import_react49.memo)(function LabeledElementView2({
|
|
|
4902
4905
|
`${Math.max(...heights)}px`
|
|
4903
4906
|
);
|
|
4904
4907
|
}, [refs, labelElements]);
|
|
4905
|
-
return /* @__PURE__ */
|
|
4908
|
+
return /* @__PURE__ */ import_react50.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react50.default.createElement(Tools, null, children), /* @__PURE__ */ import_react50.default.createElement(Labels, null, labelElements));
|
|
4906
4909
|
});
|
|
4907
4910
|
|
|
4908
4911
|
// src/components/Progress.tsx
|
|
4909
4912
|
var import_noya_utils9 = require("@noya-app/noya-utils");
|
|
4910
4913
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
|
|
4911
|
-
var
|
|
4914
|
+
var import_react51 = __toESM(require("react"));
|
|
4912
4915
|
var import_styled_components30 = __toESM(require("styled-components"));
|
|
4913
4916
|
function Progress({
|
|
4914
4917
|
value,
|
|
@@ -4918,7 +4921,7 @@ function Progress({
|
|
|
4918
4921
|
variant = "normal"
|
|
4919
4922
|
}) {
|
|
4920
4923
|
const clampedValue = (0, import_noya_utils9.clamp)(value, 0, 100);
|
|
4921
|
-
return /* @__PURE__ */
|
|
4924
|
+
return /* @__PURE__ */ import_react51.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react51.default.createElement(
|
|
4922
4925
|
ProgressIndicator,
|
|
4923
4926
|
{
|
|
4924
4927
|
variant,
|
|
@@ -4943,7 +4946,7 @@ var ProgressIndicator = (0, import_styled_components30.default)(ProgressPrimitiv
|
|
|
4943
4946
|
|
|
4944
4947
|
// src/components/RadioGroup.tsx
|
|
4945
4948
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"));
|
|
4946
|
-
var
|
|
4949
|
+
var import_react52 = __toESM(require("react"));
|
|
4947
4950
|
var import_styled_components31 = __toESM(require("styled-components"));
|
|
4948
4951
|
var ignoredProps3 = /* @__PURE__ */ new Set(["colorScheme"]);
|
|
4949
4952
|
var StyledRoot = (0, import_styled_components31.default)(ToggleGroupPrimitive.Root).withConfig({
|
|
@@ -4996,9 +4999,9 @@ var StyledItem = (0, import_styled_components31.default)(ToggleGroupPrimitive.It
|
|
|
4996
4999
|
boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors[colorScheme ?? "primary"]}`
|
|
4997
5000
|
}
|
|
4998
5001
|
}));
|
|
4999
|
-
var ToggleGroupItem = (0,
|
|
5000
|
-
const { colorScheme } = (0,
|
|
5001
|
-
const itemElement = /* @__PURE__ */
|
|
5002
|
+
var ToggleGroupItem = (0, import_react52.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
|
|
5003
|
+
const { colorScheme } = (0, import_react52.useContext)(RadioGroupContext);
|
|
5004
|
+
const itemElement = /* @__PURE__ */ import_react52.default.createElement(
|
|
5002
5005
|
StyledItem,
|
|
5003
5006
|
{
|
|
5004
5007
|
ref: forwardedRef,
|
|
@@ -5008,9 +5011,9 @@ var ToggleGroupItem = (0, import_react51.forwardRef)(function ToggleGroupItem2({
|
|
|
5008
5011
|
},
|
|
5009
5012
|
children
|
|
5010
5013
|
);
|
|
5011
|
-
return tooltip ? /* @__PURE__ */
|
|
5014
|
+
return tooltip ? /* @__PURE__ */ import_react52.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
|
|
5012
5015
|
});
|
|
5013
|
-
var RadioGroupContext = (0,
|
|
5016
|
+
var RadioGroupContext = (0, import_react52.createContext)({
|
|
5014
5017
|
colorScheme: "primary"
|
|
5015
5018
|
});
|
|
5016
5019
|
function ToggleGroupRoot({
|
|
@@ -5021,8 +5024,8 @@ function ToggleGroupRoot({
|
|
|
5021
5024
|
allowEmpty,
|
|
5022
5025
|
children
|
|
5023
5026
|
}) {
|
|
5024
|
-
const contextValue = (0,
|
|
5025
|
-
const handleValueChange = (0,
|
|
5027
|
+
const contextValue = (0, import_react52.useMemo)(() => ({ colorScheme }), [colorScheme]);
|
|
5028
|
+
const handleValueChange = (0, import_react52.useCallback)(
|
|
5026
5029
|
(value2) => {
|
|
5027
5030
|
if (!allowEmpty && !value2)
|
|
5028
5031
|
return;
|
|
@@ -5030,7 +5033,7 @@ function ToggleGroupRoot({
|
|
|
5030
5033
|
},
|
|
5031
5034
|
[allowEmpty, onValueChange]
|
|
5032
5035
|
);
|
|
5033
|
-
return /* @__PURE__ */
|
|
5036
|
+
return /* @__PURE__ */ import_react52.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react52.default.createElement(
|
|
5034
5037
|
StyledRoot,
|
|
5035
5038
|
{
|
|
5036
5039
|
id,
|
|
@@ -5044,28 +5047,28 @@ function ToggleGroupRoot({
|
|
|
5044
5047
|
}
|
|
5045
5048
|
var RadioGroup;
|
|
5046
5049
|
((RadioGroup2) => {
|
|
5047
|
-
RadioGroup2.Root = (0,
|
|
5048
|
-
RadioGroup2.Item = (0,
|
|
5050
|
+
RadioGroup2.Root = (0, import_react52.memo)(ToggleGroupRoot);
|
|
5051
|
+
RadioGroup2.Item = (0, import_react52.memo)(ToggleGroupItem);
|
|
5049
5052
|
})(RadioGroup || (RadioGroup = {}));
|
|
5050
5053
|
|
|
5051
5054
|
// src/components/Select.tsx
|
|
5052
5055
|
var import_noya_utils10 = require("@noya-app/noya-utils");
|
|
5053
|
-
var
|
|
5056
|
+
var import_react53 = __toESM(require("react"));
|
|
5054
5057
|
var import_styled_components32 = __toESM(require("styled-components"));
|
|
5055
|
-
var SelectContext = (0,
|
|
5056
|
-
var SelectOption = (0,
|
|
5058
|
+
var SelectContext = (0, import_react53.createContext)(void 0);
|
|
5059
|
+
var SelectOption = (0, import_react53.memo)(function SelectOption2({
|
|
5057
5060
|
value,
|
|
5058
5061
|
title,
|
|
5059
5062
|
onSelect
|
|
5060
5063
|
}) {
|
|
5061
|
-
const { addListener, removeListener } = (0,
|
|
5062
|
-
(0,
|
|
5064
|
+
const { addListener, removeListener } = (0, import_react53.useContext)(SelectContext);
|
|
5065
|
+
(0, import_react53.useEffect)(() => {
|
|
5063
5066
|
if (!onSelect)
|
|
5064
5067
|
return;
|
|
5065
5068
|
addListener(value, onSelect);
|
|
5066
5069
|
return () => removeListener(value);
|
|
5067
5070
|
}, [addListener, onSelect, removeListener, value]);
|
|
5068
|
-
return /* @__PURE__ */
|
|
5071
|
+
return /* @__PURE__ */ import_react53.default.createElement("option", { value }, title ?? value);
|
|
5069
5072
|
});
|
|
5070
5073
|
var createChevronSVGString = (0, import_noya_utils10.memoize)(
|
|
5071
5074
|
(color) => `
|
|
@@ -5105,7 +5108,7 @@ var SelectElement = import_styled_components32.default.select(
|
|
|
5105
5108
|
}
|
|
5106
5109
|
})
|
|
5107
5110
|
);
|
|
5108
|
-
var Select = (0,
|
|
5111
|
+
var Select = (0, import_react53.memo)(function Select2({
|
|
5109
5112
|
id,
|
|
5110
5113
|
flex,
|
|
5111
5114
|
value,
|
|
@@ -5115,8 +5118,8 @@ var Select = (0, import_react52.memo)(function Select2({
|
|
|
5115
5118
|
const getTitle = "options" in rest ? rest.getTitle : void 0;
|
|
5116
5119
|
const onChange = "options" in rest ? rest.onChange : void 0;
|
|
5117
5120
|
const children = "options" in rest ? void 0 : rest.children;
|
|
5118
|
-
const optionElements = (0,
|
|
5119
|
-
() => options ? options.map((option, index) => /* @__PURE__ */
|
|
5121
|
+
const optionElements = (0, import_react53.useMemo)(
|
|
5122
|
+
() => options ? options.map((option, index) => /* @__PURE__ */ import_react53.default.createElement(
|
|
5120
5123
|
SelectOption,
|
|
5121
5124
|
{
|
|
5122
5125
|
key: option,
|
|
@@ -5127,21 +5130,21 @@ var Select = (0, import_react52.memo)(function Select2({
|
|
|
5127
5130
|
)) : children,
|
|
5128
5131
|
[children, getTitle, onChange, options]
|
|
5129
5132
|
);
|
|
5130
|
-
const listeners = (0,
|
|
5131
|
-
const contextValue = (0,
|
|
5133
|
+
const listeners = (0, import_react53.useRef)(/* @__PURE__ */ new Map());
|
|
5134
|
+
const contextValue = (0, import_react53.useMemo)(
|
|
5132
5135
|
() => ({
|
|
5133
5136
|
addListener: (value2, listener) => listeners.current.set(value2, listener),
|
|
5134
5137
|
removeListener: (value2) => listeners.current.delete(value2)
|
|
5135
5138
|
}),
|
|
5136
5139
|
[]
|
|
5137
5140
|
);
|
|
5138
|
-
return /* @__PURE__ */
|
|
5141
|
+
return /* @__PURE__ */ import_react53.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react53.default.createElement(
|
|
5139
5142
|
SelectElement,
|
|
5140
5143
|
{
|
|
5141
5144
|
id,
|
|
5142
5145
|
flex,
|
|
5143
5146
|
value,
|
|
5144
|
-
onChange: (0,
|
|
5147
|
+
onChange: (0, import_react53.useCallback)(
|
|
5145
5148
|
(event) => listeners.current.get(event.target.value)?.(),
|
|
5146
5149
|
[listeners]
|
|
5147
5150
|
),
|
|
@@ -5153,7 +5156,7 @@ var Select = (0, import_react52.memo)(function Select2({
|
|
|
5153
5156
|
|
|
5154
5157
|
// src/components/Slider.tsx
|
|
5155
5158
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"));
|
|
5156
|
-
var
|
|
5159
|
+
var import_react54 = __toESM(require("react"));
|
|
5157
5160
|
var import_styled_components33 = __toESM(require("styled-components"));
|
|
5158
5161
|
var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
|
|
5159
5162
|
flex: "1",
|
|
@@ -5194,17 +5197,17 @@ var Slider = function Slider2({
|
|
|
5194
5197
|
min,
|
|
5195
5198
|
max
|
|
5196
5199
|
}) {
|
|
5197
|
-
const arrayValue = (0,
|
|
5200
|
+
const arrayValue = (0, import_react54.useMemo)(
|
|
5198
5201
|
() => [Math.min(Math.max(value, min), max)],
|
|
5199
5202
|
[value, min, max]
|
|
5200
5203
|
);
|
|
5201
|
-
const handleValueChange = (0,
|
|
5204
|
+
const handleValueChange = (0, import_react54.useCallback)(
|
|
5202
5205
|
(arrayValue2) => {
|
|
5203
5206
|
onValueChange(arrayValue2[0]);
|
|
5204
5207
|
},
|
|
5205
5208
|
[onValueChange]
|
|
5206
5209
|
);
|
|
5207
|
-
return /* @__PURE__ */
|
|
5210
|
+
return /* @__PURE__ */ import_react54.default.createElement(
|
|
5208
5211
|
StyledSlider,
|
|
5209
5212
|
{
|
|
5210
5213
|
min,
|
|
@@ -5213,14 +5216,14 @@ var Slider = function Slider2({
|
|
|
5213
5216
|
value: arrayValue,
|
|
5214
5217
|
onValueChange: handleValueChange
|
|
5215
5218
|
},
|
|
5216
|
-
/* @__PURE__ */
|
|
5217
|
-
/* @__PURE__ */
|
|
5219
|
+
/* @__PURE__ */ import_react54.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react54.default.createElement(StyledRange, null)),
|
|
5220
|
+
/* @__PURE__ */ import_react54.default.createElement(StyledThumb2, null)
|
|
5218
5221
|
);
|
|
5219
5222
|
};
|
|
5220
5223
|
|
|
5221
5224
|
// src/components/Switch.tsx
|
|
5222
5225
|
var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
|
|
5223
|
-
var
|
|
5226
|
+
var import_react55 = __toESM(require("react"));
|
|
5224
5227
|
var import_styled_components34 = __toESM(require("styled-components"));
|
|
5225
5228
|
var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)(({ theme, colorScheme: variant }) => ({
|
|
5226
5229
|
all: "unset",
|
|
@@ -5256,7 +5259,7 @@ var Switch = function Switch2({
|
|
|
5256
5259
|
onChange,
|
|
5257
5260
|
colorScheme = "normal"
|
|
5258
5261
|
}) {
|
|
5259
|
-
return /* @__PURE__ */
|
|
5262
|
+
return /* @__PURE__ */ import_react55.default.createElement(
|
|
5260
5263
|
SwitchRoot,
|
|
5261
5264
|
{
|
|
5262
5265
|
colorScheme,
|
|
@@ -5265,42 +5268,42 @@ var Switch = function Switch2({
|
|
|
5265
5268
|
onChange(newValue);
|
|
5266
5269
|
}
|
|
5267
5270
|
},
|
|
5268
|
-
/* @__PURE__ */
|
|
5271
|
+
/* @__PURE__ */ import_react55.default.createElement(SwitchThumb, null)
|
|
5269
5272
|
);
|
|
5270
5273
|
};
|
|
5271
5274
|
|
|
5272
5275
|
// src/components/TreeView.tsx
|
|
5273
|
-
var
|
|
5274
|
-
var TreeRow = (0,
|
|
5276
|
+
var import_react56 = __toESM(require("react"));
|
|
5277
|
+
var TreeRow = (0, import_react56.forwardRef)(function TreeRow2({
|
|
5275
5278
|
icon,
|
|
5276
5279
|
expanded,
|
|
5277
5280
|
onClickChevron,
|
|
5278
5281
|
children,
|
|
5279
5282
|
...rest
|
|
5280
5283
|
}, forwardedRef) {
|
|
5281
|
-
const { expandable } = (0,
|
|
5282
|
-
const handleClickChevron = (0,
|
|
5284
|
+
const { expandable } = (0, import_react56.useContext)(ListView.RowContext);
|
|
5285
|
+
const handleClickChevron = (0, import_react56.useCallback)(
|
|
5283
5286
|
(event) => {
|
|
5284
5287
|
event.stopPropagation();
|
|
5285
5288
|
onClickChevron?.({ altKey: event.altKey });
|
|
5286
5289
|
},
|
|
5287
5290
|
[onClickChevron]
|
|
5288
5291
|
);
|
|
5289
|
-
return /* @__PURE__ */
|
|
5292
|
+
return /* @__PURE__ */ import_react56.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react56.default.createElement(
|
|
5290
5293
|
IconButton,
|
|
5291
5294
|
{
|
|
5292
5295
|
iconName: expanded ? "ChevronDownIcon" : "ChevronRightIcon",
|
|
5293
5296
|
onClick: handleClickChevron,
|
|
5294
5297
|
selected: rest.selected
|
|
5295
5298
|
}
|
|
5296
|
-
), /* @__PURE__ */
|
|
5299
|
+
), /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react56.default.createElement(import_react56.default.Fragment, null, icon, /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, { size: 10 })), children);
|
|
5297
5300
|
});
|
|
5298
5301
|
var TreeView;
|
|
5299
5302
|
((TreeView2) => {
|
|
5300
5303
|
TreeView2.Root = ListView.Root;
|
|
5301
5304
|
TreeView2.RowTitle = ListView.RowTitle;
|
|
5302
5305
|
TreeView2.EditableRowTitle = ListView.EditableRowTitle;
|
|
5303
|
-
TreeView2.Row = (0,
|
|
5306
|
+
TreeView2.Row = (0, import_react56.memo)(TreeRow);
|
|
5304
5307
|
})(TreeView || (TreeView = {}));
|
|
5305
5308
|
|
|
5306
5309
|
// src/hooks/usePlatform.ts
|
|
@@ -5608,7 +5611,7 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
|
|
|
5608
5611
|
|
|
5609
5612
|
// src/components/ArrayController.tsx
|
|
5610
5613
|
var import_noya_utils11 = require("@noya-app/noya-utils");
|
|
5611
|
-
var
|
|
5614
|
+
var import_react58 = __toESM(require("react"));
|
|
5612
5615
|
var import_styled_components36 = __toESM(require("styled-components"));
|
|
5613
5616
|
|
|
5614
5617
|
// src/components/InspectorPrimitives.tsx
|
|
@@ -5627,7 +5630,7 @@ __export(InspectorPrimitives_exports, {
|
|
|
5627
5630
|
Title: () => Title3,
|
|
5628
5631
|
VerticalSeparator: () => VerticalSeparator
|
|
5629
5632
|
});
|
|
5630
|
-
var
|
|
5633
|
+
var import_react57 = __toESM(require("react"));
|
|
5631
5634
|
var import_styled_components35 = __toESM(require("styled-components"));
|
|
5632
5635
|
var Section = import_styled_components35.default.div(({ theme, padding = "10px", gap }) => ({
|
|
5633
5636
|
flex: "0 0 auto",
|
|
@@ -5674,8 +5677,8 @@ var Checkbox = import_styled_components35.default.input(({ theme }) => ({
|
|
|
5674
5677
|
var Text3 = import_styled_components35.default.span(({ theme }) => ({
|
|
5675
5678
|
...theme.textStyles.small
|
|
5676
5679
|
}));
|
|
5677
|
-
var VerticalSeparator = () => /* @__PURE__ */
|
|
5678
|
-
var HorizontalSeparator = () => /* @__PURE__ */
|
|
5680
|
+
var VerticalSeparator = () => /* @__PURE__ */ import_react57.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
|
|
5681
|
+
var HorizontalSeparator = () => /* @__PURE__ */ import_react57.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
|
|
5679
5682
|
var SliderRowLabel = import_styled_components35.default.span(({ theme }) => ({
|
|
5680
5683
|
...theme.textStyles.small,
|
|
5681
5684
|
color: theme.colors.textMuted,
|
|
@@ -5695,7 +5698,7 @@ var RowLabel = import_styled_components35.default.span(({ theme, textStyle }) =>
|
|
|
5695
5698
|
// Button height
|
|
5696
5699
|
alignItems: "center"
|
|
5697
5700
|
}));
|
|
5698
|
-
var LabeledRow = (0,
|
|
5701
|
+
var LabeledRow = (0, import_react57.memo)(function LabeledRow2({
|
|
5699
5702
|
id,
|
|
5700
5703
|
children,
|
|
5701
5704
|
label,
|
|
@@ -5703,13 +5706,13 @@ var LabeledRow = (0, import_react56.memo)(function LabeledRow2({
|
|
|
5703
5706
|
gap,
|
|
5704
5707
|
right
|
|
5705
5708
|
}) {
|
|
5706
|
-
return /* @__PURE__ */
|
|
5709
|
+
return /* @__PURE__ */ import_react57.default.createElement(Row2, { id }, /* @__PURE__ */ import_react57.default.createElement(Column, null, /* @__PURE__ */ import_react57.default.createElement(RowLabel, { textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react57.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react57.default.createElement(Row2, { gap }, children)));
|
|
5707
5710
|
});
|
|
5708
|
-
var LabeledSliderRow = (0,
|
|
5711
|
+
var LabeledSliderRow = (0, import_react57.memo)(function LabeledRow3({
|
|
5709
5712
|
children,
|
|
5710
5713
|
label
|
|
5711
5714
|
}) {
|
|
5712
|
-
return /* @__PURE__ */
|
|
5715
|
+
return /* @__PURE__ */ import_react57.default.createElement(Row2, null, /* @__PURE__ */ import_react57.default.createElement(Column, null, /* @__PURE__ */ import_react57.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react57.default.createElement(Row2, null, children)));
|
|
5713
5716
|
});
|
|
5714
5717
|
|
|
5715
5718
|
// src/components/ArrayController.tsx
|
|
@@ -5722,7 +5725,7 @@ var ElementRow = import_styled_components36.default.div({
|
|
|
5722
5725
|
var ItemContainer2 = import_styled_components36.default.div({
|
|
5723
5726
|
position: "relative"
|
|
5724
5727
|
});
|
|
5725
|
-
var ArrayController = (0,
|
|
5728
|
+
var ArrayController = (0, import_react58.memo)(function ArrayController2({
|
|
5726
5729
|
id,
|
|
5727
5730
|
items,
|
|
5728
5731
|
title,
|
|
@@ -5740,12 +5743,12 @@ var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
|
5740
5743
|
}) {
|
|
5741
5744
|
const iconColor = (0, import_styled_components36.useTheme)().colors.icon;
|
|
5742
5745
|
const primaryLightColor = (0, import_styled_components36.useTheme)().colors.primaryLight;
|
|
5743
|
-
const keys = (0,
|
|
5746
|
+
const keys = (0, import_react58.useMemo)(
|
|
5744
5747
|
() => items.map((item, index) => getKey?.(item) ?? index.toString()),
|
|
5745
5748
|
[getKey, items]
|
|
5746
5749
|
);
|
|
5747
5750
|
const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
|
|
5748
|
-
const handleMoveItem = (0,
|
|
5751
|
+
const handleMoveItem = (0, import_react58.useCallback)(
|
|
5749
5752
|
(sourceIndex, destinationIndex, position) => {
|
|
5750
5753
|
if (reversed) {
|
|
5751
5754
|
if (position === "above") {
|
|
@@ -5762,11 +5765,11 @@ var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
|
5762
5765
|
[onMoveItem, reversed]
|
|
5763
5766
|
);
|
|
5764
5767
|
const renderRow = (index) => {
|
|
5765
|
-
return /* @__PURE__ */
|
|
5768
|
+
return /* @__PURE__ */ import_react58.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
|
|
5766
5769
|
};
|
|
5767
|
-
return /* @__PURE__ */
|
|
5770
|
+
return /* @__PURE__ */ import_react58.default.createElement(Section, { id, padding, gap: "2px" }, /* @__PURE__ */ import_react58.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react58.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react58.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
|
|
5768
5771
|
[
|
|
5769
|
-
onClickTrash && /* @__PURE__ */
|
|
5772
|
+
onClickTrash && /* @__PURE__ */ import_react58.default.createElement(
|
|
5770
5773
|
IconButton,
|
|
5771
5774
|
{
|
|
5772
5775
|
id: `${id}-trash`,
|
|
@@ -5775,7 +5778,7 @@ var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
|
5775
5778
|
onClick: onClickTrash
|
|
5776
5779
|
}
|
|
5777
5780
|
),
|
|
5778
|
-
onClickExpand && /* @__PURE__ */
|
|
5781
|
+
onClickExpand && /* @__PURE__ */ import_react58.default.createElement(
|
|
5779
5782
|
IconButton,
|
|
5780
5783
|
{
|
|
5781
5784
|
id: `${id}-gear`,
|
|
@@ -5784,7 +5787,7 @@ var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
|
5784
5787
|
onClick: onClickExpand
|
|
5785
5788
|
}
|
|
5786
5789
|
),
|
|
5787
|
-
onClickPlus && /* @__PURE__ */
|
|
5790
|
+
onClickPlus && /* @__PURE__ */ import_react58.default.createElement(
|
|
5788
5791
|
IconButton,
|
|
5789
5792
|
{
|
|
5790
5793
|
id: `${id}-add`,
|
|
@@ -5794,15 +5797,15 @@ var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
|
5794
5797
|
}
|
|
5795
5798
|
)
|
|
5796
5799
|
],
|
|
5797
|
-
/* @__PURE__ */
|
|
5798
|
-
)), /* @__PURE__ */
|
|
5800
|
+
/* @__PURE__ */ import_react58.default.createElement(Spacer.Horizontal, { size: 8 })
|
|
5801
|
+
)), /* @__PURE__ */ import_react58.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react58.default.createElement(
|
|
5799
5802
|
Sortable.Root,
|
|
5800
5803
|
{
|
|
5801
5804
|
keys,
|
|
5802
5805
|
renderOverlay: renderRow,
|
|
5803
5806
|
onMoveItem: handleMoveItem
|
|
5804
5807
|
},
|
|
5805
|
-
indexes.map((index) => /* @__PURE__ */
|
|
5808
|
+
indexes.map((index) => /* @__PURE__ */ import_react58.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react58.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react58.default.createElement(
|
|
5806
5809
|
ListView.DragIndicator,
|
|
5807
5810
|
{
|
|
5808
5811
|
gap: 0,
|
|
@@ -5816,11 +5819,11 @@ var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
|
5816
5819
|
|
|
5817
5820
|
// src/components/DimensionInput.tsx
|
|
5818
5821
|
var import_noya_utils12 = require("@noya-app/noya-utils");
|
|
5819
|
-
var
|
|
5822
|
+
var import_react59 = __toESM(require("react"));
|
|
5820
5823
|
function getNewValue(value, mode, delta) {
|
|
5821
5824
|
return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
|
|
5822
5825
|
}
|
|
5823
|
-
var DimensionInput = (0,
|
|
5826
|
+
var DimensionInput = (0, import_react59.memo)(function DimensionInput2({
|
|
5824
5827
|
id,
|
|
5825
5828
|
value,
|
|
5826
5829
|
onSetValue,
|
|
@@ -5830,15 +5833,15 @@ var DimensionInput = (0, import_react58.memo)(function DimensionInput2({
|
|
|
5830
5833
|
disabled,
|
|
5831
5834
|
trigger = "submit"
|
|
5832
5835
|
}) {
|
|
5833
|
-
const handleNudgeValue = (0,
|
|
5836
|
+
const handleNudgeValue = (0, import_react59.useCallback)(
|
|
5834
5837
|
(value2) => onSetValue(value2, "adjust"),
|
|
5835
5838
|
[onSetValue]
|
|
5836
5839
|
);
|
|
5837
|
-
const handleSetValue = (0,
|
|
5840
|
+
const handleSetValue = (0, import_react59.useCallback)(
|
|
5838
5841
|
(value2) => onSetValue(value2, "replace"),
|
|
5839
5842
|
[onSetValue]
|
|
5840
5843
|
);
|
|
5841
|
-
return /* @__PURE__ */
|
|
5844
|
+
return /* @__PURE__ */ import_react59.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react59.default.createElement(
|
|
5842
5845
|
InputField.NumberInput,
|
|
5843
5846
|
{
|
|
5844
5847
|
value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
|
|
@@ -5847,7 +5850,7 @@ var DimensionInput = (0, import_react58.memo)(function DimensionInput2({
|
|
|
5847
5850
|
disabled,
|
|
5848
5851
|
...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
|
|
5849
5852
|
}
|
|
5850
|
-
), label && /* @__PURE__ */
|
|
5853
|
+
), label && /* @__PURE__ */ import_react59.default.createElement(InputField.Label, null, label));
|
|
5851
5854
|
});
|
|
5852
5855
|
// Annotate the CommonJS export names for ESM import in node:
|
|
5853
5856
|
0 && (module.exports = {
|