@noya-app/noya-designsystem 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +10 -11
- package/.turbo/turbo-lint.log +1 -2
- package/CHANGELOG.md +6 -0
- package/dist/index.d.mts +6 -27
- package/dist/index.d.ts +6 -27
- package/dist/index.js +490 -501
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +133 -141
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -3
- package/src/components/ListView.tsx +2 -2
- package/src/hooks/__tests__/mergeEventHandlers.test.ts +8 -2
- package/src/hooks/mergeEventHandlers.ts +10 -37
- package/src/index.tsx +0 -2
- package/src/utils/mouseEvent.ts +0 -7
package/dist/index.js
CHANGED
|
@@ -100,11 +100,8 @@ __export(src_exports, {
|
|
|
100
100
|
fuzzyTokenize: () => fuzzyTokenize,
|
|
101
101
|
getGradientBackground: () => getGradientBackground,
|
|
102
102
|
getNewValue: () => getNewValue,
|
|
103
|
-
isLeftButtonClicked: () => isLeftButtonClicked,
|
|
104
|
-
isRightButtonClicked: () => isRightButtonClicked,
|
|
105
103
|
lightTheme: () => light_exports,
|
|
106
104
|
mediaQuery: () => mediaQuery,
|
|
107
|
-
mergeEventHandlers: () => mergeEventHandlers,
|
|
108
105
|
normalizeListDestinationIndex: () => normalizeListDestinationIndex,
|
|
109
106
|
rgbaToSketchColor: () => rgbaToSketchColor,
|
|
110
107
|
size: () => size,
|
|
@@ -375,11 +372,11 @@ var Button = (0, import_react4.forwardRef)(function Button2({
|
|
|
375
372
|
|
|
376
373
|
// src/components/Chip.tsx
|
|
377
374
|
var import_noya_icons3 = require("@noya-app/noya-icons");
|
|
378
|
-
var
|
|
375
|
+
var import_react33 = __toESM(require("react"));
|
|
379
376
|
var import_styled_components16 = __toESM(require("styled-components"));
|
|
380
377
|
|
|
381
378
|
// src/contexts/DesignSystemConfiguration.tsx
|
|
382
|
-
var
|
|
379
|
+
var import_react32 = __toESM(require("react"));
|
|
383
380
|
var import_styled_components15 = require("styled-components");
|
|
384
381
|
|
|
385
382
|
// src/components/Toast.tsx
|
|
@@ -467,7 +464,7 @@ var Toast = ({
|
|
|
467
464
|
var ToastProvider = ({ children }) => /* @__PURE__ */ import_react6.default.createElement(ToastPrimitive.Provider, null, children, /* @__PURE__ */ import_react6.default.createElement(ToastViewport, null));
|
|
468
465
|
|
|
469
466
|
// src/contexts/DialogContext.tsx
|
|
470
|
-
var
|
|
467
|
+
var import_react31 = __toESM(require("react"));
|
|
471
468
|
var import_styled_components14 = __toESM(require("styled-components"));
|
|
472
469
|
|
|
473
470
|
// src/components/Dialog.tsx
|
|
@@ -761,28 +758,31 @@ var import_react13 = require("react");
|
|
|
761
758
|
// ../noya-react-utils/src/hooks/useIsMounted.ts
|
|
762
759
|
var import_react14 = require("react");
|
|
763
760
|
|
|
764
|
-
// ../noya-react-utils/src/hooks/
|
|
761
|
+
// ../noya-react-utils/src/hooks/useLateReference.ts
|
|
765
762
|
var import_react15 = require("react");
|
|
766
763
|
|
|
767
|
-
// ../noya-react-utils/src/hooks/
|
|
764
|
+
// ../noya-react-utils/src/hooks/useLazyValue.ts
|
|
768
765
|
var import_react16 = require("react");
|
|
769
766
|
|
|
770
|
-
// ../noya-react-utils/src/hooks/
|
|
767
|
+
// ../noya-react-utils/src/hooks/useMutableState.ts
|
|
771
768
|
var import_react17 = require("react");
|
|
772
769
|
|
|
770
|
+
// ../noya-react-utils/src/hooks/usePixelRatio.ts
|
|
771
|
+
var import_react18 = require("react");
|
|
772
|
+
|
|
773
773
|
// ../noya-react-utils/src/hooks/useShallowArray.ts
|
|
774
774
|
var import_noya_utils3 = require("@noya-app/noya-utils");
|
|
775
|
-
var
|
|
775
|
+
var import_react19 = require("react");
|
|
776
776
|
|
|
777
777
|
// ../noya-react-utils/src/hooks/useStableCallback.ts
|
|
778
|
-
var
|
|
778
|
+
var import_react20 = require("react");
|
|
779
779
|
|
|
780
780
|
// ../noya-react-utils/src/hooks/useSystemColorScheme.ts
|
|
781
|
-
var
|
|
781
|
+
var import_react21 = require("react");
|
|
782
782
|
|
|
783
783
|
// ../noya-react-utils/src/hooks/useUrlHashParameters.ts
|
|
784
784
|
var import_noya_utils4 = require("@noya-app/noya-utils");
|
|
785
|
-
var
|
|
785
|
+
var import_react22 = require("react");
|
|
786
786
|
|
|
787
787
|
// ../noya-react-utils/src/utils/assignRef.ts
|
|
788
788
|
function assignRef(ref, value) {
|
|
@@ -794,7 +794,7 @@ function assignRef(ref, value) {
|
|
|
794
794
|
}
|
|
795
795
|
|
|
796
796
|
// src/components/InputField.tsx
|
|
797
|
-
var
|
|
797
|
+
var import_react30 = __toESM(require("react"));
|
|
798
798
|
var import_styled_components13 = __toESM(require("styled-components"));
|
|
799
799
|
|
|
800
800
|
// src/utils/handleNudge.ts
|
|
@@ -825,25 +825,25 @@ function handleNudge(e) {
|
|
|
825
825
|
var import_noya_icons = require("@noya-app/noya-icons");
|
|
826
826
|
var import_noya_keymap2 = require("@noya-app/noya-keymap");
|
|
827
827
|
var RadixDropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
828
|
-
var
|
|
828
|
+
var import_react25 = __toESM(require("react"));
|
|
829
829
|
var import_styled_components10 = __toESM(require("styled-components"));
|
|
830
830
|
|
|
831
831
|
// src/components/internal/Menu.tsx
|
|
832
832
|
var import_noya_keymap = require("@noya-app/noya-keymap");
|
|
833
|
-
var
|
|
833
|
+
var import_react24 = __toESM(require("react"));
|
|
834
834
|
var import_styled_components9 = __toESM(require("styled-components"));
|
|
835
835
|
|
|
836
836
|
// src/utils/withSeparatorElements.ts
|
|
837
|
-
var
|
|
837
|
+
var import_react23 = require("react");
|
|
838
838
|
function createKey(key) {
|
|
839
839
|
return `s-${key}`;
|
|
840
840
|
}
|
|
841
841
|
function withSeparatorElements(elements2, separator) {
|
|
842
|
-
const childrenArray =
|
|
842
|
+
const childrenArray = import_react23.Children.toArray(elements2);
|
|
843
843
|
for (let i = childrenArray.length - 1; i > 0; i--) {
|
|
844
|
-
let sep = typeof separator === "function" ? separator() : (0,
|
|
845
|
-
if ((0,
|
|
846
|
-
sep = (0,
|
|
844
|
+
let sep = typeof separator === "function" ? separator() : (0, import_react23.isValidElement)(separator) ? (0, import_react23.cloneElement)(separator, { key: createKey(i) }) : separator;
|
|
845
|
+
if ((0, import_react23.isValidElement)(sep) && sep.key == null) {
|
|
846
|
+
sep = (0, import_react23.cloneElement)(sep, { key: createKey(i) });
|
|
847
847
|
}
|
|
848
848
|
if (!sep || typeof sep === "boolean")
|
|
849
849
|
continue;
|
|
@@ -943,12 +943,12 @@ var ShortcutElement = import_styled_components9.default.kbd(
|
|
|
943
943
|
}
|
|
944
944
|
})
|
|
945
945
|
);
|
|
946
|
-
var KeyboardShortcut = (0,
|
|
946
|
+
var KeyboardShortcut = (0, import_react24.memo)(function KeyboardShortcut2({
|
|
947
947
|
shortcut
|
|
948
948
|
}) {
|
|
949
949
|
const platform = useDesignSystemConfiguration().platform;
|
|
950
950
|
const { keys, separator } = (0, import_noya_keymap.getShortcutDisplayParts)(shortcut, platform);
|
|
951
|
-
const keyElements = keys.map((key) => /* @__PURE__ */
|
|
951
|
+
const keyElements = keys.map((key) => /* @__PURE__ */ import_react24.default.createElement(
|
|
952
952
|
ShortcutElement,
|
|
953
953
|
{
|
|
954
954
|
key,
|
|
@@ -956,9 +956,9 @@ var KeyboardShortcut = (0, import_react23.memo)(function KeyboardShortcut2({
|
|
|
956
956
|
},
|
|
957
957
|
key
|
|
958
958
|
));
|
|
959
|
-
return /* @__PURE__ */
|
|
959
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, separator ? withSeparatorElements(
|
|
960
960
|
keyElements,
|
|
961
|
-
/* @__PURE__ */
|
|
961
|
+
/* @__PURE__ */ import_react24.default.createElement(ShortcutElement, null, separator)
|
|
962
962
|
) : keyElements);
|
|
963
963
|
});
|
|
964
964
|
|
|
@@ -973,7 +973,7 @@ var CheckboxItemElement = (0, import_styled_components10.default)(RadixDropdownM
|
|
|
973
973
|
var StyledItemIndicator = (0, import_styled_components10.default)(RadixDropdownMenu.ItemIndicator)(
|
|
974
974
|
styles.itemIndicatorStyle
|
|
975
975
|
);
|
|
976
|
-
var DropdownMenuItem = (0,
|
|
976
|
+
var DropdownMenuItem = (0, import_react25.memo)(function ContextMenuItem({
|
|
977
977
|
value,
|
|
978
978
|
children,
|
|
979
979
|
onSelect,
|
|
@@ -984,34 +984,34 @@ var DropdownMenuItem = (0, import_react24.memo)(function ContextMenuItem({
|
|
|
984
984
|
items,
|
|
985
985
|
shortcut
|
|
986
986
|
}) {
|
|
987
|
-
const handleSelectItem = (0,
|
|
987
|
+
const handleSelectItem = (0, import_react25.useCallback)(() => {
|
|
988
988
|
if (!value)
|
|
989
989
|
return;
|
|
990
990
|
onSelect(value);
|
|
991
991
|
}, [onSelect, value]);
|
|
992
992
|
if (checked) {
|
|
993
|
-
return /* @__PURE__ */
|
|
993
|
+
return /* @__PURE__ */ import_react25.default.createElement(
|
|
994
994
|
CheckboxItemElement,
|
|
995
995
|
{
|
|
996
996
|
checked,
|
|
997
997
|
disabled,
|
|
998
998
|
onSelect: handleSelectItem
|
|
999
999
|
},
|
|
1000
|
-
/* @__PURE__ */
|
|
1001
|
-
icon && /* @__PURE__ */
|
|
1000
|
+
/* @__PURE__ */ import_react25.default.createElement(StyledItemIndicator, null, /* @__PURE__ */ import_react25.default.createElement(import_noya_icons.CheckIcon, null)),
|
|
1001
|
+
icon && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, icon, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 8 })),
|
|
1002
1002
|
children
|
|
1003
1003
|
);
|
|
1004
1004
|
}
|
|
1005
|
-
const element = /* @__PURE__ */
|
|
1005
|
+
const element = /* @__PURE__ */ import_react25.default.createElement(ItemElement, { disabled, onSelect: handleSelectItem }, indented && /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }), icon && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, icon, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 8 })), children, shortcut && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react25.default.createElement(KeyboardShortcut, { shortcut })), items && items.length > 0 && /* @__PURE__ */ import_react25.default.createElement(import_react25.default.Fragment, null, /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react25.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react25.default.createElement(import_noya_icons.ChevronRightIcon, null)));
|
|
1006
1006
|
if (items && items.length > 0) {
|
|
1007
|
-
return /* @__PURE__ */
|
|
1007
|
+
return /* @__PURE__ */ import_react25.default.createElement(DropdownMenuRoot, { isNested: true, items, onSelect }, element);
|
|
1008
1008
|
} else {
|
|
1009
1009
|
return element;
|
|
1010
1010
|
}
|
|
1011
1011
|
});
|
|
1012
1012
|
var Content5 = (0, import_styled_components10.default)(RadixDropdownMenu.Content)(styles.contentStyle);
|
|
1013
1013
|
var SubContent2 = (0, import_styled_components10.default)(RadixDropdownMenu.SubContent)(styles.contentStyle);
|
|
1014
|
-
var DropdownMenuRoot = (0,
|
|
1014
|
+
var DropdownMenuRoot = (0, import_react25.forwardRef)(function DropdownMenuRoot2({
|
|
1015
1015
|
items,
|
|
1016
1016
|
children,
|
|
1017
1017
|
onSelect,
|
|
@@ -1024,7 +1024,7 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
|
|
|
1024
1024
|
const hasCheckedItem = items.some(
|
|
1025
1025
|
(item) => item !== SEPARATOR_ITEM && item.checked
|
|
1026
1026
|
);
|
|
1027
|
-
const keymap = (0,
|
|
1027
|
+
const keymap = (0, import_react25.useMemo)(
|
|
1028
1028
|
() => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
|
|
1029
1029
|
[isNested, items, onSelect, shouldBindKeyboardShortcuts]
|
|
1030
1030
|
);
|
|
@@ -1032,8 +1032,8 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
|
|
|
1032
1032
|
const RootComponent = isNested ? RadixDropdownMenu.Sub : RadixDropdownMenu.Root;
|
|
1033
1033
|
const TriggerComponent = isNested ? RadixDropdownMenu.SubTrigger : RadixDropdownMenu.Trigger;
|
|
1034
1034
|
const ContentComponent = isNested ? SubContent2 : Content5;
|
|
1035
|
-
const contentStyle = (0,
|
|
1036
|
-
return /* @__PURE__ */
|
|
1035
|
+
const contentStyle = (0, import_react25.useMemo)(() => ({ zIndex: 1e3 }), []);
|
|
1036
|
+
return /* @__PURE__ */ import_react25.default.createElement(RootComponent, { onOpenChange, open }, /* @__PURE__ */ import_react25.default.createElement(TriggerComponent, { ref: forwardedRef, asChild: true }, children), /* @__PURE__ */ import_react25.default.createElement(RadixDropdownMenu.Portal, null, /* @__PURE__ */ import_react25.default.createElement(
|
|
1037
1037
|
ContentComponent,
|
|
1038
1038
|
{
|
|
1039
1039
|
sideOffset: 4,
|
|
@@ -1042,7 +1042,7 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
|
|
|
1042
1042
|
...{ onCloseAutoFocus }
|
|
1043
1043
|
},
|
|
1044
1044
|
items.map(
|
|
1045
|
-
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */
|
|
1045
|
+
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react25.default.createElement(SeparatorElement, { key: index }) : /* @__PURE__ */ import_react25.default.createElement(
|
|
1046
1046
|
DropdownMenuItem,
|
|
1047
1047
|
{
|
|
1048
1048
|
key: item.value ?? index,
|
|
@@ -1060,14 +1060,14 @@ var DropdownMenuRoot = (0, import_react24.forwardRef)(function DropdownMenuRoot2
|
|
|
1060
1060
|
)
|
|
1061
1061
|
)));
|
|
1062
1062
|
});
|
|
1063
|
-
var DropdownMenu = (0,
|
|
1063
|
+
var DropdownMenu = (0, import_react25.memo)(DropdownMenuRoot);
|
|
1064
1064
|
|
|
1065
1065
|
// src/components/internal/TextInput.tsx
|
|
1066
1066
|
var import_react_compose_refs = require("@radix-ui/react-compose-refs");
|
|
1067
|
-
var
|
|
1067
|
+
var import_react27 = __toESM(require("react"));
|
|
1068
1068
|
|
|
1069
1069
|
// src/contexts/GlobalInputBlurContext.tsx
|
|
1070
|
-
var
|
|
1070
|
+
var import_react26 = require("react");
|
|
1071
1071
|
var defaultValue = /* @__PURE__ */ (() => {
|
|
1072
1072
|
const listeners = [];
|
|
1073
1073
|
const value = {
|
|
@@ -1088,14 +1088,14 @@ var defaultValue = /* @__PURE__ */ (() => {
|
|
|
1088
1088
|
};
|
|
1089
1089
|
return value;
|
|
1090
1090
|
})();
|
|
1091
|
-
var GlobalInputBlurContext = (0,
|
|
1091
|
+
var GlobalInputBlurContext = (0, import_react26.createContext)(defaultValue);
|
|
1092
1092
|
var GlobalInputBlurProvider = GlobalInputBlurContext.Provider;
|
|
1093
1093
|
var useGlobalInputBlur = () => {
|
|
1094
|
-
return (0,
|
|
1094
|
+
return (0, import_react26.useContext)(GlobalInputBlurContext);
|
|
1095
1095
|
};
|
|
1096
1096
|
function useGlobalInputBlurListener(f) {
|
|
1097
1097
|
const context = useGlobalInputBlur();
|
|
1098
|
-
(0,
|
|
1098
|
+
(0, import_react26.useEffect)(() => {
|
|
1099
1099
|
context.addListener(f);
|
|
1100
1100
|
return () => {
|
|
1101
1101
|
context.removeListener(f);
|
|
@@ -1107,8 +1107,8 @@ function useGlobalInputBlurTrigger() {
|
|
|
1107
1107
|
}
|
|
1108
1108
|
|
|
1109
1109
|
// src/components/internal/TextInput.tsx
|
|
1110
|
-
var ReadOnlyTextInput = (0,
|
|
1111
|
-
return /* @__PURE__ */
|
|
1110
|
+
var ReadOnlyTextInput = (0, import_react27.forwardRef)(function ReadOnlyTextInput2({ onKeyDown, onFocusChange, value, ...rest }, forwardedRef) {
|
|
1111
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
1112
1112
|
"input",
|
|
1113
1113
|
{
|
|
1114
1114
|
ref: forwardedRef,
|
|
@@ -1119,7 +1119,7 @@ var ReadOnlyTextInput = (0, import_react26.forwardRef)(function ReadOnlyTextInpu
|
|
|
1119
1119
|
}
|
|
1120
1120
|
);
|
|
1121
1121
|
});
|
|
1122
|
-
var ControlledTextInput = (0,
|
|
1122
|
+
var ControlledTextInput = (0, import_react27.forwardRef)(function ControlledTextInput2({
|
|
1123
1123
|
onKeyDown,
|
|
1124
1124
|
value,
|
|
1125
1125
|
onChange,
|
|
@@ -1128,28 +1128,28 @@ var ControlledTextInput = (0, import_react26.forwardRef)(function ControlledText
|
|
|
1128
1128
|
onFocusCapture,
|
|
1129
1129
|
...rest
|
|
1130
1130
|
}, forwardedRef) {
|
|
1131
|
-
const handleBlur = (0,
|
|
1131
|
+
const handleBlur = (0, import_react27.useCallback)(
|
|
1132
1132
|
(event) => {
|
|
1133
1133
|
onBlur?.(event);
|
|
1134
1134
|
onFocusChange?.(false);
|
|
1135
1135
|
},
|
|
1136
1136
|
[onBlur, onFocusChange]
|
|
1137
1137
|
);
|
|
1138
|
-
const handleFocusCapture = (0,
|
|
1138
|
+
const handleFocusCapture = (0, import_react27.useCallback)(
|
|
1139
1139
|
(event) => {
|
|
1140
1140
|
onFocusCapture?.(event);
|
|
1141
1141
|
onFocusChange?.(true);
|
|
1142
1142
|
},
|
|
1143
1143
|
[onFocusCapture, onFocusChange]
|
|
1144
1144
|
);
|
|
1145
|
-
return /* @__PURE__ */
|
|
1145
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
1146
1146
|
"input",
|
|
1147
1147
|
{
|
|
1148
1148
|
ref: forwardedRef,
|
|
1149
1149
|
...rest,
|
|
1150
1150
|
value,
|
|
1151
1151
|
onKeyDown,
|
|
1152
|
-
onChange: (0,
|
|
1152
|
+
onChange: (0, import_react27.useCallback)(
|
|
1153
1153
|
(event) => onChange(event.target.value),
|
|
1154
1154
|
[onChange]
|
|
1155
1155
|
),
|
|
@@ -1158,7 +1158,7 @@ var ControlledTextInput = (0, import_react26.forwardRef)(function ControlledText
|
|
|
1158
1158
|
}
|
|
1159
1159
|
);
|
|
1160
1160
|
});
|
|
1161
|
-
var SubmittableTextInput = (0,
|
|
1161
|
+
var SubmittableTextInput = (0, import_react27.forwardRef)(function SubmittableTextInput2({
|
|
1162
1162
|
onKeyDown,
|
|
1163
1163
|
value,
|
|
1164
1164
|
onSubmit,
|
|
@@ -1169,16 +1169,16 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
|
|
|
1169
1169
|
submitAutomaticallyAfterDelay,
|
|
1170
1170
|
...rest
|
|
1171
1171
|
}, forwardedRef) {
|
|
1172
|
-
const ref =
|
|
1173
|
-
const latestValue = (0,
|
|
1172
|
+
const ref = import_react27.default.useRef(null);
|
|
1173
|
+
const latestValue = (0, import_react27.useRef)(value);
|
|
1174
1174
|
latestValue.current = value;
|
|
1175
|
-
const userDidEdit = (0,
|
|
1176
|
-
const isSubmitTriggeredByEscapeKey = (0,
|
|
1177
|
-
const [internalValue, setInternalValue] = (0,
|
|
1178
|
-
(0,
|
|
1175
|
+
const userDidEdit = (0, import_react27.useRef)(false);
|
|
1176
|
+
const isSubmitTriggeredByEscapeKey = (0, import_react27.useRef)(false);
|
|
1177
|
+
const [internalValue, setInternalValue] = (0, import_react27.useState)("");
|
|
1178
|
+
(0, import_react27.useLayoutEffect)(() => {
|
|
1179
1179
|
setInternalValue(value);
|
|
1180
1180
|
}, [value]);
|
|
1181
|
-
const handleSubmit = (0,
|
|
1181
|
+
const handleSubmit = (0, import_react27.useCallback)(() => {
|
|
1182
1182
|
const submissionValue = isSubmitTriggeredByEscapeKey.current ? value : internalValue;
|
|
1183
1183
|
isSubmitTriggeredByEscapeKey.current = false;
|
|
1184
1184
|
if (submissionValue === value && !allowSubmittingWithSameValue)
|
|
@@ -1188,13 +1188,13 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
|
|
|
1188
1188
|
setInternalValue(latestValue.current);
|
|
1189
1189
|
}, [allowSubmittingWithSameValue, value, internalValue, onSubmit]);
|
|
1190
1190
|
useGlobalInputBlurListener(
|
|
1191
|
-
(0,
|
|
1191
|
+
(0, import_react27.useCallback)(() => {
|
|
1192
1192
|
if (ref.current !== document.activeElement)
|
|
1193
1193
|
return;
|
|
1194
1194
|
handleSubmit();
|
|
1195
1195
|
}, [handleSubmit])
|
|
1196
1196
|
);
|
|
1197
|
-
const handleKeyDown = (0,
|
|
1197
|
+
const handleKeyDown = (0, import_react27.useCallback)(
|
|
1198
1198
|
(event) => {
|
|
1199
1199
|
if (event.key === "Enter") {
|
|
1200
1200
|
handleSubmit();
|
|
@@ -1209,14 +1209,14 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
|
|
|
1209
1209
|
},
|
|
1210
1210
|
[onKeyDown, handleSubmit]
|
|
1211
1211
|
);
|
|
1212
|
-
const handleChange = (0,
|
|
1212
|
+
const handleChange = (0, import_react27.useCallback)(
|
|
1213
1213
|
(event) => {
|
|
1214
1214
|
userDidEdit.current = true;
|
|
1215
1215
|
setInternalValue(event.target.value);
|
|
1216
1216
|
},
|
|
1217
1217
|
[]
|
|
1218
1218
|
);
|
|
1219
|
-
const handleBlur = (0,
|
|
1219
|
+
const handleBlur = (0, import_react27.useCallback)(
|
|
1220
1220
|
(event) => {
|
|
1221
1221
|
onBlur?.(event);
|
|
1222
1222
|
onFocusChange?.(false);
|
|
@@ -1224,19 +1224,19 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
|
|
|
1224
1224
|
},
|
|
1225
1225
|
[onBlur, onFocusChange, handleSubmit]
|
|
1226
1226
|
);
|
|
1227
|
-
const handleFocusCapture = (0,
|
|
1227
|
+
const handleFocusCapture = (0, import_react27.useCallback)(
|
|
1228
1228
|
(event) => {
|
|
1229
1229
|
onFocusCapture?.(event);
|
|
1230
1230
|
onFocusChange?.(true);
|
|
1231
1231
|
},
|
|
1232
1232
|
[onFocusCapture, onFocusChange]
|
|
1233
1233
|
);
|
|
1234
|
-
const autoSubmitTimeoutRef = (0,
|
|
1234
|
+
const autoSubmitTimeoutRef = (0, import_react27.useRef)(
|
|
1235
1235
|
null
|
|
1236
1236
|
);
|
|
1237
|
-
const latestHandleSubmit = (0,
|
|
1237
|
+
const latestHandleSubmit = (0, import_react27.useRef)(handleSubmit);
|
|
1238
1238
|
latestHandleSubmit.current = handleSubmit;
|
|
1239
|
-
(0,
|
|
1239
|
+
(0, import_react27.useEffect)(() => {
|
|
1240
1240
|
if (submitAutomaticallyAfterDelay) {
|
|
1241
1241
|
if (autoSubmitTimeoutRef.current) {
|
|
1242
1242
|
clearTimeout(autoSubmitTimeoutRef.current);
|
|
@@ -1253,7 +1253,7 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
|
|
|
1253
1253
|
}
|
|
1254
1254
|
};
|
|
1255
1255
|
}, [internalValue, submitAutomaticallyAfterDelay]);
|
|
1256
|
-
return /* @__PURE__ */
|
|
1256
|
+
return /* @__PURE__ */ import_react27.default.createElement(
|
|
1257
1257
|
"input",
|
|
1258
1258
|
{
|
|
1259
1259
|
ref: (0, import_react_compose_refs.composeRefs)(ref, forwardedRef),
|
|
@@ -1266,13 +1266,13 @@ var SubmittableTextInput = (0, import_react26.forwardRef)(function SubmittableTe
|
|
|
1266
1266
|
}
|
|
1267
1267
|
);
|
|
1268
1268
|
});
|
|
1269
|
-
var TextInput_default = (0,
|
|
1269
|
+
var TextInput_default = (0, import_react27.forwardRef)(function TextInput(props, forwardedRef) {
|
|
1270
1270
|
const commonProps = {
|
|
1271
|
-
onPointerDown: (0,
|
|
1271
|
+
onPointerDown: (0, import_react27.useCallback)(
|
|
1272
1272
|
(event) => event.stopPropagation(),
|
|
1273
1273
|
[]
|
|
1274
1274
|
),
|
|
1275
|
-
onClick: (0,
|
|
1275
|
+
onClick: (0, import_react27.useCallback)(
|
|
1276
1276
|
(event) => event.stopPropagation(),
|
|
1277
1277
|
[]
|
|
1278
1278
|
),
|
|
@@ -1285,17 +1285,17 @@ var TextInput_default = (0, import_react26.forwardRef)(function TextInput(props,
|
|
|
1285
1285
|
...props
|
|
1286
1286
|
};
|
|
1287
1287
|
if ("readOnly" in commonProps) {
|
|
1288
|
-
return /* @__PURE__ */
|
|
1288
|
+
return /* @__PURE__ */ import_react27.default.createElement(ReadOnlyTextInput, { ref: forwardedRef, ...commonProps, readOnly: true });
|
|
1289
1289
|
} else if ("onChange" in commonProps) {
|
|
1290
|
-
return /* @__PURE__ */
|
|
1290
|
+
return /* @__PURE__ */ import_react27.default.createElement(ControlledTextInput, { ref: forwardedRef, ...commonProps });
|
|
1291
1291
|
} else {
|
|
1292
|
-
return /* @__PURE__ */
|
|
1292
|
+
return /* @__PURE__ */ import_react27.default.createElement(SubmittableTextInput, { ref: forwardedRef, ...commonProps });
|
|
1293
1293
|
}
|
|
1294
1294
|
});
|
|
1295
1295
|
|
|
1296
1296
|
// src/components/Popover.tsx
|
|
1297
1297
|
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
1298
|
-
var
|
|
1298
|
+
var import_react28 = __toESM(require("react"));
|
|
1299
1299
|
var import_styled_components11 = __toESM(require("styled-components"));
|
|
1300
1300
|
var ContentElement = (0, import_styled_components11.default)(PopoverPrimitive.Content)(({ theme, variant }) => ({
|
|
1301
1301
|
borderRadius: 4,
|
|
@@ -1342,7 +1342,7 @@ function Popover({
|
|
|
1342
1342
|
onFocusOutside,
|
|
1343
1343
|
onClickClose
|
|
1344
1344
|
}) {
|
|
1345
|
-
return /* @__PURE__ */
|
|
1345
|
+
return /* @__PURE__ */ import_react28.default.createElement(PopoverPrimitive.Root, { open, onOpenChange }, /* @__PURE__ */ import_react28.default.createElement(PopoverPrimitive.Trigger, { asChild: true }, trigger), /* @__PURE__ */ import_react28.default.createElement(PopoverPrimitive.Portal, null, /* @__PURE__ */ import_react28.default.createElement(
|
|
1346
1346
|
ContentElement,
|
|
1347
1347
|
{
|
|
1348
1348
|
variant,
|
|
@@ -1363,13 +1363,13 @@ function Popover({
|
|
|
1363
1363
|
}
|
|
1364
1364
|
},
|
|
1365
1365
|
children,
|
|
1366
|
-
showArrow && /* @__PURE__ */
|
|
1367
|
-
closable && /* @__PURE__ */
|
|
1366
|
+
showArrow && /* @__PURE__ */ import_react28.default.createElement(ArrowElement, null),
|
|
1367
|
+
closable && /* @__PURE__ */ import_react28.default.createElement(PopoverClose, null, /* @__PURE__ */ import_react28.default.createElement(IconButton, { iconName: "Cross2Icon", onClick: onClickClose }))
|
|
1368
1368
|
)));
|
|
1369
1369
|
}
|
|
1370
1370
|
|
|
1371
1371
|
// src/components/Stack.tsx
|
|
1372
|
-
var
|
|
1372
|
+
var import_react29 = __toESM(require("react"));
|
|
1373
1373
|
var import_styled_components12 = __toESM(require("styled-components"));
|
|
1374
1374
|
|
|
1375
1375
|
// src/utils/breakpoints.ts
|
|
@@ -1395,15 +1395,15 @@ var Element = import_styled_components12.default.div(({ styleProps, breakpoints
|
|
|
1395
1395
|
...styleProps,
|
|
1396
1396
|
...mergeBreakpoints(breakpoints || [])
|
|
1397
1397
|
}));
|
|
1398
|
-
var StackBase = (0,
|
|
1399
|
-
const elements2 = separator ? withSeparatorElements(
|
|
1398
|
+
var StackBase = (0, import_react29.forwardRef)(function StackBase2({ id, as, children, separator, breakpoints, tabIndex, href, ...rest }, forwardedRef) {
|
|
1399
|
+
const elements2 = separator ? withSeparatorElements(import_react29.Children.toArray(children), separator) : children;
|
|
1400
1400
|
const styleProps = {
|
|
1401
1401
|
display: "flex",
|
|
1402
1402
|
position: "relative",
|
|
1403
1403
|
alignItems: "stretch",
|
|
1404
1404
|
...rest
|
|
1405
1405
|
};
|
|
1406
|
-
return /* @__PURE__ */
|
|
1406
|
+
return /* @__PURE__ */ import_react29.default.createElement(
|
|
1407
1407
|
Element,
|
|
1408
1408
|
{
|
|
1409
1409
|
ref: forwardedRef,
|
|
@@ -1417,14 +1417,14 @@ var StackBase = (0, import_react28.forwardRef)(function StackBase2({ id, as, chi
|
|
|
1417
1417
|
elements2
|
|
1418
1418
|
);
|
|
1419
1419
|
});
|
|
1420
|
-
var VerticalStack = (0,
|
|
1421
|
-
(0,
|
|
1422
|
-
return /* @__PURE__ */
|
|
1420
|
+
var VerticalStack = (0, import_react29.memo)(
|
|
1421
|
+
(0, import_react29.forwardRef)(function VStack(props, forwardedRef) {
|
|
1422
|
+
return /* @__PURE__ */ import_react29.default.createElement(StackBase, { ...props, flexDirection: "column", ref: forwardedRef });
|
|
1423
1423
|
})
|
|
1424
1424
|
);
|
|
1425
|
-
var HorizontalStack = (0,
|
|
1426
|
-
(0,
|
|
1427
|
-
return /* @__PURE__ */
|
|
1425
|
+
var HorizontalStack = (0, import_react29.memo)(
|
|
1426
|
+
(0, import_react29.forwardRef)(function HStack(props, forwardedRef) {
|
|
1427
|
+
return /* @__PURE__ */ import_react29.default.createElement(StackBase, { ...props, flexDirection: "row", ref: forwardedRef });
|
|
1428
1428
|
})
|
|
1429
1429
|
);
|
|
1430
1430
|
var Stack = {
|
|
@@ -1433,7 +1433,7 @@ var Stack = {
|
|
|
1433
1433
|
};
|
|
1434
1434
|
|
|
1435
1435
|
// src/components/InputField.tsx
|
|
1436
|
-
var InputFieldContext = (0,
|
|
1436
|
+
var InputFieldContext = (0, import_react30.createContext)({
|
|
1437
1437
|
labelPosition: "end",
|
|
1438
1438
|
labelSize: 6,
|
|
1439
1439
|
hasLabel: false,
|
|
@@ -1461,11 +1461,11 @@ var LabelContainer = import_styled_components13.default.label(({ theme, labelPos
|
|
|
1461
1461
|
paddingRight: hasDropdown ? "16px" : "6px"
|
|
1462
1462
|
}
|
|
1463
1463
|
}));
|
|
1464
|
-
var InputFieldLabel = (0,
|
|
1465
|
-
(0,
|
|
1466
|
-
const { labelPosition, hasDropdown, setLabelWidth } = (0,
|
|
1467
|
-
const ref = (0,
|
|
1468
|
-
(0,
|
|
1464
|
+
var InputFieldLabel = (0, import_react30.memo)(
|
|
1465
|
+
(0, import_react30.forwardRef)(function InputFieldLabel2({ children = false, pointerEvents = "none", style: style3 }, forwardedRef) {
|
|
1466
|
+
const { labelPosition, hasDropdown, setLabelWidth } = (0, import_react30.useContext)(InputFieldContext);
|
|
1467
|
+
const ref = (0, import_react30.useRef)(null);
|
|
1468
|
+
(0, import_react30.useLayoutEffect)(() => {
|
|
1469
1469
|
if (!setLabelWidth)
|
|
1470
1470
|
return;
|
|
1471
1471
|
const width = ref.current?.getBoundingClientRect().width;
|
|
@@ -1473,7 +1473,7 @@ var InputFieldLabel = (0, import_react29.memo)(
|
|
|
1473
1473
|
return;
|
|
1474
1474
|
setLabelWidth(width);
|
|
1475
1475
|
}, [setLabelWidth]);
|
|
1476
|
-
return /* @__PURE__ */
|
|
1476
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
1477
1477
|
LabelContainer,
|
|
1478
1478
|
{
|
|
1479
1479
|
ref: (element) => {
|
|
@@ -1497,16 +1497,16 @@ var DropdownContainer = import_styled_components13.default.span(({ theme }) => (
|
|
|
1497
1497
|
display: "flex",
|
|
1498
1498
|
flexDirection: "column"
|
|
1499
1499
|
}));
|
|
1500
|
-
var InputFieldDropdownMenu = (0,
|
|
1501
|
-
const { size: size2 } = (0,
|
|
1502
|
-
const contentStyle = (0,
|
|
1500
|
+
var InputFieldDropdownMenu = (0, import_react30.memo)(function InputFieldDropdownMenu2({ id, items, onSelect, children }) {
|
|
1501
|
+
const { size: size2 } = (0, import_react30.useContext)(InputFieldContext);
|
|
1502
|
+
const contentStyle = (0, import_react30.useMemo)(
|
|
1503
1503
|
() => ({
|
|
1504
1504
|
margin: "-4px 0",
|
|
1505
1505
|
minHeight: size2 === "small" ? "15px" : void 0
|
|
1506
1506
|
}),
|
|
1507
1507
|
[size2]
|
|
1508
1508
|
);
|
|
1509
|
-
return /* @__PURE__ */
|
|
1509
|
+
return /* @__PURE__ */ import_react30.default.createElement(DropdownContainer, null, /* @__PURE__ */ import_react30.default.createElement(DropdownMenu, { items, onSelect }, children || /* @__PURE__ */ import_react30.default.createElement(Button, { id, variant: "thin", flex: "1", contentStyle }, /* @__PURE__ */ import_react30.default.createElement(import_noya_icons2.CaretDownIcon, null))));
|
|
1510
1510
|
});
|
|
1511
1511
|
var ButtonContainer = import_styled_components13.default.span(
|
|
1512
1512
|
({ theme, size: size2 }) => ({
|
|
@@ -1515,12 +1515,12 @@ var ButtonContainer = import_styled_components13.default.span(
|
|
|
1515
1515
|
top: size2 === "large" ? "8px" : size2 === "medium" ? "4px" : "2px"
|
|
1516
1516
|
})
|
|
1517
1517
|
);
|
|
1518
|
-
var InputFieldButton = (0,
|
|
1518
|
+
var InputFieldButton = (0, import_react30.memo)(function InputFieldButton2({
|
|
1519
1519
|
children,
|
|
1520
1520
|
onClick
|
|
1521
1521
|
}) {
|
|
1522
|
-
const { size: size2, inputRef } = (0,
|
|
1523
|
-
const defaultHandleClick = (0,
|
|
1522
|
+
const { size: size2, inputRef } = (0, import_react30.useContext)(InputFieldContext);
|
|
1523
|
+
const defaultHandleClick = (0, import_react30.useCallback)(
|
|
1524
1524
|
(event) => {
|
|
1525
1525
|
if (inputRef && typeof inputRef !== "function") {
|
|
1526
1526
|
inputRef.current?.focus();
|
|
@@ -1531,11 +1531,11 @@ var InputFieldButton = (0, import_react29.memo)(function InputFieldButton2({
|
|
|
1531
1531
|
},
|
|
1532
1532
|
[inputRef]
|
|
1533
1533
|
);
|
|
1534
|
-
const handlePointerDown = (0,
|
|
1534
|
+
const handlePointerDown = (0, import_react30.useCallback)((event) => {
|
|
1535
1535
|
event.preventDefault();
|
|
1536
1536
|
event.stopPropagation();
|
|
1537
1537
|
}, []);
|
|
1538
|
-
return /* @__PURE__ */
|
|
1538
|
+
return /* @__PURE__ */ import_react30.default.createElement(ButtonContainer, { size: size2 }, /* @__PURE__ */ import_react30.default.createElement(
|
|
1539
1539
|
Button,
|
|
1540
1540
|
{
|
|
1541
1541
|
variant: "floating",
|
|
@@ -1622,7 +1622,7 @@ var InputElement = (0, import_styled_components13.default)(TextInput_default).wi
|
|
|
1622
1622
|
}
|
|
1623
1623
|
})
|
|
1624
1624
|
);
|
|
1625
|
-
var InputFieldInput = (0,
|
|
1625
|
+
var InputFieldInput = (0, import_react30.forwardRef)(function InputFieldInput2(props, forwardedRef) {
|
|
1626
1626
|
const {
|
|
1627
1627
|
labelPosition,
|
|
1628
1628
|
labelSize,
|
|
@@ -1631,17 +1631,17 @@ var InputFieldInput = (0, import_react29.forwardRef)(function InputFieldInput2(p
|
|
|
1631
1631
|
size: size2,
|
|
1632
1632
|
onFocusChange,
|
|
1633
1633
|
setInputRef
|
|
1634
|
-
} = (0,
|
|
1635
|
-
const handleFocusChange = (0,
|
|
1634
|
+
} = (0, import_react30.useContext)(InputFieldContext);
|
|
1635
|
+
const handleFocusChange = (0, import_react30.useCallback)(
|
|
1636
1636
|
(isFocused) => {
|
|
1637
1637
|
onFocusChange(isFocused);
|
|
1638
1638
|
},
|
|
1639
1639
|
[onFocusChange]
|
|
1640
1640
|
);
|
|
1641
|
-
(0,
|
|
1641
|
+
(0, import_react30.useLayoutEffect)(() => {
|
|
1642
1642
|
setInputRef?.(forwardedRef);
|
|
1643
1643
|
}, [forwardedRef, setInputRef]);
|
|
1644
|
-
return /* @__PURE__ */
|
|
1644
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
1645
1645
|
InputElement,
|
|
1646
1646
|
{
|
|
1647
1647
|
ref: forwardedRef,
|
|
@@ -1663,8 +1663,8 @@ var InputFieldTypeahead = (props) => {
|
|
|
1663
1663
|
hasLabel,
|
|
1664
1664
|
size: size2,
|
|
1665
1665
|
onFocusChange
|
|
1666
|
-
} = (0,
|
|
1667
|
-
return /* @__PURE__ */
|
|
1666
|
+
} = (0, import_react30.useContext)(InputFieldContext);
|
|
1667
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
1668
1668
|
InputElement,
|
|
1669
1669
|
{
|
|
1670
1670
|
labelPosition,
|
|
@@ -1698,7 +1698,7 @@ function InputFieldNumberInput(props) {
|
|
|
1698
1698
|
const { value, placeholder, onNudge } = props;
|
|
1699
1699
|
const onSubmit = "onSubmit" in props ? props.onSubmit : void 0;
|
|
1700
1700
|
const onChange = "onChange" in props ? props.onChange : void 0;
|
|
1701
|
-
const handleSubmit = (0,
|
|
1701
|
+
const handleSubmit = (0, import_react30.useCallback)(
|
|
1702
1702
|
(value2) => {
|
|
1703
1703
|
const newValue = parseNumber(value2);
|
|
1704
1704
|
if (!isNaN(newValue)) {
|
|
@@ -1707,7 +1707,7 @@ function InputFieldNumberInput(props) {
|
|
|
1707
1707
|
},
|
|
1708
1708
|
[onSubmit]
|
|
1709
1709
|
);
|
|
1710
|
-
const handleKeyDown = (0,
|
|
1710
|
+
const handleKeyDown = (0, import_react30.useCallback)(
|
|
1711
1711
|
(event) => {
|
|
1712
1712
|
const amount = handleNudge(event);
|
|
1713
1713
|
if (!amount)
|
|
@@ -1718,13 +1718,13 @@ function InputFieldNumberInput(props) {
|
|
|
1718
1718
|
},
|
|
1719
1719
|
[onNudge]
|
|
1720
1720
|
);
|
|
1721
|
-
const handleChange = (0,
|
|
1721
|
+
const handleChange = (0, import_react30.useCallback)(
|
|
1722
1722
|
(value2) => {
|
|
1723
1723
|
onChange?.(parseNumber(value2));
|
|
1724
1724
|
},
|
|
1725
1725
|
[onChange]
|
|
1726
1726
|
);
|
|
1727
|
-
return /* @__PURE__ */
|
|
1727
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
1728
1728
|
InputFieldInput,
|
|
1729
1729
|
{
|
|
1730
1730
|
...props,
|
|
@@ -1755,32 +1755,32 @@ function InputFieldRoot({
|
|
|
1755
1755
|
renderPopoverContent,
|
|
1756
1756
|
onFocusChange
|
|
1757
1757
|
}) {
|
|
1758
|
-
const childrenArray =
|
|
1758
|
+
const childrenArray = import_react30.Children.toArray(children);
|
|
1759
1759
|
const hasDropdown = childrenArray.some(
|
|
1760
|
-
(child) => (0,
|
|
1760
|
+
(child) => (0, import_react30.isValidElement)(child) && child.type === InputFieldDropdownMenu
|
|
1761
1761
|
);
|
|
1762
1762
|
const hasLabel = childrenArray.some(
|
|
1763
|
-
(child) => (0,
|
|
1763
|
+
(child) => (0, import_react30.isValidElement)(child) && child.type === InputFieldLabel
|
|
1764
1764
|
);
|
|
1765
|
-
const [isFocused, setIsFocused] =
|
|
1766
|
-
const [measuredLabelSize, setMeasuredLabelSize] =
|
|
1767
|
-
const [measuredWidth, setMeasuredWidth] =
|
|
1768
|
-
const handleFocusChange = (0,
|
|
1765
|
+
const [isFocused, setIsFocused] = import_react30.default.useState(false);
|
|
1766
|
+
const [measuredLabelSize, setMeasuredLabelSize] = import_react30.default.useState();
|
|
1767
|
+
const [measuredWidth, setMeasuredWidth] = import_react30.default.useState();
|
|
1768
|
+
const handleFocusChange = (0, import_react30.useCallback)(
|
|
1769
1769
|
(isFocused2) => {
|
|
1770
1770
|
setIsFocused(isFocused2);
|
|
1771
1771
|
onFocusChange?.(isFocused2);
|
|
1772
1772
|
},
|
|
1773
1773
|
[onFocusChange]
|
|
1774
1774
|
);
|
|
1775
|
-
const [inputRef, setInputRef] =
|
|
1776
|
-
(0,
|
|
1775
|
+
const [inputRef, setInputRef] = import_react30.default.useState();
|
|
1776
|
+
(0, import_react30.useEffect)(() => {
|
|
1777
1777
|
if (inputRef && typeof inputRef !== "function") {
|
|
1778
1778
|
setMeasuredWidth?.(
|
|
1779
1779
|
isFocused ? inputRef?.current?.getBoundingClientRect().width : void 0
|
|
1780
1780
|
);
|
|
1781
1781
|
}
|
|
1782
1782
|
}, [inputRef, isFocused]);
|
|
1783
|
-
const contextValue = (0,
|
|
1783
|
+
const contextValue = (0, import_react30.useMemo)(
|
|
1784
1784
|
() => ({
|
|
1785
1785
|
labelPosition,
|
|
1786
1786
|
labelSize: measuredLabelSize ?? labelSize ?? 6,
|
|
@@ -1805,8 +1805,8 @@ function InputFieldRoot({
|
|
|
1805
1805
|
inputRef
|
|
1806
1806
|
]
|
|
1807
1807
|
);
|
|
1808
|
-
const rootElement = /* @__PURE__ */
|
|
1809
|
-
return /* @__PURE__ */
|
|
1808
|
+
const rootElement = /* @__PURE__ */ import_react30.default.createElement(RootContainer, { id, width, flex }, children);
|
|
1809
|
+
return /* @__PURE__ */ import_react30.default.createElement(InputFieldContext.Provider, { value: contextValue }, renderPopoverContent ? /* @__PURE__ */ import_react30.default.createElement(
|
|
1810
1810
|
Popover,
|
|
1811
1811
|
{
|
|
1812
1812
|
open: true,
|
|
@@ -1822,15 +1822,15 @@ function InputFieldRoot({
|
|
|
1822
1822
|
event.stopPropagation();
|
|
1823
1823
|
}
|
|
1824
1824
|
},
|
|
1825
|
-
measuredWidth && /* @__PURE__ */
|
|
1825
|
+
measuredWidth && /* @__PURE__ */ import_react30.default.createElement(Stack.V, { width: measuredWidth, overflow: "hidden" }, renderPopoverContent({ width: measuredWidth }))
|
|
1826
1826
|
) : rootElement);
|
|
1827
1827
|
}
|
|
1828
1828
|
var InputField;
|
|
1829
1829
|
((InputField2) => {
|
|
1830
|
-
InputField2.Root = (0,
|
|
1831
|
-
InputField2.Input = (0,
|
|
1832
|
-
InputField2.Typeahead = (0,
|
|
1833
|
-
InputField2.NumberInput = (0,
|
|
1830
|
+
InputField2.Root = (0, import_react30.memo)(InputFieldRoot);
|
|
1831
|
+
InputField2.Input = (0, import_react30.memo)(InputFieldInput);
|
|
1832
|
+
InputField2.Typeahead = (0, import_react30.memo)(InputFieldTypeahead);
|
|
1833
|
+
InputField2.NumberInput = (0, import_react30.memo)(InputFieldNumberInput);
|
|
1834
1834
|
InputField2.DropdownMenu = InputFieldDropdownMenu;
|
|
1835
1835
|
InputField2.Button = InputFieldButton;
|
|
1836
1836
|
InputField2.Label = InputFieldLabel;
|
|
@@ -1854,24 +1854,24 @@ function createDeferredPromise() {
|
|
|
1854
1854
|
});
|
|
1855
1855
|
return { promise, resolve, reject };
|
|
1856
1856
|
}
|
|
1857
|
-
var DialogContext = (0,
|
|
1857
|
+
var DialogContext = (0, import_react31.createContext)(void 0);
|
|
1858
1858
|
var DialogProvider = function DialogProvider2({
|
|
1859
1859
|
children
|
|
1860
1860
|
}) {
|
|
1861
|
-
const [contents, setContents] = (0,
|
|
1861
|
+
const [contents, setContents] = (0, import_react31.useState)();
|
|
1862
1862
|
const isOpen = !!contents;
|
|
1863
|
-
const close = (0,
|
|
1863
|
+
const close = (0, import_react31.useCallback)(() => {
|
|
1864
1864
|
if (!contents)
|
|
1865
1865
|
return;
|
|
1866
1866
|
contents.resolve(void 0);
|
|
1867
1867
|
}, [contents]);
|
|
1868
|
-
const submit = (0,
|
|
1868
|
+
const submit = (0, import_react31.useCallback)(() => {
|
|
1869
1869
|
if (!contents || !contents.inputValue)
|
|
1870
1870
|
return;
|
|
1871
1871
|
contents.resolve(contents.inputValue);
|
|
1872
1872
|
setContents(void 0);
|
|
1873
1873
|
}, [contents]);
|
|
1874
|
-
const open = (0,
|
|
1874
|
+
const open = (0, import_react31.useCallback)(
|
|
1875
1875
|
(title, inputValue = "") => {
|
|
1876
1876
|
const { promise, resolve } = createDeferredPromise();
|
|
1877
1877
|
setContents({
|
|
@@ -1886,7 +1886,7 @@ var DialogProvider = function DialogProvider2({
|
|
|
1886
1886
|
},
|
|
1887
1887
|
[]
|
|
1888
1888
|
);
|
|
1889
|
-
const handleKeyDown = (0,
|
|
1889
|
+
const handleKeyDown = (0, import_react31.useCallback)(
|
|
1890
1890
|
(event) => {
|
|
1891
1891
|
if (event.key !== "Enter")
|
|
1892
1892
|
return;
|
|
@@ -1896,29 +1896,29 @@ var DialogProvider = function DialogProvider2({
|
|
|
1896
1896
|
},
|
|
1897
1897
|
[submit]
|
|
1898
1898
|
);
|
|
1899
|
-
const inputRef = (0,
|
|
1900
|
-
const dialogRef = (0,
|
|
1901
|
-
const containsElement = (0,
|
|
1899
|
+
const inputRef = (0, import_react31.useRef)(null);
|
|
1900
|
+
const dialogRef = (0, import_react31.useRef)(null);
|
|
1901
|
+
const containsElement = (0, import_react31.useCallback)((element) => {
|
|
1902
1902
|
if (!dialogRef.current)
|
|
1903
1903
|
return false;
|
|
1904
1904
|
return dialogRef.current.containsElement(element);
|
|
1905
1905
|
}, []);
|
|
1906
|
-
return /* @__PURE__ */
|
|
1906
|
+
return /* @__PURE__ */ import_react31.default.createElement(import_react31.default.Fragment, null, /* @__PURE__ */ import_react31.default.createElement(
|
|
1907
1907
|
DialogContext.Provider,
|
|
1908
1908
|
{
|
|
1909
|
-
value: (0,
|
|
1909
|
+
value: (0, import_react31.useMemo)(
|
|
1910
1910
|
() => ({ openInputDialog: open, containsElement }),
|
|
1911
1911
|
[containsElement, open]
|
|
1912
1912
|
)
|
|
1913
1913
|
},
|
|
1914
1914
|
children
|
|
1915
|
-
), /* @__PURE__ */
|
|
1915
|
+
), /* @__PURE__ */ import_react31.default.createElement(
|
|
1916
1916
|
Dialog,
|
|
1917
1917
|
{
|
|
1918
1918
|
ref: dialogRef,
|
|
1919
1919
|
title: contents?.title,
|
|
1920
1920
|
open: isOpen,
|
|
1921
|
-
onOpenChange: (0,
|
|
1921
|
+
onOpenChange: (0, import_react31.useCallback)(
|
|
1922
1922
|
(isOpen2) => {
|
|
1923
1923
|
if (!isOpen2) {
|
|
1924
1924
|
close();
|
|
@@ -1926,14 +1926,14 @@ var DialogProvider = function DialogProvider2({
|
|
|
1926
1926
|
},
|
|
1927
1927
|
[close]
|
|
1928
1928
|
),
|
|
1929
|
-
onOpenAutoFocus: (0,
|
|
1929
|
+
onOpenAutoFocus: (0, import_react31.useCallback)((event) => {
|
|
1930
1930
|
event.stopPropagation();
|
|
1931
1931
|
event.preventDefault();
|
|
1932
1932
|
inputRef.current?.focus();
|
|
1933
1933
|
inputRef.current?.setSelectionRange(0, inputRef.current.value.length);
|
|
1934
1934
|
}, [])
|
|
1935
1935
|
},
|
|
1936
|
-
/* @__PURE__ */
|
|
1936
|
+
/* @__PURE__ */ import_react31.default.createElement(InputField.Root, null, /* @__PURE__ */ import_react31.default.createElement(
|
|
1937
1937
|
InputField.Input,
|
|
1938
1938
|
{
|
|
1939
1939
|
ref: inputRef,
|
|
@@ -1949,12 +1949,12 @@ var DialogProvider = function DialogProvider2({
|
|
|
1949
1949
|
onKeyDown: handleKeyDown
|
|
1950
1950
|
}
|
|
1951
1951
|
)),
|
|
1952
|
-
/* @__PURE__ */
|
|
1953
|
-
/* @__PURE__ */
|
|
1952
|
+
/* @__PURE__ */ import_react31.default.createElement(Spacer.Vertical, { size: 20 }),
|
|
1953
|
+
/* @__PURE__ */ import_react31.default.createElement(Row, null, /* @__PURE__ */ import_react31.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react31.default.createElement(Button, { onClick: close }, "Cancel"), /* @__PURE__ */ import_react31.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react31.default.createElement(Button, { disabled: !contents?.inputValue, onClick: submit }, "Submit"))
|
|
1954
1954
|
));
|
|
1955
1955
|
};
|
|
1956
1956
|
function useDialog() {
|
|
1957
|
-
const value = (0,
|
|
1957
|
+
const value = (0, import_react31.useContext)(DialogContext);
|
|
1958
1958
|
if (!value) {
|
|
1959
1959
|
throw new Error("Missing DialogProvider");
|
|
1960
1960
|
}
|
|
@@ -1968,19 +1968,19 @@ function useDialogContainsElement() {
|
|
|
1968
1968
|
}
|
|
1969
1969
|
|
|
1970
1970
|
// src/contexts/DesignSystemConfiguration.tsx
|
|
1971
|
-
var DesignSystemConfigurationContext = (0,
|
|
1972
|
-
var DesignSystemConfigurationProvider = (0,
|
|
1971
|
+
var DesignSystemConfigurationContext = (0, import_react32.createContext)(void 0);
|
|
1972
|
+
var DesignSystemConfigurationProvider = (0, import_react32.memo)(
|
|
1973
1973
|
function DesignSystemConfigurationProvider2({
|
|
1974
1974
|
children,
|
|
1975
1975
|
theme,
|
|
1976
1976
|
platform
|
|
1977
1977
|
}) {
|
|
1978
|
-
const contextValue = (0,
|
|
1979
|
-
return /* @__PURE__ */
|
|
1978
|
+
const contextValue = (0, import_react32.useMemo)(() => ({ platform }), [platform]);
|
|
1979
|
+
return /* @__PURE__ */ import_react32.default.createElement(DesignSystemConfigurationContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react32.default.createElement(import_styled_components15.ThemeProvider, { theme }, /* @__PURE__ */ import_react32.default.createElement(DialogProvider, null, /* @__PURE__ */ import_react32.default.createElement(ToastProvider, null, children))));
|
|
1980
1980
|
}
|
|
1981
1981
|
);
|
|
1982
1982
|
function useDesignSystemConfiguration() {
|
|
1983
|
-
const value = (0,
|
|
1983
|
+
const value = (0, import_react32.useContext)(DesignSystemConfigurationContext);
|
|
1984
1984
|
if (!value) {
|
|
1985
1985
|
throw new Error("Missing DesignSystemConfigurationProvider");
|
|
1986
1986
|
}
|
|
@@ -2168,7 +2168,7 @@ var AddElement = (0, import_styled_components16.default)(import_noya_icons3.Plus
|
|
|
2168
2168
|
opacity: 0.85
|
|
2169
2169
|
}
|
|
2170
2170
|
}));
|
|
2171
|
-
var Chip = (0,
|
|
2171
|
+
var Chip = (0, import_react33.memo)(function Chip2({
|
|
2172
2172
|
colorScheme,
|
|
2173
2173
|
children,
|
|
2174
2174
|
deletable,
|
|
@@ -2189,7 +2189,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
|
|
|
2189
2189
|
});
|
|
2190
2190
|
const handleClick = !children && !deletable && addable ? onAdd : onClick;
|
|
2191
2191
|
const color = colorScheme === "primary" ? theme.colors.primary : colorScheme === "secondary" ? theme.colors.secondary : theme.colors.text;
|
|
2192
|
-
return /* @__PURE__ */
|
|
2192
|
+
return /* @__PURE__ */ import_react33.default.createElement(
|
|
2193
2193
|
ChipElement,
|
|
2194
2194
|
{
|
|
2195
2195
|
variant,
|
|
@@ -2201,7 +2201,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
|
|
|
2201
2201
|
isInteractive: !!handleClick,
|
|
2202
2202
|
tabIndex
|
|
2203
2203
|
},
|
|
2204
|
-
addable && /* @__PURE__ */
|
|
2204
|
+
addable && /* @__PURE__ */ import_react33.default.createElement(
|
|
2205
2205
|
AddElement,
|
|
2206
2206
|
{
|
|
2207
2207
|
size: size2,
|
|
@@ -2214,7 +2214,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
|
|
|
2214
2214
|
}
|
|
2215
2215
|
),
|
|
2216
2216
|
children,
|
|
2217
|
-
deletable && /* @__PURE__ */
|
|
2217
|
+
deletable && /* @__PURE__ */ import_react33.default.createElement(
|
|
2218
2218
|
DeleteElement,
|
|
2219
2219
|
{
|
|
2220
2220
|
size: size2,
|
|
@@ -2233,7 +2233,7 @@ var Chip = (0, import_react32.memo)(function Chip2({
|
|
|
2233
2233
|
var import_noya_icons4 = require("@noya-app/noya-icons");
|
|
2234
2234
|
var import_noya_keymap3 = require("@noya-app/noya-keymap");
|
|
2235
2235
|
var RadixContextMenu = __toESM(require("@radix-ui/react-context-menu"));
|
|
2236
|
-
var
|
|
2236
|
+
var import_react34 = __toESM(require("react"));
|
|
2237
2237
|
var import_styled_components17 = __toESM(require("styled-components"));
|
|
2238
2238
|
var SeparatorElement2 = (0, import_styled_components17.default)(RadixContextMenu.Separator)(
|
|
2239
2239
|
styles.separatorStyle
|
|
@@ -2245,7 +2245,7 @@ var CheckboxItemElement2 = (0, import_styled_components17.default)(RadixContextM
|
|
|
2245
2245
|
var StyledItemIndicator2 = (0, import_styled_components17.default)(RadixContextMenu.ItemIndicator)(
|
|
2246
2246
|
styles.itemIndicatorStyle
|
|
2247
2247
|
);
|
|
2248
|
-
var ContextMenuItem2 = (0,
|
|
2248
|
+
var ContextMenuItem2 = (0, import_react34.memo)(function ContextMenuItem3({
|
|
2249
2249
|
value,
|
|
2250
2250
|
children,
|
|
2251
2251
|
onSelect,
|
|
@@ -2256,42 +2256,42 @@ var ContextMenuItem2 = (0, import_react33.memo)(function ContextMenuItem3({
|
|
|
2256
2256
|
items,
|
|
2257
2257
|
shortcut
|
|
2258
2258
|
}) {
|
|
2259
|
-
const handlePointerDown = (0,
|
|
2259
|
+
const handlePointerDown = (0, import_react34.useCallback)(
|
|
2260
2260
|
(event) => event.stopPropagation(),
|
|
2261
2261
|
[]
|
|
2262
2262
|
);
|
|
2263
|
-
const handleSelectItem = (0,
|
|
2263
|
+
const handleSelectItem = (0, import_react34.useCallback)(() => {
|
|
2264
2264
|
if (!value)
|
|
2265
2265
|
return;
|
|
2266
2266
|
onSelect(value);
|
|
2267
2267
|
}, [onSelect, value]);
|
|
2268
2268
|
if (checked) {
|
|
2269
|
-
return /* @__PURE__ */
|
|
2269
|
+
return /* @__PURE__ */ import_react34.default.createElement(
|
|
2270
2270
|
CheckboxItemElement2,
|
|
2271
2271
|
{
|
|
2272
2272
|
checked,
|
|
2273
2273
|
disabled,
|
|
2274
2274
|
onSelect: handleSelectItem
|
|
2275
2275
|
},
|
|
2276
|
-
/* @__PURE__ */
|
|
2276
|
+
/* @__PURE__ */ import_react34.default.createElement(StyledItemIndicator2, null, /* @__PURE__ */ import_react34.default.createElement(import_noya_icons4.CheckIcon, null)),
|
|
2277
2277
|
children
|
|
2278
2278
|
);
|
|
2279
2279
|
}
|
|
2280
|
-
const element = /* @__PURE__ */
|
|
2280
|
+
const element = /* @__PURE__ */ import_react34.default.createElement(
|
|
2281
2281
|
ItemElement2,
|
|
2282
2282
|
{
|
|
2283
2283
|
disabled,
|
|
2284
2284
|
onSelect: handleSelectItem,
|
|
2285
2285
|
onPointerDown: handlePointerDown
|
|
2286
2286
|
},
|
|
2287
|
-
indented && /* @__PURE__ */
|
|
2288
|
-
icon && /* @__PURE__ */
|
|
2287
|
+
indented && /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: CHECKBOX_WIDTH - CHECKBOX_RIGHT_INSET }),
|
|
2288
|
+
icon && /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, icon, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 8 })),
|
|
2289
2289
|
children,
|
|
2290
|
-
shortcut && /* @__PURE__ */
|
|
2291
|
-
items && items.length > 0 && /* @__PURE__ */
|
|
2290
|
+
shortcut && /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 24 }), /* @__PURE__ */ import_react34.default.createElement(KeyboardShortcut, { shortcut })),
|
|
2291
|
+
items && items.length > 0 && /* @__PURE__ */ import_react34.default.createElement(import_react34.default.Fragment, null, /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, null), /* @__PURE__ */ import_react34.default.createElement(Spacer.Horizontal, { size: 16 }), /* @__PURE__ */ import_react34.default.createElement(import_noya_icons4.ChevronRightIcon, null))
|
|
2292
2292
|
);
|
|
2293
2293
|
if (items && items.length > 0) {
|
|
2294
|
-
return /* @__PURE__ */
|
|
2294
|
+
return /* @__PURE__ */ import_react34.default.createElement(ContextMenuRoot, { isNested: true, items, onSelect }, element);
|
|
2295
2295
|
} else {
|
|
2296
2296
|
return element;
|
|
2297
2297
|
}
|
|
@@ -2309,19 +2309,19 @@ function ContextMenuRoot({
|
|
|
2309
2309
|
const hasCheckedItem = items.some(
|
|
2310
2310
|
(item) => item !== SEPARATOR_ITEM && item.checked
|
|
2311
2311
|
);
|
|
2312
|
-
const keymap = (0,
|
|
2312
|
+
const keymap = (0, import_react34.useMemo)(
|
|
2313
2313
|
() => isNested || shouldBindKeyboardShortcuts === false ? {} : getKeyboardShortcutsForMenuItems(items, onSelect),
|
|
2314
2314
|
[isNested, items, onSelect, shouldBindKeyboardShortcuts]
|
|
2315
2315
|
);
|
|
2316
2316
|
(0, import_noya_keymap3.useKeyboardShortcuts)(keymap);
|
|
2317
|
-
const onPointerDown = (0,
|
|
2317
|
+
const onPointerDown = (0, import_react34.useCallback)((event) => {
|
|
2318
2318
|
event.preventDefault();
|
|
2319
2319
|
}, []);
|
|
2320
2320
|
const RootComponent = isNested ? RadixContextMenu.Sub : RadixContextMenu.Root;
|
|
2321
2321
|
const TriggerComponent = isNested ? RadixContextMenu.SubTrigger : RadixContextMenu.Trigger;
|
|
2322
2322
|
const ContentComponent = isNested ? SubContent4 : Content8;
|
|
2323
|
-
return /* @__PURE__ */
|
|
2324
|
-
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */
|
|
2323
|
+
return /* @__PURE__ */ import_react34.default.createElement(RootComponent, { onOpenChange }, /* @__PURE__ */ import_react34.default.createElement(TriggerComponent, { asChild: true, onPointerDown }, children), /* @__PURE__ */ import_react34.default.createElement(RadixContextMenu.Portal, null, /* @__PURE__ */ import_react34.default.createElement(ContentComponent, null, items.map(
|
|
2324
|
+
(item, index) => item === SEPARATOR_ITEM ? /* @__PURE__ */ import_react34.default.createElement(SeparatorElement2, { key: index }) : /* @__PURE__ */ import_react34.default.createElement(
|
|
2325
2325
|
ContextMenuItem2,
|
|
2326
2326
|
{
|
|
2327
2327
|
key: item.value ?? index,
|
|
@@ -2338,26 +2338,26 @@ function ContextMenuRoot({
|
|
|
2338
2338
|
)
|
|
2339
2339
|
))));
|
|
2340
2340
|
}
|
|
2341
|
-
var ContextMenu = (0,
|
|
2341
|
+
var ContextMenu = (0, import_react34.memo)(ContextMenuRoot);
|
|
2342
2342
|
|
|
2343
2343
|
// src/components/Divider.tsx
|
|
2344
|
-
var
|
|
2344
|
+
var import_react35 = __toESM(require("react"));
|
|
2345
2345
|
var import_styled_components18 = __toESM(require("styled-components"));
|
|
2346
2346
|
var DividerContainer = import_styled_components18.default.div(({ theme, variant = "normal", orientation, overflow = 0 }) => ({
|
|
2347
2347
|
...orientation === "horizontal" ? { height: "1px", minHeight: "1px", margin: `0px -${overflow}px` } : { width: "1px", minWidth: "1px", margin: `-${overflow}px 0px` },
|
|
2348
2348
|
background: variant === "strong" ? theme.colors.dividerStrong : variant === "subtle" ? theme.colors.dividerSubtle : theme.colors.divider,
|
|
2349
2349
|
alignSelf: "stretch"
|
|
2350
2350
|
}));
|
|
2351
|
-
var Divider = (0,
|
|
2352
|
-
return /* @__PURE__ */
|
|
2351
|
+
var Divider = (0, import_react35.memo)(function Divider2(props) {
|
|
2352
|
+
return /* @__PURE__ */ import_react35.default.createElement(DividerContainer, { orientation: "horizontal", ...props });
|
|
2353
2353
|
});
|
|
2354
|
-
var DividerVertical = (0,
|
|
2355
|
-
return /* @__PURE__ */
|
|
2354
|
+
var DividerVertical = (0, import_react35.memo)(function DividerVertical2(props) {
|
|
2355
|
+
return /* @__PURE__ */ import_react35.default.createElement(DividerContainer, { orientation: "vertical", ...props });
|
|
2356
2356
|
});
|
|
2357
2357
|
|
|
2358
2358
|
// src/components/DraggableMenuButton.tsx
|
|
2359
2359
|
var import_noya_icons5 = require("@noya-app/noya-icons");
|
|
2360
|
-
var
|
|
2360
|
+
var import_react36 = __toESM(require("react"));
|
|
2361
2361
|
var import_styled_components19 = __toESM(require("styled-components"));
|
|
2362
2362
|
var DotButtonElement = import_styled_components19.default.div(({ theme }) => ({
|
|
2363
2363
|
cursor: "pointer",
|
|
@@ -2377,15 +2377,15 @@ var TriggerElement = import_styled_components19.default.div({
|
|
|
2377
2377
|
pointerEvents: "none",
|
|
2378
2378
|
height: "15px"
|
|
2379
2379
|
});
|
|
2380
|
-
var DraggableMenuButton = (0,
|
|
2380
|
+
var DraggableMenuButton = (0, import_react36.memo)(function DraggableMenuButton2({
|
|
2381
2381
|
items,
|
|
2382
2382
|
onSelect,
|
|
2383
2383
|
isVisible = true
|
|
2384
2384
|
}) {
|
|
2385
2385
|
const color = useDesignSystemTheme().colors.icon;
|
|
2386
|
-
const [open, setOpen] = (0,
|
|
2387
|
-
const [downPosition, setDownPosition] =
|
|
2388
|
-
const handlePointerDownCapture = (0,
|
|
2386
|
+
const [open, setOpen] = (0, import_react36.useState)(false);
|
|
2387
|
+
const [downPosition, setDownPosition] = import_react36.default.useState(null);
|
|
2388
|
+
const handlePointerDownCapture = (0, import_react36.useCallback)(
|
|
2389
2389
|
(event) => {
|
|
2390
2390
|
if (open) {
|
|
2391
2391
|
setDownPosition(null);
|
|
@@ -2398,7 +2398,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
|
|
|
2398
2398
|
},
|
|
2399
2399
|
[open]
|
|
2400
2400
|
);
|
|
2401
|
-
const handlePointerUp = (0,
|
|
2401
|
+
const handlePointerUp = (0, import_react36.useCallback)(
|
|
2402
2402
|
(event) => {
|
|
2403
2403
|
if (open || !downPosition) {
|
|
2404
2404
|
setDownPosition(null);
|
|
@@ -2414,14 +2414,14 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
|
|
|
2414
2414
|
},
|
|
2415
2415
|
[downPosition, open]
|
|
2416
2416
|
);
|
|
2417
|
-
const handleOpenChange = (0,
|
|
2417
|
+
const handleOpenChange = (0, import_react36.useCallback)(
|
|
2418
2418
|
(isOpen) => {
|
|
2419
2419
|
if (!isOpen)
|
|
2420
2420
|
setOpen(false);
|
|
2421
2421
|
},
|
|
2422
2422
|
[setOpen]
|
|
2423
2423
|
);
|
|
2424
|
-
return /* @__PURE__ */
|
|
2424
|
+
return /* @__PURE__ */ import_react36.default.createElement(
|
|
2425
2425
|
DotButtonElement,
|
|
2426
2426
|
{
|
|
2427
2427
|
onPointerDownCapture: handlePointerDownCapture,
|
|
@@ -2431,7 +2431,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
|
|
|
2431
2431
|
event.preventDefault();
|
|
2432
2432
|
}
|
|
2433
2433
|
},
|
|
2434
|
-
/* @__PURE__ */
|
|
2434
|
+
/* @__PURE__ */ import_react36.default.createElement(
|
|
2435
2435
|
DropdownMenu,
|
|
2436
2436
|
{
|
|
2437
2437
|
open,
|
|
@@ -2440,7 +2440,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
|
|
|
2440
2440
|
onSelect,
|
|
2441
2441
|
shouldBindKeyboardShortcuts: false
|
|
2442
2442
|
},
|
|
2443
|
-
/* @__PURE__ */
|
|
2443
|
+
/* @__PURE__ */ import_react36.default.createElement(TriggerElement, null, /* @__PURE__ */ import_react36.default.createElement(
|
|
2444
2444
|
import_noya_icons5.DragHandleDots2Icon,
|
|
2445
2445
|
{
|
|
2446
2446
|
color: isVisible || open ? color : "transparent"
|
|
@@ -2451,7 +2451,7 @@ var DraggableMenuButton = (0, import_react35.memo)(function DraggableMenuButton2
|
|
|
2451
2451
|
});
|
|
2452
2452
|
|
|
2453
2453
|
// src/components/FillInputField.tsx
|
|
2454
|
-
var
|
|
2454
|
+
var import_react40 = __toESM(require("react"));
|
|
2455
2455
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
2456
2456
|
|
|
2457
2457
|
// ../noya-file-format/src/types.ts
|
|
@@ -2777,26 +2777,26 @@ var ClassValue = /* @__PURE__ */ ((ClassValue2) => {
|
|
|
2777
2777
|
})(ClassValue || {});
|
|
2778
2778
|
|
|
2779
2779
|
// src/components/FillPreviewBackground.tsx
|
|
2780
|
-
var
|
|
2780
|
+
var import_react39 = __toESM(require("react"));
|
|
2781
2781
|
var import_styled_components20 = __toESM(require("styled-components"));
|
|
2782
2782
|
|
|
2783
2783
|
// src/contexts/ImageDataContext.tsx
|
|
2784
|
-
var
|
|
2785
|
-
var ImageDataContext = (0,
|
|
2784
|
+
var import_react37 = __toESM(require("react"));
|
|
2785
|
+
var ImageDataContext = (0, import_react37.createContext)(
|
|
2786
2786
|
void 0
|
|
2787
2787
|
);
|
|
2788
|
-
var ImageDataProvider = (0,
|
|
2788
|
+
var ImageDataProvider = (0, import_react37.memo)(function ImageDataProvider2({
|
|
2789
2789
|
children,
|
|
2790
2790
|
getImageData
|
|
2791
2791
|
}) {
|
|
2792
|
-
const contextValue = (0,
|
|
2792
|
+
const contextValue = (0, import_react37.useMemo)(
|
|
2793
2793
|
() => ({ getImageData: getImageData ?? (() => void 0) }),
|
|
2794
2794
|
[getImageData]
|
|
2795
2795
|
);
|
|
2796
|
-
return /* @__PURE__ */
|
|
2796
|
+
return /* @__PURE__ */ import_react37.default.createElement(ImageDataContext.Provider, { value: contextValue }, children);
|
|
2797
2797
|
});
|
|
2798
2798
|
function useImageData(ref) {
|
|
2799
|
-
const value = (0,
|
|
2799
|
+
const value = (0, import_react37.useContext)(ImageDataContext);
|
|
2800
2800
|
if (!value) {
|
|
2801
2801
|
throw new Error("Missing ImageDataProvider");
|
|
2802
2802
|
}
|
|
@@ -2804,15 +2804,15 @@ function useImageData(ref) {
|
|
|
2804
2804
|
}
|
|
2805
2805
|
|
|
2806
2806
|
// src/hooks/useObjectURL.ts
|
|
2807
|
-
var
|
|
2807
|
+
var import_react38 = require("react");
|
|
2808
2808
|
function useObjectURL(object) {
|
|
2809
|
-
const objectURL = (0,
|
|
2809
|
+
const objectURL = (0, import_react38.useMemo)(() => {
|
|
2810
2810
|
if (object instanceof Blob)
|
|
2811
2811
|
return URL.createObjectURL(object);
|
|
2812
2812
|
const bytes = object instanceof Uint8Array ? object : object !== void 0 ? new Uint8Array(object) : new Uint8Array();
|
|
2813
2813
|
return URL.createObjectURL(new Blob([bytes]));
|
|
2814
2814
|
}, [object]);
|
|
2815
|
-
(0,
|
|
2815
|
+
(0, import_react38.useLayoutEffect)(() => {
|
|
2816
2816
|
return () => URL.revokeObjectURL(objectURL);
|
|
2817
2817
|
}, [objectURL]);
|
|
2818
2818
|
return objectURL;
|
|
@@ -2868,9 +2868,9 @@ var Background = import_styled_components20.default.span(({ background }) => ({
|
|
|
2868
2868
|
position: "absolute",
|
|
2869
2869
|
inset: 0
|
|
2870
2870
|
}));
|
|
2871
|
-
var HorizontalDotsBackground = (0,
|
|
2871
|
+
var HorizontalDotsBackground = (0, import_react39.memo)(function HorizontalDotsBackground2() {
|
|
2872
2872
|
const { inputBackground, placeholderDots } = (0, import_styled_components20.useTheme)().colors;
|
|
2873
|
-
const background = (0,
|
|
2873
|
+
const background = (0, import_react39.useMemo)(
|
|
2874
2874
|
() => [
|
|
2875
2875
|
`center url("data:image/svg+xml;utf8,${dotsHorizontalSvg(
|
|
2876
2876
|
placeholderDots
|
|
@@ -2879,7 +2879,7 @@ var HorizontalDotsBackground = (0, import_react38.memo)(function HorizontalDotsB
|
|
|
2879
2879
|
].join(","),
|
|
2880
2880
|
[inputBackground, placeholderDots]
|
|
2881
2881
|
);
|
|
2882
|
-
return /* @__PURE__ */
|
|
2882
|
+
return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
|
|
2883
2883
|
});
|
|
2884
2884
|
function getPatternSizeAndPosition(fillType, tileScale) {
|
|
2885
2885
|
switch (fillType) {
|
|
@@ -2893,7 +2893,7 @@ function getPatternSizeAndPosition(fillType, tileScale) {
|
|
|
2893
2893
|
return "center / 100% 100%";
|
|
2894
2894
|
}
|
|
2895
2895
|
}
|
|
2896
|
-
var PatternPreviewBackground = (0,
|
|
2896
|
+
var PatternPreviewBackground = (0, import_react39.memo)(function PatternPreviewBackground2({
|
|
2897
2897
|
fillType,
|
|
2898
2898
|
tileScale,
|
|
2899
2899
|
imageRef
|
|
@@ -2901,7 +2901,7 @@ var PatternPreviewBackground = (0, import_react38.memo)(function PatternPreviewB
|
|
|
2901
2901
|
const image = useImageData(imageRef);
|
|
2902
2902
|
const url = useObjectURL(image);
|
|
2903
2903
|
const size2 = getPatternSizeAndPosition(fillType, tileScale);
|
|
2904
|
-
const background = (0,
|
|
2904
|
+
const background = (0, import_react39.useMemo)(
|
|
2905
2905
|
() => [
|
|
2906
2906
|
size2,
|
|
2907
2907
|
`url(${url})`,
|
|
@@ -2909,37 +2909,37 @@ var PatternPreviewBackground = (0, import_react38.memo)(function PatternPreviewB
|
|
|
2909
2909
|
].join(" "),
|
|
2910
2910
|
[fillType, size2, url]
|
|
2911
2911
|
);
|
|
2912
|
-
return /* @__PURE__ */
|
|
2912
|
+
return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
|
|
2913
2913
|
});
|
|
2914
|
-
var ColorPreviewBackground = (0,
|
|
2914
|
+
var ColorPreviewBackground = (0, import_react39.memo)(function ColorPreviewBackground2({
|
|
2915
2915
|
color
|
|
2916
2916
|
}) {
|
|
2917
|
-
const background = (0,
|
|
2918
|
-
return /* @__PURE__ */
|
|
2917
|
+
const background = (0, import_react39.useMemo)(() => sketchColorToRgbaString(color), [color]);
|
|
2918
|
+
return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
|
|
2919
2919
|
});
|
|
2920
|
-
var GradientPreviewBackground = (0,
|
|
2920
|
+
var GradientPreviewBackground = (0, import_react39.memo)(function GradientPreviewBackground2({
|
|
2921
2921
|
gradient
|
|
2922
2922
|
}) {
|
|
2923
|
-
const background = (0,
|
|
2923
|
+
const background = (0, import_react39.useMemo)(
|
|
2924
2924
|
() => getGradientBackground(gradient.stops, gradient.gradientType, 180),
|
|
2925
2925
|
[gradient.gradientType, gradient.stops]
|
|
2926
2926
|
);
|
|
2927
|
-
return /* @__PURE__ */
|
|
2927
|
+
return /* @__PURE__ */ import_react39.default.createElement(Background, { background });
|
|
2928
2928
|
});
|
|
2929
|
-
var FillPreviewBackground = (0,
|
|
2929
|
+
var FillPreviewBackground = (0, import_react39.memo)(function FillPreviewBackground2({
|
|
2930
2930
|
value
|
|
2931
2931
|
}) {
|
|
2932
2932
|
if (!value)
|
|
2933
|
-
return /* @__PURE__ */
|
|
2933
|
+
return /* @__PURE__ */ import_react39.default.createElement(HorizontalDotsBackground, null);
|
|
2934
2934
|
switch (value._class) {
|
|
2935
2935
|
case "color":
|
|
2936
|
-
return /* @__PURE__ */
|
|
2936
|
+
return /* @__PURE__ */ import_react39.default.createElement(ColorPreviewBackground, { color: value });
|
|
2937
2937
|
case "gradient":
|
|
2938
|
-
return /* @__PURE__ */
|
|
2938
|
+
return /* @__PURE__ */ import_react39.default.createElement(GradientPreviewBackground, { gradient: value });
|
|
2939
2939
|
case "pattern":
|
|
2940
2940
|
if (!value.image)
|
|
2941
2941
|
return null;
|
|
2942
|
-
return /* @__PURE__ */
|
|
2942
|
+
return /* @__PURE__ */ import_react39.default.createElement(
|
|
2943
2943
|
PatternPreviewBackground,
|
|
2944
2944
|
{
|
|
2945
2945
|
fillType: value.patternFillType,
|
|
@@ -2969,16 +2969,16 @@ var Container = import_styled_components21.default.button(
|
|
|
2969
2969
|
flex
|
|
2970
2970
|
})
|
|
2971
2971
|
);
|
|
2972
|
-
var FillInputField = (0,
|
|
2973
|
-
(0,
|
|
2974
|
-
return /* @__PURE__ */
|
|
2972
|
+
var FillInputField = (0, import_react40.memo)(
|
|
2973
|
+
(0, import_react40.forwardRef)(function FillInputField2({ id, value, ...rest }, ref) {
|
|
2974
|
+
return /* @__PURE__ */ import_react40.default.createElement(Container, { ref, id, ...rest }, /* @__PURE__ */ import_react40.default.createElement(FillPreviewBackground, { value }));
|
|
2975
2975
|
})
|
|
2976
2976
|
);
|
|
2977
2977
|
|
|
2978
2978
|
// src/components/GradientPicker.tsx
|
|
2979
2979
|
var import_noya_colorpicker2 = require("@noya-app/noya-colorpicker");
|
|
2980
|
-
var
|
|
2981
|
-
var GradientPicker = (0,
|
|
2980
|
+
var import_react41 = __toESM(require("react"));
|
|
2981
|
+
var GradientPicker = (0, import_react41.memo)(function GradientPicker2({
|
|
2982
2982
|
value,
|
|
2983
2983
|
selectedStop,
|
|
2984
2984
|
onChangeColor,
|
|
@@ -2987,7 +2987,7 @@ var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
|
|
|
2987
2987
|
onDelete,
|
|
2988
2988
|
onSelectStop
|
|
2989
2989
|
}) {
|
|
2990
|
-
const colorModel = (0,
|
|
2990
|
+
const colorModel = (0, import_react41.useMemo)(
|
|
2991
2991
|
() => ({
|
|
2992
2992
|
defaultColor: { r: 0, g: 0, b: 0, a: 1 },
|
|
2993
2993
|
toHsva: import_noya_colorpicker2.rgbaToHsva,
|
|
@@ -2996,30 +2996,30 @@ var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
|
|
|
2996
2996
|
}),
|
|
2997
2997
|
[]
|
|
2998
2998
|
);
|
|
2999
|
-
const rgbaColor = (0,
|
|
2999
|
+
const rgbaColor = (0, import_react41.useMemo)(
|
|
3000
3000
|
() => sketchColorToRgba(value[selectedStop].color),
|
|
3001
3001
|
[value, selectedStop]
|
|
3002
3002
|
);
|
|
3003
|
-
const handleChangeColor = (0,
|
|
3003
|
+
const handleChangeColor = (0, import_react41.useCallback)(
|
|
3004
3004
|
(value2) => {
|
|
3005
3005
|
onChangeColor(rgbaToSketchColor(value2));
|
|
3006
3006
|
},
|
|
3007
3007
|
[onChangeColor]
|
|
3008
3008
|
);
|
|
3009
|
-
const handleAddGradientStop = (0,
|
|
3009
|
+
const handleAddGradientStop = (0, import_react41.useCallback)(
|
|
3010
3010
|
(value2, position) => {
|
|
3011
3011
|
onAdd(rgbaToSketchColor(value2), position);
|
|
3012
3012
|
},
|
|
3013
3013
|
[onAdd]
|
|
3014
3014
|
);
|
|
3015
|
-
return /* @__PURE__ */
|
|
3015
|
+
return /* @__PURE__ */ import_react41.default.createElement(
|
|
3016
3016
|
import_noya_colorpicker2.ColorPicker,
|
|
3017
3017
|
{
|
|
3018
3018
|
onChange: handleChangeColor,
|
|
3019
3019
|
colorModel,
|
|
3020
3020
|
color: rgbaColor
|
|
3021
3021
|
},
|
|
3022
|
-
/* @__PURE__ */
|
|
3022
|
+
/* @__PURE__ */ import_react41.default.createElement(
|
|
3023
3023
|
import_noya_colorpicker2.Gradient,
|
|
3024
3024
|
{
|
|
3025
3025
|
gradients: value,
|
|
@@ -3030,12 +3030,12 @@ var GradientPicker = (0, import_react40.memo)(function GradientPicker2({
|
|
|
3030
3030
|
onDelete
|
|
3031
3031
|
}
|
|
3032
3032
|
),
|
|
3033
|
-
/* @__PURE__ */
|
|
3034
|
-
/* @__PURE__ */
|
|
3035
|
-
/* @__PURE__ */
|
|
3036
|
-
/* @__PURE__ */
|
|
3037
|
-
/* @__PURE__ */
|
|
3038
|
-
/* @__PURE__ */
|
|
3033
|
+
/* @__PURE__ */ import_react41.default.createElement(Spacer.Vertical, { size: 10 }),
|
|
3034
|
+
/* @__PURE__ */ import_react41.default.createElement(import_noya_colorpicker2.Saturation, null),
|
|
3035
|
+
/* @__PURE__ */ import_react41.default.createElement(Spacer.Vertical, { size: 12 }),
|
|
3036
|
+
/* @__PURE__ */ import_react41.default.createElement(import_noya_colorpicker2.Hue, null),
|
|
3037
|
+
/* @__PURE__ */ import_react41.default.createElement(Spacer.Vertical, { size: 5 }),
|
|
3038
|
+
/* @__PURE__ */ import_react41.default.createElement(import_noya_colorpicker2.Alpha, null)
|
|
3039
3039
|
);
|
|
3040
3040
|
});
|
|
3041
3041
|
|
|
@@ -3067,12 +3067,12 @@ var Grid = import_styled_components22.default.div((props) => ({
|
|
|
3067
3067
|
}));
|
|
3068
3068
|
|
|
3069
3069
|
// src/components/GridView.tsx
|
|
3070
|
-
var
|
|
3070
|
+
var import_react43 = __toESM(require("react"));
|
|
3071
3071
|
var import_styled_components24 = __toESM(require("styled-components"));
|
|
3072
3072
|
|
|
3073
3073
|
// src/components/ScrollArea.tsx
|
|
3074
3074
|
var RadixScrollArea = __toESM(require("@radix-ui/react-scroll-area"));
|
|
3075
|
-
var
|
|
3075
|
+
var import_react42 = __toESM(require("react"));
|
|
3076
3076
|
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3077
3077
|
var SCROLLBAR_SIZE = 10;
|
|
3078
3078
|
var StyledViewport = (0, import_styled_components23.default)(RadixScrollArea.Viewport)({
|
|
@@ -3100,18 +3100,18 @@ var Container2 = import_styled_components23.default.div({
|
|
|
3100
3100
|
flex: "1 1 0px",
|
|
3101
3101
|
minHeight: 0
|
|
3102
3102
|
});
|
|
3103
|
-
var ScrollArea = (0,
|
|
3104
|
-
const [scrollElementRef, setScrollElementRef] = (0,
|
|
3105
|
-
return /* @__PURE__ */
|
|
3103
|
+
var ScrollArea = (0, import_react42.memo)(function ScrollArea2({ children }) {
|
|
3104
|
+
const [scrollElementRef, setScrollElementRef] = (0, import_react42.useState)(null);
|
|
3105
|
+
return /* @__PURE__ */ import_react42.default.createElement(Container2, null, /* @__PURE__ */ import_react42.default.createElement(RadixScrollArea.Root, { style: { width: "100%", height: "100%" } }, /* @__PURE__ */ import_react42.default.createElement(
|
|
3106
3106
|
StyledViewport,
|
|
3107
3107
|
{
|
|
3108
|
-
ref: (0,
|
|
3108
|
+
ref: (0, import_react42.useCallback)(
|
|
3109
3109
|
(ref) => setScrollElementRef(ref),
|
|
3110
3110
|
[]
|
|
3111
3111
|
)
|
|
3112
3112
|
},
|
|
3113
3113
|
typeof children === "function" ? scrollElementRef ? children(scrollElementRef) : null : children
|
|
3114
|
-
), /* @__PURE__ */
|
|
3114
|
+
), /* @__PURE__ */ import_react42.default.createElement(StyledScrollbar, { orientation: "vertical", className: "scroll-component" }, /* @__PURE__ */ import_react42.default.createElement(StyledThumb, { className: "scroll-component" }))));
|
|
3115
3115
|
});
|
|
3116
3116
|
|
|
3117
3117
|
// src/components/GridView.tsx
|
|
@@ -3291,7 +3291,7 @@ var Shimmer = import_styled_components24.default.div`
|
|
|
3291
3291
|
align-items: end;
|
|
3292
3292
|
padding: 4px;
|
|
3293
3293
|
`;
|
|
3294
|
-
var GridViewItem = (0,
|
|
3294
|
+
var GridViewItem = (0, import_react43.forwardRef)(function GridViewItem2({
|
|
3295
3295
|
id,
|
|
3296
3296
|
title,
|
|
3297
3297
|
subtitle,
|
|
@@ -3307,15 +3307,15 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
|
|
|
3307
3307
|
onContextMenu,
|
|
3308
3308
|
style: style3
|
|
3309
3309
|
}, forwardedRef) {
|
|
3310
|
-
const [hovered, setHovered] =
|
|
3310
|
+
const [hovered, setHovered] = import_react43.default.useState(false);
|
|
3311
3311
|
const { hoverProps } = useHover({
|
|
3312
3312
|
onHoverChange: (isHovering) => {
|
|
3313
3313
|
onHoverChange?.(isHovering);
|
|
3314
3314
|
setHovered(isHovering);
|
|
3315
3315
|
}
|
|
3316
3316
|
});
|
|
3317
|
-
const { textPosition, bordered, disabled } = (0,
|
|
3318
|
-
const handleClick = (0,
|
|
3317
|
+
const { textPosition, bordered, disabled } = (0, import_react43.useContext)(GridViewContext);
|
|
3318
|
+
const handleClick = (0, import_react43.useCallback)(
|
|
3319
3319
|
(event) => {
|
|
3320
3320
|
event.stopPropagation();
|
|
3321
3321
|
event.preventDefault();
|
|
@@ -3324,7 +3324,7 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
|
|
|
3324
3324
|
},
|
|
3325
3325
|
[onClick, onPress]
|
|
3326
3326
|
);
|
|
3327
|
-
const handleKeyDown = (0,
|
|
3327
|
+
const handleKeyDown = (0, import_react43.useCallback)(
|
|
3328
3328
|
(event) => {
|
|
3329
3329
|
if (event.key === "Enter" || event.key === " ") {
|
|
3330
3330
|
event.stopPropagation();
|
|
@@ -3336,7 +3336,7 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
|
|
|
3336
3336
|
},
|
|
3337
3337
|
[onPress]
|
|
3338
3338
|
);
|
|
3339
|
-
let element = /* @__PURE__ */
|
|
3339
|
+
let element = /* @__PURE__ */ import_react43.default.createElement(
|
|
3340
3340
|
ItemContainer,
|
|
3341
3341
|
{
|
|
3342
3342
|
id,
|
|
@@ -3345,7 +3345,7 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
|
|
|
3345
3345
|
tabIndex: disabled ? void 0 : 0,
|
|
3346
3346
|
onKeyDown: handleKeyDown
|
|
3347
3347
|
},
|
|
3348
|
-
/* @__PURE__ */
|
|
3348
|
+
/* @__PURE__ */ import_react43.default.createElement(
|
|
3349
3349
|
ContentContainer,
|
|
3350
3350
|
{
|
|
3351
3351
|
disabled,
|
|
@@ -3359,25 +3359,25 @@ var GridViewItem = (0, import_react42.forwardRef)(function GridViewItem2({
|
|
|
3359
3359
|
},
|
|
3360
3360
|
children
|
|
3361
3361
|
),
|
|
3362
|
-
textPosition === "below" && /* @__PURE__ */
|
|
3363
|
-
textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */
|
|
3364
|
-
loading && /* @__PURE__ */
|
|
3362
|
+
textPosition === "below" && /* @__PURE__ */ import_react43.default.createElement(import_react43.default.Fragment, null, /* @__PURE__ */ import_react43.default.createElement(Spacer.Vertical, { size: 8 }), /* @__PURE__ */ import_react43.default.createElement(ItemTitle, { showBackground: false }, title || " "), /* @__PURE__ */ import_react43.default.createElement(ItemDescription, { showBackground: false }, subtitle || " ")),
|
|
3363
|
+
textPosition === "overlay" && hovered && (title || subtitle) && /* @__PURE__ */ import_react43.default.createElement(TextOverlay, null, title && /* @__PURE__ */ import_react43.default.createElement(ItemTitle, { showBackground: true }, title), subtitle && /* @__PURE__ */ import_react43.default.createElement(ItemDescription, { showBackground: true }, subtitle)),
|
|
3364
|
+
loading && /* @__PURE__ */ import_react43.default.createElement(Shimmer, null, /* @__PURE__ */ import_react43.default.createElement(ActivityIndicator, { opacity: 0.5, size: 13 }))
|
|
3365
3365
|
);
|
|
3366
3366
|
if (menuItems && onSelectMenuItem) {
|
|
3367
|
-
element = /* @__PURE__ */
|
|
3367
|
+
element = /* @__PURE__ */ import_react43.default.createElement(ContextMenu, { items: menuItems, onSelect: onSelectMenuItem }, element);
|
|
3368
3368
|
}
|
|
3369
3369
|
if (textPosition === "toolip") {
|
|
3370
|
-
element = /* @__PURE__ */
|
|
3370
|
+
element = /* @__PURE__ */ import_react43.default.createElement(
|
|
3371
3371
|
Tooltip,
|
|
3372
3372
|
{
|
|
3373
|
-
content: /* @__PURE__ */
|
|
3373
|
+
content: /* @__PURE__ */ import_react43.default.createElement(Stack.V, { gap: 2 }, /* @__PURE__ */ import_react43.default.createElement(ItemTitle, { showBackground: false }, title), /* @__PURE__ */ import_react43.default.createElement(ItemDescription, { showBackground: false }, subtitle))
|
|
3374
3374
|
},
|
|
3375
3375
|
element
|
|
3376
3376
|
);
|
|
3377
3377
|
}
|
|
3378
3378
|
return element;
|
|
3379
3379
|
});
|
|
3380
|
-
var GridViewContext = (0,
|
|
3380
|
+
var GridViewContext = (0, import_react43.createContext)({
|
|
3381
3381
|
size: "small",
|
|
3382
3382
|
textPosition: "below",
|
|
3383
3383
|
bordered: false,
|
|
@@ -3392,7 +3392,7 @@ function GridViewRoot({
|
|
|
3392
3392
|
bordered = false,
|
|
3393
3393
|
disabled = false
|
|
3394
3394
|
}) {
|
|
3395
|
-
const handleClick = (0,
|
|
3395
|
+
const handleClick = (0, import_react43.useCallback)(
|
|
3396
3396
|
(event) => {
|
|
3397
3397
|
event.stopPropagation();
|
|
3398
3398
|
event.preventDefault();
|
|
@@ -3400,7 +3400,7 @@ function GridViewRoot({
|
|
|
3400
3400
|
},
|
|
3401
3401
|
[onClick]
|
|
3402
3402
|
);
|
|
3403
|
-
const contextValue = (0,
|
|
3403
|
+
const contextValue = (0, import_react43.useMemo)(
|
|
3404
3404
|
() => ({
|
|
3405
3405
|
size: size2,
|
|
3406
3406
|
textPosition,
|
|
@@ -3409,33 +3409,33 @@ function GridViewRoot({
|
|
|
3409
3409
|
}),
|
|
3410
3410
|
[bordered, disabled, size2, textPosition]
|
|
3411
3411
|
);
|
|
3412
|
-
return /* @__PURE__ */
|
|
3412
|
+
return /* @__PURE__ */ import_react43.default.createElement(GridViewContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react43.default.createElement(Container3, { onClick: handleClick, scrollable }, scrollable ? /* @__PURE__ */ import_react43.default.createElement(ScrollArea, null, children) : children));
|
|
3413
3413
|
}
|
|
3414
3414
|
function GridViewSection({
|
|
3415
3415
|
children,
|
|
3416
3416
|
padding = "20px"
|
|
3417
3417
|
}) {
|
|
3418
|
-
const { size: size2 } = (0,
|
|
3419
|
-
return /* @__PURE__ */
|
|
3418
|
+
const { size: size2 } = (0, import_react43.useContext)(GridViewContext);
|
|
3419
|
+
return /* @__PURE__ */ import_react43.default.createElement(Grid2, { size: size2, padding }, children);
|
|
3420
3420
|
}
|
|
3421
3421
|
function GridViewSectionHeader({ title }) {
|
|
3422
3422
|
const grouped = title.split("/");
|
|
3423
|
-
return /* @__PURE__ */
|
|
3424
|
-
grouped.map((title2, index) => /* @__PURE__ */
|
|
3425
|
-
/* @__PURE__ */
|
|
3423
|
+
return /* @__PURE__ */ import_react43.default.createElement(SectionHeaderContainer, null, /* @__PURE__ */ import_react43.default.createElement(Spacer.Vertical, { size: 24 }), withSeparatorElements(
|
|
3424
|
+
grouped.map((title2, index) => /* @__PURE__ */ import_react43.default.createElement(SectionTitle, { last: index === grouped.length - 1 }, title2)),
|
|
3425
|
+
/* @__PURE__ */ import_react43.default.createElement(SectionTitle, null, " / ")
|
|
3426
3426
|
));
|
|
3427
3427
|
}
|
|
3428
3428
|
var GridView;
|
|
3429
3429
|
((GridView2) => {
|
|
3430
|
-
GridView2.Root = (0,
|
|
3431
|
-
GridView2.Item = (0,
|
|
3432
|
-
GridView2.Section = (0,
|
|
3433
|
-
GridView2.SectionHeader = (0,
|
|
3430
|
+
GridView2.Root = (0, import_react43.memo)(GridViewRoot);
|
|
3431
|
+
GridView2.Item = (0, import_react43.memo)(GridViewItem);
|
|
3432
|
+
GridView2.Section = (0, import_react43.memo)(GridViewSection);
|
|
3433
|
+
GridView2.SectionHeader = (0, import_react43.memo)(GridViewSectionHeader);
|
|
3434
3434
|
})(GridView || (GridView = {}));
|
|
3435
3435
|
|
|
3436
3436
|
// src/components/InputFieldWithCompletions.tsx
|
|
3437
3437
|
var import_noya_utils8 = require("@noya-app/noya-utils");
|
|
3438
|
-
var
|
|
3438
|
+
var import_react47 = __toESM(require("react"));
|
|
3439
3439
|
var import_styled_components27 = __toESM(require("styled-components"));
|
|
3440
3440
|
|
|
3441
3441
|
// src/utils/fuzzyScorer.ts
|
|
@@ -3512,7 +3512,7 @@ function mergeRanges(ranges) {
|
|
|
3512
3512
|
// src/components/ListView.tsx
|
|
3513
3513
|
var import_noya_utils7 = require("@noya-app/noya-utils");
|
|
3514
3514
|
var import_react_compose_refs2 = require("@radix-ui/react-compose-refs");
|
|
3515
|
-
var
|
|
3515
|
+
var import_react45 = __toESM(require("react"));
|
|
3516
3516
|
var import_react_virtualized = require("react-virtualized");
|
|
3517
3517
|
var import_react_window = require("react-window");
|
|
3518
3518
|
var import_styled_components25 = __toESM(require("styled-components"));
|
|
@@ -3540,18 +3540,10 @@ function mergeEventHandlers(...handlerMaps) {
|
|
|
3540
3540
|
);
|
|
3541
3541
|
}
|
|
3542
3542
|
|
|
3543
|
-
// src/utils/mouseEvent.ts
|
|
3544
|
-
function isLeftButtonClicked(event) {
|
|
3545
|
-
return event.button === 0;
|
|
3546
|
-
}
|
|
3547
|
-
function isRightButtonClicked(event) {
|
|
3548
|
-
return event.button === 2;
|
|
3549
|
-
}
|
|
3550
|
-
|
|
3551
3543
|
// src/components/Sortable.tsx
|
|
3552
3544
|
var import_core = require("@dnd-kit/core");
|
|
3553
3545
|
var import_sortable = require("@dnd-kit/sortable");
|
|
3554
|
-
var
|
|
3546
|
+
var import_react44 = __toESM(require("react"));
|
|
3555
3547
|
var import_react_dom = require("react-dom");
|
|
3556
3548
|
var normalizeListDestinationIndex = (index, position) => {
|
|
3557
3549
|
return position === "above" ? index : index + 1;
|
|
@@ -3565,7 +3557,7 @@ var defaultAcceptsDrop = (sourceIndex, destinationIndex, position) => {
|
|
|
3565
3557
|
}
|
|
3566
3558
|
return true;
|
|
3567
3559
|
};
|
|
3568
|
-
var SortableItemContext = (0,
|
|
3560
|
+
var SortableItemContext = (0, import_react44.createContext)({
|
|
3569
3561
|
keys: [],
|
|
3570
3562
|
position: { x: 0, y: 0 },
|
|
3571
3563
|
acceptsDrop: defaultAcceptsDrop,
|
|
@@ -3587,7 +3579,7 @@ function SortableItem({
|
|
|
3587
3579
|
disabled,
|
|
3588
3580
|
children
|
|
3589
3581
|
}) {
|
|
3590
|
-
const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0,
|
|
3582
|
+
const { keys, position, acceptsDrop, setActivatorEvent, axis } = (0, import_react44.useContext)(SortableItemContext);
|
|
3591
3583
|
const sortable = (0, import_sortable.useSortable)({ id, disabled });
|
|
3592
3584
|
const {
|
|
3593
3585
|
active,
|
|
@@ -3607,7 +3599,7 @@ function SortableItem({
|
|
|
3607
3599
|
const eventY = activatorEvent?.clientY ?? 0;
|
|
3608
3600
|
const offsetLeft = eventX + position.x;
|
|
3609
3601
|
const offsetTop = eventY + position.y;
|
|
3610
|
-
const ref = (0,
|
|
3602
|
+
const ref = (0, import_react44.useCallback)((node) => setNodeRef(node), [setNodeRef]);
|
|
3611
3603
|
return children({
|
|
3612
3604
|
ref,
|
|
3613
3605
|
...attributes,
|
|
@@ -3638,22 +3630,22 @@ function SortableRoot({
|
|
|
3638
3630
|
}
|
|
3639
3631
|
})
|
|
3640
3632
|
);
|
|
3641
|
-
const [activeIndex, setActiveIndex] = (0,
|
|
3642
|
-
const activatorEvent = (0,
|
|
3643
|
-
const setActivatorEvent = (0,
|
|
3633
|
+
const [activeIndex, setActiveIndex] = (0, import_react44.useState)();
|
|
3634
|
+
const activatorEvent = (0, import_react44.useRef)(null);
|
|
3635
|
+
const setActivatorEvent = (0, import_react44.useCallback)((event) => {
|
|
3644
3636
|
activatorEvent.current = event;
|
|
3645
3637
|
}, []);
|
|
3646
|
-
const [position, setPosition] = (0,
|
|
3647
|
-
const handleDragStart = (0,
|
|
3638
|
+
const [position, setPosition] = (0, import_react44.useState)({ x: 0, y: 0 });
|
|
3639
|
+
const handleDragStart = (0, import_react44.useCallback)(
|
|
3648
3640
|
(event) => {
|
|
3649
3641
|
setActiveIndex(keys.indexOf(event.active.id));
|
|
3650
3642
|
},
|
|
3651
3643
|
[keys]
|
|
3652
3644
|
);
|
|
3653
|
-
const handleDragMove = (0,
|
|
3645
|
+
const handleDragMove = (0, import_react44.useCallback)((event) => {
|
|
3654
3646
|
setPosition({ ...event.delta });
|
|
3655
3647
|
}, []);
|
|
3656
|
-
const handleDragEnd = (0,
|
|
3648
|
+
const handleDragEnd = (0, import_react44.useCallback)(
|
|
3657
3649
|
(event) => {
|
|
3658
3650
|
const { active, over } = event;
|
|
3659
3651
|
setActiveIndex(void 0);
|
|
@@ -3680,10 +3672,10 @@ function SortableRoot({
|
|
|
3680
3672
|
},
|
|
3681
3673
|
[acceptsDrop, axis, keys, onMoveItem, position.x, position.y]
|
|
3682
3674
|
);
|
|
3683
|
-
return /* @__PURE__ */
|
|
3675
|
+
return /* @__PURE__ */ import_react44.default.createElement(
|
|
3684
3676
|
SortableItemContext.Provider,
|
|
3685
3677
|
{
|
|
3686
|
-
value: (0,
|
|
3678
|
+
value: (0, import_react44.useMemo)(
|
|
3687
3679
|
() => ({
|
|
3688
3680
|
keys,
|
|
3689
3681
|
acceptsDrop,
|
|
@@ -3694,7 +3686,7 @@ function SortableRoot({
|
|
|
3694
3686
|
[acceptsDrop, axis, keys, position, setActivatorEvent]
|
|
3695
3687
|
)
|
|
3696
3688
|
},
|
|
3697
|
-
/* @__PURE__ */
|
|
3689
|
+
/* @__PURE__ */ import_react44.default.createElement(
|
|
3698
3690
|
import_core.DndContext,
|
|
3699
3691
|
{
|
|
3700
3692
|
sensors,
|
|
@@ -3703,9 +3695,9 @@ function SortableRoot({
|
|
|
3703
3695
|
onDragMove: handleDragMove,
|
|
3704
3696
|
onDragEnd: handleDragEnd
|
|
3705
3697
|
},
|
|
3706
|
-
/* @__PURE__ */
|
|
3698
|
+
/* @__PURE__ */ import_react44.default.createElement(import_sortable.SortableContext, { items: keys, strategy: import_sortable.verticalListSortingStrategy }, children),
|
|
3707
3699
|
renderOverlay && (0, import_react_dom.createPortal)(
|
|
3708
|
-
/* @__PURE__ */
|
|
3700
|
+
/* @__PURE__ */ import_react44.default.createElement(import_core.DragOverlay, { dropAnimation: null }, activeIndex !== void 0 && activeIndex >= 0 && renderOverlay(activeIndex)),
|
|
3709
3701
|
document.body
|
|
3710
3702
|
)
|
|
3711
3703
|
)
|
|
@@ -3713,17 +3705,17 @@ function SortableRoot({
|
|
|
3713
3705
|
}
|
|
3714
3706
|
var Sortable;
|
|
3715
3707
|
((Sortable2) => {
|
|
3716
|
-
Sortable2.Item = (0,
|
|
3717
|
-
Sortable2.Root = (0,
|
|
3708
|
+
Sortable2.Item = (0, import_react44.memo)(SortableItem);
|
|
3709
|
+
Sortable2.Root = (0, import_react44.memo)(SortableRoot);
|
|
3718
3710
|
})(Sortable || (Sortable = {}));
|
|
3719
3711
|
|
|
3720
3712
|
// src/components/ListView.tsx
|
|
3721
3713
|
var ROW_HEIGHT = 31;
|
|
3722
3714
|
var SECTION_HEADER_LABEL_HEIGHT = 27;
|
|
3723
|
-
var DraggingContext = (0,
|
|
3715
|
+
var DraggingContext = (0, import_react45.createContext)({
|
|
3724
3716
|
indentation: 12
|
|
3725
3717
|
});
|
|
3726
|
-
var ListRowContext = (0,
|
|
3718
|
+
var ListRowContext = (0, import_react45.createContext)({
|
|
3727
3719
|
marginType: "none",
|
|
3728
3720
|
selectedPosition: "only",
|
|
3729
3721
|
sortable: false,
|
|
@@ -3753,8 +3745,8 @@ function ListViewEditableRowTitle({
|
|
|
3753
3745
|
autoFocus,
|
|
3754
3746
|
placeholder
|
|
3755
3747
|
}) {
|
|
3756
|
-
const inputRef = (0,
|
|
3757
|
-
(0,
|
|
3748
|
+
const inputRef = (0, import_react45.useRef)(null);
|
|
3749
|
+
(0, import_react45.useLayoutEffect)(() => {
|
|
3758
3750
|
const element = inputRef.current;
|
|
3759
3751
|
if (!element || !autoFocus)
|
|
3760
3752
|
return;
|
|
@@ -3763,7 +3755,7 @@ function ListViewEditableRowTitle({
|
|
|
3763
3755
|
element.select();
|
|
3764
3756
|
}, 0);
|
|
3765
3757
|
}, [autoFocus]);
|
|
3766
|
-
return /* @__PURE__ */
|
|
3758
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
3767
3759
|
ListViewEditableRowTitleElement,
|
|
3768
3760
|
{
|
|
3769
3761
|
ref: inputRef,
|
|
@@ -3885,7 +3877,7 @@ var ListViewDragIndicatorElement = import_styled_components25.default.div(({ the
|
|
|
3885
3877
|
boxShadow: "0 0 2px rgba(0,0,0,0.5)"
|
|
3886
3878
|
}
|
|
3887
3879
|
}));
|
|
3888
|
-
var ListViewRow = (0,
|
|
3880
|
+
var ListViewRow = (0, import_react45.forwardRef)(function ListViewRow2({
|
|
3889
3881
|
id,
|
|
3890
3882
|
tabIndex = 0,
|
|
3891
3883
|
gap,
|
|
@@ -3917,28 +3909,28 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
|
|
|
3917
3909
|
divider,
|
|
3918
3910
|
gap: listGap,
|
|
3919
3911
|
colorScheme
|
|
3920
|
-
} = (0,
|
|
3912
|
+
} = (0, import_react45.useContext)(ListRowContext);
|
|
3921
3913
|
const { hoverProps } = useHover({
|
|
3922
3914
|
onHoverChange
|
|
3923
3915
|
});
|
|
3924
|
-
const { indentation, isDragging } = (0,
|
|
3925
|
-
const handlePress = (0,
|
|
3916
|
+
const { indentation, isDragging } = (0, import_react45.useContext)(DraggingContext);
|
|
3917
|
+
const handlePress = (0, import_react45.useCallback)(
|
|
3926
3918
|
(event) => {
|
|
3927
3919
|
event.preventDefault();
|
|
3928
|
-
if (
|
|
3920
|
+
if (event.button !== 0)
|
|
3929
3921
|
return;
|
|
3930
3922
|
onPress?.(event);
|
|
3931
3923
|
},
|
|
3932
3924
|
[onPress]
|
|
3933
3925
|
);
|
|
3934
|
-
const handleDoubleClick = (0,
|
|
3926
|
+
const handleDoubleClick = (0, import_react45.useCallback)(
|
|
3935
3927
|
(event) => {
|
|
3936
3928
|
event.stopPropagation();
|
|
3937
3929
|
onDoubleClick?.();
|
|
3938
3930
|
},
|
|
3939
3931
|
[onDoubleClick]
|
|
3940
3932
|
);
|
|
3941
|
-
const isDraggingStyle = (0,
|
|
3933
|
+
const isDraggingStyle = (0, import_react45.useMemo)(() => {
|
|
3942
3934
|
return isDragging ? {
|
|
3943
3935
|
// TODO: Where do these offsets actually come from?
|
|
3944
3936
|
transform: `translate3d(-36px, -6px, 0)`,
|
|
@@ -3949,7 +3941,7 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
|
|
|
3949
3941
|
relativeDropPosition,
|
|
3950
3942
|
...renderProps
|
|
3951
3943
|
}, ref) => {
|
|
3952
|
-
const element = /* @__PURE__ */
|
|
3944
|
+
const element = /* @__PURE__ */ import_react45.default.createElement(
|
|
3953
3945
|
RowContainer,
|
|
3954
3946
|
{
|
|
3955
3947
|
ref,
|
|
@@ -3980,7 +3972,7 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
|
|
|
3980
3972
|
),
|
|
3981
3973
|
tabIndex
|
|
3982
3974
|
},
|
|
3983
|
-
relativeDropPosition && /* @__PURE__ */
|
|
3975
|
+
relativeDropPosition && /* @__PURE__ */ import_react45.default.createElement(
|
|
3984
3976
|
ListViewDragIndicatorElement,
|
|
3985
3977
|
{
|
|
3986
3978
|
colorScheme,
|
|
@@ -3989,11 +3981,11 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
|
|
|
3989
3981
|
gap: listGap
|
|
3990
3982
|
}
|
|
3991
3983
|
),
|
|
3992
|
-
depth > 0 && /* @__PURE__ */
|
|
3984
|
+
depth > 0 && /* @__PURE__ */ import_react45.default.createElement(Spacer.Horizontal, { size: depth * indentation }),
|
|
3993
3985
|
children
|
|
3994
3986
|
);
|
|
3995
3987
|
if (menuItems && onSelectMenuItem) {
|
|
3996
|
-
return /* @__PURE__ */
|
|
3988
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
3997
3989
|
ContextMenu,
|
|
3998
3990
|
{
|
|
3999
3991
|
items: menuItems,
|
|
@@ -4006,21 +3998,21 @@ var ListViewRow = (0, import_react44.forwardRef)(function ListViewRow2({
|
|
|
4006
3998
|
return element;
|
|
4007
3999
|
};
|
|
4008
4000
|
if (sortable && id) {
|
|
4009
|
-
return /* @__PURE__ */
|
|
4001
|
+
return /* @__PURE__ */ import_react45.default.createElement(Sortable.Item, { id, disabled: overrideSortable === false }, ({ ref: sortableRef, ...sortableProps }) => renderContent(sortableProps, (0, import_react_compose_refs2.composeRefs)(sortableRef, forwardedRef)));
|
|
4010
4002
|
}
|
|
4011
4003
|
return renderContent({}, forwardedRef);
|
|
4012
4004
|
});
|
|
4013
|
-
var RenderItemContext = (0,
|
|
4005
|
+
var RenderItemContext = (0, import_react45.createContext)(
|
|
4014
4006
|
() => null
|
|
4015
4007
|
);
|
|
4016
|
-
var VirtualizedListRow = (0,
|
|
4008
|
+
var VirtualizedListRow = (0, import_react45.memo)(function VirtualizedListRow2({
|
|
4017
4009
|
index,
|
|
4018
4010
|
style: style3
|
|
4019
4011
|
}) {
|
|
4020
|
-
const renderItem = (0,
|
|
4021
|
-
return /* @__PURE__ */
|
|
4012
|
+
const renderItem = (0, import_react45.useContext)(RenderItemContext);
|
|
4013
|
+
return /* @__PURE__ */ import_react45.default.createElement("div", { key: index, style: style3 }, renderItem(index));
|
|
4022
4014
|
});
|
|
4023
|
-
var VirtualizedListInner = (0,
|
|
4015
|
+
var VirtualizedListInner = (0, import_react45.forwardRef)(function VirtualizedListInner2({
|
|
4024
4016
|
size: size2,
|
|
4025
4017
|
scrollElement,
|
|
4026
4018
|
items,
|
|
@@ -4028,20 +4020,20 @@ var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedLi
|
|
|
4028
4020
|
keyExtractor,
|
|
4029
4021
|
renderItem
|
|
4030
4022
|
}, ref) {
|
|
4031
|
-
const listRef = (0,
|
|
4032
|
-
(0,
|
|
4023
|
+
const listRef = (0, import_react45.useRef)(null);
|
|
4024
|
+
(0, import_react45.useImperativeHandle)(ref, () => ({
|
|
4033
4025
|
scrollToIndex(index) {
|
|
4034
4026
|
listRef.current?.scrollToItem(index);
|
|
4035
4027
|
}
|
|
4036
4028
|
}));
|
|
4037
|
-
(0,
|
|
4029
|
+
(0, import_react45.useLayoutEffect)(() => {
|
|
4038
4030
|
listRef.current?.resetAfterIndex(0);
|
|
4039
4031
|
}, [
|
|
4040
4032
|
// When items change, we need to re-render the virtualized list,
|
|
4041
4033
|
// since it doesn't currently support row height changes
|
|
4042
4034
|
items
|
|
4043
4035
|
]);
|
|
4044
|
-
const listStyle = (0,
|
|
4036
|
+
const listStyle = (0, import_react45.useMemo)(
|
|
4045
4037
|
() => ({
|
|
4046
4038
|
overflowX: "initial",
|
|
4047
4039
|
overflowY: "initial",
|
|
@@ -4049,18 +4041,18 @@ var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedLi
|
|
|
4049
4041
|
}),
|
|
4050
4042
|
[]
|
|
4051
4043
|
);
|
|
4052
|
-
return /* @__PURE__ */
|
|
4044
|
+
return /* @__PURE__ */ import_react45.default.createElement(RenderItemContext.Provider, { value: renderItem }, /* @__PURE__ */ import_react45.default.createElement(
|
|
4053
4045
|
import_react_virtualized.WindowScroller,
|
|
4054
4046
|
{
|
|
4055
4047
|
scrollElement,
|
|
4056
|
-
style: (0,
|
|
4048
|
+
style: (0, import_react45.useMemo)(() => ({ flex: "1 1 auto" }), [])
|
|
4057
4049
|
},
|
|
4058
|
-
(0,
|
|
4050
|
+
(0, import_react45.useCallback)(
|
|
4059
4051
|
({
|
|
4060
4052
|
registerChild,
|
|
4061
4053
|
onChildScroll,
|
|
4062
4054
|
scrollTop
|
|
4063
|
-
}) => /* @__PURE__ */
|
|
4055
|
+
}) => /* @__PURE__ */ import_react45.default.createElement("div", { ref: registerChild }, /* @__PURE__ */ import_react45.default.createElement(
|
|
4064
4056
|
import_react_window.VariableSizeList,
|
|
4065
4057
|
{
|
|
4066
4058
|
ref: listRef,
|
|
@@ -4090,7 +4082,7 @@ var VirtualizedListInner = (0, import_react44.forwardRef)(function VirtualizedLi
|
|
|
4090
4082
|
)
|
|
4091
4083
|
));
|
|
4092
4084
|
});
|
|
4093
|
-
var VirtualizedList = (0,
|
|
4085
|
+
var VirtualizedList = (0, import_react45.memo)(
|
|
4094
4086
|
VirtualizedListInner
|
|
4095
4087
|
);
|
|
4096
4088
|
var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable, gap }) => ({
|
|
@@ -4101,7 +4093,7 @@ var RootContainer2 = import_styled_components25.default.div(({ theme, scrollable
|
|
|
4101
4093
|
color: theme.colors.textMuted,
|
|
4102
4094
|
gap
|
|
4103
4095
|
}));
|
|
4104
|
-
var ListViewRootInner = (0,
|
|
4096
|
+
var ListViewRootInner = (0, import_react45.forwardRef)(function ListViewRootInner2({
|
|
4105
4097
|
onPress,
|
|
4106
4098
|
scrollable = false,
|
|
4107
4099
|
expandable = true,
|
|
@@ -4120,7 +4112,7 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4120
4112
|
colorScheme = "primary",
|
|
4121
4113
|
gap = 0
|
|
4122
4114
|
}, forwardedRef) {
|
|
4123
|
-
const handleClick = (0,
|
|
4115
|
+
const handleClick = (0, import_react45.useCallback)(
|
|
4124
4116
|
(event) => {
|
|
4125
4117
|
if (event.target instanceof HTMLElement && event.target.classList.contains("scroll-component"))
|
|
4126
4118
|
return;
|
|
@@ -4130,19 +4122,19 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4130
4122
|
},
|
|
4131
4123
|
[onPress]
|
|
4132
4124
|
);
|
|
4133
|
-
const renderChild = (0,
|
|
4125
|
+
const renderChild = (0, import_react45.useCallback)(
|
|
4134
4126
|
(index) => renderItem(data[index], index, { isDragging: false }),
|
|
4135
4127
|
[data, renderItem]
|
|
4136
4128
|
);
|
|
4137
|
-
const getItemContextValue = (0,
|
|
4129
|
+
const getItemContextValue = (0, import_react45.useCallback)(
|
|
4138
4130
|
(i) => {
|
|
4139
4131
|
const current = renderChild(i);
|
|
4140
|
-
if (!(0,
|
|
4132
|
+
if (!(0, import_react45.isValidElement)(current))
|
|
4141
4133
|
return;
|
|
4142
4134
|
const prevChild = i - 1 >= 0 && renderChild(i - 1);
|
|
4143
4135
|
const nextChild = i + 1 < data.length && renderChild(i + 1);
|
|
4144
|
-
const next = (0,
|
|
4145
|
-
const prev = (0,
|
|
4136
|
+
const next = (0, import_react45.isValidElement)(nextChild) ? nextChild : void 0;
|
|
4137
|
+
const prev = (0, import_react45.isValidElement)(prevChild) ? prevChild : void 0;
|
|
4146
4138
|
const hasMarginTop = !prev;
|
|
4147
4139
|
const hasMarginBottom = !next || current.props.isSectionHeader || next && next.props.isSectionHeader;
|
|
4148
4140
|
let marginType;
|
|
@@ -4194,26 +4186,26 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4194
4186
|
gap
|
|
4195
4187
|
]
|
|
4196
4188
|
);
|
|
4197
|
-
const draggingContextOverlayValue = (0,
|
|
4189
|
+
const draggingContextOverlayValue = (0, import_react45.useMemo)(
|
|
4198
4190
|
() => ({ indentation, isDragging: true }),
|
|
4199
4191
|
[indentation]
|
|
4200
4192
|
);
|
|
4201
|
-
const renderOverlay = (0,
|
|
4202
|
-
(index) => /* @__PURE__ */
|
|
4193
|
+
const renderOverlay = (0, import_react45.useCallback)(
|
|
4194
|
+
(index) => /* @__PURE__ */ import_react45.default.createElement("div", { style: { opacity: 0.25 } }, /* @__PURE__ */ import_react45.default.createElement(DraggingContext.Provider, { value: draggingContextOverlayValue }, renderItem(data[index], index, { isDragging: true }))),
|
|
4203
4195
|
[draggingContextOverlayValue, renderItem, data]
|
|
4204
4196
|
);
|
|
4205
|
-
const renderWrappedChild = (0,
|
|
4197
|
+
const renderWrappedChild = (0, import_react45.useCallback)(
|
|
4206
4198
|
(index) => {
|
|
4207
4199
|
const contextValue = getItemContextValue(index);
|
|
4208
4200
|
const current = renderChild(index);
|
|
4209
|
-
if (!contextValue || !(0,
|
|
4201
|
+
if (!contextValue || !(0, import_react45.isValidElement)(current))
|
|
4210
4202
|
return null;
|
|
4211
|
-
return /* @__PURE__ */
|
|
4203
|
+
return /* @__PURE__ */ import_react45.default.createElement(ListRowContext.Provider, { key: current.key, value: contextValue }, current);
|
|
4212
4204
|
},
|
|
4213
4205
|
[getItemContextValue, renderChild]
|
|
4214
4206
|
);
|
|
4215
|
-
const ids = (0,
|
|
4216
|
-
const withSortable = (children) => sortable ? /* @__PURE__ */
|
|
4207
|
+
const ids = (0, import_react45.useMemo)(() => data.map(keyExtractor), [keyExtractor, data]);
|
|
4208
|
+
const withSortable = (children) => sortable ? /* @__PURE__ */ import_react45.default.createElement(
|
|
4217
4209
|
Sortable.Root,
|
|
4218
4210
|
{
|
|
4219
4211
|
onMoveItem,
|
|
@@ -4223,8 +4215,8 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4223
4215
|
},
|
|
4224
4216
|
children
|
|
4225
4217
|
) : children;
|
|
4226
|
-
const withScrollable = (children) => scrollable ? /* @__PURE__ */
|
|
4227
|
-
const getItemHeight = (0,
|
|
4218
|
+
const withScrollable = (children) => scrollable ? /* @__PURE__ */ import_react45.default.createElement(ScrollArea, null, children) : children(null);
|
|
4219
|
+
const getItemHeight = (0, import_react45.useCallback)(
|
|
4228
4220
|
(index) => {
|
|
4229
4221
|
const child = getItemContextValue(index);
|
|
4230
4222
|
const margin = child?.marginType ? getPositionMargin(child.marginType) : { top: 0, bottom: 0 };
|
|
@@ -4233,12 +4225,12 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4233
4225
|
},
|
|
4234
4226
|
[getItemContextValue, variant]
|
|
4235
4227
|
);
|
|
4236
|
-
const getKey = (0,
|
|
4228
|
+
const getKey = (0, import_react45.useCallback)(
|
|
4237
4229
|
(index) => keyExtractor(data[index], index),
|
|
4238
4230
|
[data, keyExtractor]
|
|
4239
4231
|
);
|
|
4240
|
-
const draggingContextValue = (0,
|
|
4241
|
-
return /* @__PURE__ */
|
|
4232
|
+
const draggingContextValue = (0, import_react45.useMemo)(() => ({ indentation }), [indentation]);
|
|
4233
|
+
return /* @__PURE__ */ import_react45.default.createElement(DraggingContext.Provider, { value: draggingContextValue }, /* @__PURE__ */ import_react45.default.createElement(
|
|
4242
4234
|
RootContainer2,
|
|
4243
4235
|
{
|
|
4244
4236
|
...{
|
|
@@ -4249,7 +4241,7 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4249
4241
|
},
|
|
4250
4242
|
withScrollable(
|
|
4251
4243
|
(scrollElementRef) => withSortable(
|
|
4252
|
-
virtualized ? /* @__PURE__ */
|
|
4244
|
+
virtualized ? /* @__PURE__ */ import_react45.default.createElement(
|
|
4253
4245
|
VirtualizedList,
|
|
4254
4246
|
{
|
|
4255
4247
|
ref: forwardedRef,
|
|
@@ -4265,42 +4257,42 @@ var ListViewRootInner = (0, import_react44.forwardRef)(function ListViewRootInne
|
|
|
4265
4257
|
)
|
|
4266
4258
|
));
|
|
4267
4259
|
});
|
|
4268
|
-
var ListViewRoot = (0,
|
|
4269
|
-
var ChildrenListViewInner = (0,
|
|
4270
|
-
const items = (0,
|
|
4271
|
-
() =>
|
|
4272
|
-
(child) => (0,
|
|
4260
|
+
var ListViewRoot = (0, import_react45.memo)(ListViewRootInner);
|
|
4261
|
+
var ChildrenListViewInner = (0, import_react45.forwardRef)(function ChildrenListViewInner2({ children, ...rest }, forwardedRef) {
|
|
4262
|
+
const items = (0, import_react45.useMemo)(
|
|
4263
|
+
() => import_react45.Children.toArray(children).flatMap(
|
|
4264
|
+
(child) => (0, import_react45.isValidElement)(child) ? [child] : []
|
|
4273
4265
|
),
|
|
4274
4266
|
[children]
|
|
4275
4267
|
);
|
|
4276
|
-
return /* @__PURE__ */
|
|
4268
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
4277
4269
|
ListViewRoot,
|
|
4278
4270
|
{
|
|
4279
4271
|
ref: forwardedRef,
|
|
4280
4272
|
...rest,
|
|
4281
4273
|
data: items,
|
|
4282
|
-
keyExtractor: (0,
|
|
4274
|
+
keyExtractor: (0, import_react45.useCallback)(
|
|
4283
4275
|
({ key }, index) => typeof key === "string" ? key : (key ?? index).toString(),
|
|
4284
4276
|
[]
|
|
4285
4277
|
),
|
|
4286
|
-
renderItem: (0,
|
|
4278
|
+
renderItem: (0, import_react45.useCallback)((item) => item, [])
|
|
4287
4279
|
}
|
|
4288
4280
|
);
|
|
4289
4281
|
});
|
|
4290
|
-
var ChildrenListView = (0,
|
|
4291
|
-
var SimpleListViewInner = (0,
|
|
4282
|
+
var ChildrenListView = (0, import_react45.memo)(ChildrenListViewInner);
|
|
4283
|
+
var SimpleListViewInner = (0, import_react45.forwardRef)(function SimpleListViewInner2(props, forwardedRef) {
|
|
4292
4284
|
if ("children" in props) {
|
|
4293
|
-
return /* @__PURE__ */
|
|
4285
|
+
return /* @__PURE__ */ import_react45.default.createElement(ChildrenListView, { ref: forwardedRef, ...props });
|
|
4294
4286
|
} else {
|
|
4295
|
-
return /* @__PURE__ */
|
|
4287
|
+
return /* @__PURE__ */ import_react45.default.createElement(ListViewRoot, { ref: forwardedRef, ...props });
|
|
4296
4288
|
}
|
|
4297
4289
|
});
|
|
4298
|
-
var SimpleListView = (0,
|
|
4290
|
+
var SimpleListView = (0, import_react45.memo)(SimpleListViewInner);
|
|
4299
4291
|
var ListView;
|
|
4300
4292
|
((ListView2) => {
|
|
4301
|
-
ListView2.RowTitle = (0,
|
|
4302
|
-
ListView2.EditableRowTitle = (0,
|
|
4303
|
-
ListView2.Row = (0,
|
|
4293
|
+
ListView2.RowTitle = (0, import_react45.memo)(ListViewRowTitle);
|
|
4294
|
+
ListView2.EditableRowTitle = (0, import_react45.memo)(ListViewEditableRowTitle);
|
|
4295
|
+
ListView2.Row = (0, import_react45.memo)(ListViewRow);
|
|
4304
4296
|
ListView2.Root = SimpleListView;
|
|
4305
4297
|
ListView2.RowContext = ListRowContext;
|
|
4306
4298
|
ListView2.DragIndicator = ListViewDragIndicatorElement;
|
|
@@ -4313,7 +4305,7 @@ var ListView;
|
|
|
4313
4305
|
})(ListView || (ListView = {}));
|
|
4314
4306
|
|
|
4315
4307
|
// src/components/Text.tsx
|
|
4316
|
-
var
|
|
4308
|
+
var import_react46 = __toESM(require("react"));
|
|
4317
4309
|
var import_styled_components26 = __toESM(require("styled-components"));
|
|
4318
4310
|
var elements = {
|
|
4319
4311
|
title: "h1",
|
|
@@ -4334,7 +4326,7 @@ var StyledElement = import_styled_components26.default.span(({ theme, variant, s
|
|
|
4334
4326
|
...styleProps,
|
|
4335
4327
|
...mergeBreakpoints(breakpoints || [])
|
|
4336
4328
|
}));
|
|
4337
|
-
var Text = (0,
|
|
4329
|
+
var Text = (0, import_react46.forwardRef)(function Text2({
|
|
4338
4330
|
as,
|
|
4339
4331
|
variant,
|
|
4340
4332
|
breakpoints,
|
|
@@ -4346,7 +4338,7 @@ var Text = (0, import_react45.forwardRef)(function Text2({
|
|
|
4346
4338
|
...rest
|
|
4347
4339
|
}, forwardedRef) {
|
|
4348
4340
|
const element = as ?? elements[variant] ?? "span";
|
|
4349
|
-
return /* @__PURE__ */
|
|
4341
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
4350
4342
|
StyledElement,
|
|
4351
4343
|
{
|
|
4352
4344
|
ref: forwardedRef,
|
|
@@ -4362,28 +4354,28 @@ var Text = (0, import_react45.forwardRef)(function Text2({
|
|
|
4362
4354
|
children
|
|
4363
4355
|
);
|
|
4364
4356
|
});
|
|
4365
|
-
var Heading1 = (0,
|
|
4366
|
-
(props, ref) => /* @__PURE__ */
|
|
4357
|
+
var Heading1 = (0, import_react46.forwardRef)(
|
|
4358
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading1" })
|
|
4367
4359
|
);
|
|
4368
|
-
var Heading2 = (0,
|
|
4369
|
-
(props, ref) => /* @__PURE__ */
|
|
4360
|
+
var Heading2 = (0, import_react46.forwardRef)(
|
|
4361
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading2" })
|
|
4370
4362
|
);
|
|
4371
|
-
var Heading3 = (0,
|
|
4372
|
-
(props, ref) => /* @__PURE__ */
|
|
4363
|
+
var Heading3 = (0, import_react46.forwardRef)(
|
|
4364
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading3" })
|
|
4373
4365
|
);
|
|
4374
|
-
var Heading4 = (0,
|
|
4375
|
-
(props, ref) => /* @__PURE__ */
|
|
4366
|
+
var Heading4 = (0, import_react46.forwardRef)(
|
|
4367
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading4" })
|
|
4376
4368
|
);
|
|
4377
|
-
var Heading5 = (0,
|
|
4378
|
-
(props, ref) => /* @__PURE__ */
|
|
4369
|
+
var Heading5 = (0, import_react46.forwardRef)(
|
|
4370
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "heading5" })
|
|
4379
4371
|
);
|
|
4380
|
-
var Body = (0,
|
|
4381
|
-
(props, ref) => /* @__PURE__ */
|
|
4372
|
+
var Body = (0, import_react46.forwardRef)(
|
|
4373
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "body" })
|
|
4382
4374
|
);
|
|
4383
|
-
var Small = (0,
|
|
4384
|
-
(props, ref) => /* @__PURE__ */
|
|
4375
|
+
var Small = (0, import_react46.forwardRef)(
|
|
4376
|
+
(props, ref) => /* @__PURE__ */ import_react46.default.createElement(Text, { ref, ...props, variant: "small" })
|
|
4385
4377
|
);
|
|
4386
|
-
var Italic = ({ children }) => /* @__PURE__ */
|
|
4378
|
+
var Italic = ({ children }) => /* @__PURE__ */ import_react46.default.createElement(
|
|
4387
4379
|
"span",
|
|
4388
4380
|
{
|
|
4389
4381
|
style: {
|
|
@@ -4425,15 +4417,15 @@ var CompletionToken = import_styled_components27.default.span(
|
|
|
4425
4417
|
whiteSpace: "pre"
|
|
4426
4418
|
})
|
|
4427
4419
|
);
|
|
4428
|
-
var CompletionMenu = (0,
|
|
4429
|
-
(0,
|
|
4420
|
+
var CompletionMenu = (0, import_react47.memo)(
|
|
4421
|
+
(0, import_react47.forwardRef)(function CompletionMenu2({
|
|
4430
4422
|
items,
|
|
4431
4423
|
selectedIndex,
|
|
4432
4424
|
onSelectItem,
|
|
4433
4425
|
onHoverIndex,
|
|
4434
4426
|
listSize
|
|
4435
4427
|
}, forwardedRef) {
|
|
4436
|
-
return /* @__PURE__ */
|
|
4428
|
+
return /* @__PURE__ */ import_react47.default.createElement(
|
|
4437
4429
|
ListView.Root,
|
|
4438
4430
|
{
|
|
4439
4431
|
ref: forwardedRef,
|
|
@@ -4445,13 +4437,13 @@ var CompletionMenu = (0, import_react46.memo)(
|
|
|
4445
4437
|
sectionHeaderVariant: "label",
|
|
4446
4438
|
renderItem: (item, i) => {
|
|
4447
4439
|
if (item.type === "sectionHeader") {
|
|
4448
|
-
return /* @__PURE__ */
|
|
4440
|
+
return /* @__PURE__ */ import_react47.default.createElement(ListView.Row, { key: item.id, isSectionHeader: true }, item.name);
|
|
4449
4441
|
}
|
|
4450
4442
|
const tokens = fuzzyTokenize({
|
|
4451
4443
|
item: item.name,
|
|
4452
4444
|
itemScore: item
|
|
4453
4445
|
});
|
|
4454
|
-
return /* @__PURE__ */
|
|
4446
|
+
return /* @__PURE__ */ import_react47.default.createElement(
|
|
4455
4447
|
ListView.Row,
|
|
4456
4448
|
{
|
|
4457
4449
|
key: item.id,
|
|
@@ -4463,16 +4455,16 @@ var CompletionMenu = (0, import_react46.memo)(
|
|
|
4463
4455
|
}
|
|
4464
4456
|
}
|
|
4465
4457
|
},
|
|
4466
|
-
tokens.map((token, j) => /* @__PURE__ */
|
|
4467
|
-
item.icon && /* @__PURE__ */
|
|
4458
|
+
tokens.map((token, j) => /* @__PURE__ */ import_react47.default.createElement(CompletionToken, { key: j, type: token.type }, token.text)),
|
|
4459
|
+
item.icon && /* @__PURE__ */ import_react47.default.createElement(import_react47.default.Fragment, null, /* @__PURE__ */ import_react47.default.createElement(Spacer.Horizontal, null), item.icon)
|
|
4468
4460
|
);
|
|
4469
4461
|
}
|
|
4470
4462
|
}
|
|
4471
4463
|
);
|
|
4472
4464
|
})
|
|
4473
4465
|
);
|
|
4474
|
-
var InputFieldWithCompletions = (0,
|
|
4475
|
-
(0,
|
|
4466
|
+
var InputFieldWithCompletions = (0, import_react47.memo)(
|
|
4467
|
+
(0, import_react47.forwardRef)(function InputFieldWithCompletions2({
|
|
4476
4468
|
loading,
|
|
4477
4469
|
initialValue = "",
|
|
4478
4470
|
placeholder,
|
|
@@ -4490,13 +4482,13 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4490
4482
|
hideChildrenWhenFocused = false,
|
|
4491
4483
|
hideMenuWhenEmptyValue = false
|
|
4492
4484
|
}, forwardedRef) {
|
|
4493
|
-
const ref = (0,
|
|
4494
|
-
const [isFocused, setIsFocused] = (0,
|
|
4495
|
-
const [state, _setState] = (0,
|
|
4485
|
+
const ref = (0, import_react47.useRef)(null);
|
|
4486
|
+
const [isFocused, setIsFocused] = (0, import_react47.useState)(false);
|
|
4487
|
+
const [state, _setState] = (0, import_react47.useState)({
|
|
4496
4488
|
filter: initialValue,
|
|
4497
4489
|
selectedIndex: 0
|
|
4498
4490
|
});
|
|
4499
|
-
const updateState = (0,
|
|
4491
|
+
const updateState = (0, import_react47.useCallback)(
|
|
4500
4492
|
(newState, hoverItem) => {
|
|
4501
4493
|
const nextState = { ...state, ...newState };
|
|
4502
4494
|
const nextItems = filterWithGroupedSections(items, nextState.filter);
|
|
@@ -4525,16 +4517,16 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4525
4517
|
},
|
|
4526
4518
|
[items, onChange, onHoverItem, state]
|
|
4527
4519
|
);
|
|
4528
|
-
const initialValueRef = (0,
|
|
4529
|
-
(0,
|
|
4520
|
+
const initialValueRef = (0, import_react47.useRef)(initialValue);
|
|
4521
|
+
(0, import_react47.useLayoutEffect)(() => {
|
|
4530
4522
|
if (initialValueRef.current === initialValue)
|
|
4531
4523
|
return;
|
|
4532
4524
|
initialValueRef.current = initialValue;
|
|
4533
4525
|
updateState({ filter: initialValue });
|
|
4534
4526
|
}, [initialValue, updateState]);
|
|
4535
4527
|
const { filter, selectedIndex } = state;
|
|
4536
|
-
const listRef =
|
|
4537
|
-
const filteredItems = (0,
|
|
4528
|
+
const listRef = import_react47.default.useRef(null);
|
|
4529
|
+
const filteredItems = (0, import_react47.useMemo)(
|
|
4538
4530
|
() => filterWithGroupedSections(items, filter),
|
|
4539
4531
|
[items, filter]
|
|
4540
4532
|
);
|
|
@@ -4550,13 +4542,13 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4550
4542
|
),
|
|
4551
4543
|
ListView.rowHeight * 10.5
|
|
4552
4544
|
);
|
|
4553
|
-
(0,
|
|
4545
|
+
(0, import_react47.useEffect)(() => {
|
|
4554
4546
|
if (listRef.current) {
|
|
4555
4547
|
listRef.current.scrollToIndex(selectedIndex);
|
|
4556
4548
|
}
|
|
4557
4549
|
}, [selectedIndex]);
|
|
4558
|
-
const lastSubmittedValueRef = (0,
|
|
4559
|
-
const selectItem = (0,
|
|
4550
|
+
const lastSubmittedValueRef = (0, import_react47.useRef)(void 0);
|
|
4551
|
+
const selectItem = (0, import_react47.useCallback)(
|
|
4560
4552
|
(item) => {
|
|
4561
4553
|
if (item.type === "sectionHeader")
|
|
4562
4554
|
return;
|
|
@@ -4572,17 +4564,17 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4572
4564
|
},
|
|
4573
4565
|
[filter, onSelectItem, onHoverItem, ref]
|
|
4574
4566
|
);
|
|
4575
|
-
const handleChange = (0,
|
|
4567
|
+
const handleChange = (0, import_react47.useCallback)(
|
|
4576
4568
|
(value) => updateState({ selectedIndex: 0, filter: value }),
|
|
4577
4569
|
[updateState]
|
|
4578
4570
|
);
|
|
4579
|
-
const handleBlur = (0,
|
|
4571
|
+
const handleBlur = (0, import_react47.useCallback)(() => {
|
|
4580
4572
|
setIsFocused(false);
|
|
4581
4573
|
const didSubmit = lastSubmittedValueRef.current?.filter === filter;
|
|
4582
4574
|
updateState({ selectedIndex: 0, filter: initialValue }, "resetHover");
|
|
4583
4575
|
onBlur?.(didSubmit, filter);
|
|
4584
4576
|
}, [filter, initialValue, onBlur, updateState]);
|
|
4585
|
-
const handleFocus = (0,
|
|
4577
|
+
const handleFocus = (0, import_react47.useCallback)(
|
|
4586
4578
|
(event) => {
|
|
4587
4579
|
setIsFocused(true);
|
|
4588
4580
|
updateState({ selectedIndex: 0, filter: initialValue });
|
|
@@ -4590,11 +4582,11 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4590
4582
|
},
|
|
4591
4583
|
[initialValue, onFocus, updateState]
|
|
4592
4584
|
);
|
|
4593
|
-
const handleIndexChange = (0,
|
|
4585
|
+
const handleIndexChange = (0, import_react47.useCallback)(
|
|
4594
4586
|
(index) => updateState({ selectedIndex: index }),
|
|
4595
4587
|
[updateState]
|
|
4596
4588
|
);
|
|
4597
|
-
const handleKeyDown = (0,
|
|
4589
|
+
const handleKeyDown = (0, import_react47.useCallback)(
|
|
4598
4590
|
(event) => {
|
|
4599
4591
|
let handled = false;
|
|
4600
4592
|
switch (event.key) {
|
|
@@ -4658,7 +4650,7 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4658
4650
|
);
|
|
4659
4651
|
const display = !filter && hideMenuWhenEmptyValue ? "none" : "flex";
|
|
4660
4652
|
const typeaheadValue = filteredItems[selectedIndex]?.name;
|
|
4661
|
-
(0,
|
|
4653
|
+
(0, import_react47.useImperativeHandle)(forwardedRef, () => ({
|
|
4662
4654
|
focus: () => {
|
|
4663
4655
|
ref.current?.focus();
|
|
4664
4656
|
},
|
|
@@ -4669,14 +4661,14 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4669
4661
|
ref.current?.setSelectionRange(0, ref.current.value.length);
|
|
4670
4662
|
}
|
|
4671
4663
|
}));
|
|
4672
|
-
return /* @__PURE__ */
|
|
4664
|
+
return /* @__PURE__ */ import_react47.default.createElement(
|
|
4673
4665
|
InputField.Root,
|
|
4674
4666
|
{
|
|
4675
4667
|
size: size2,
|
|
4676
4668
|
labelSize: 16,
|
|
4677
4669
|
renderPopoverContent: ({ width }) => {
|
|
4678
4670
|
const listSize = { width, height };
|
|
4679
|
-
return /* @__PURE__ */
|
|
4671
|
+
return /* @__PURE__ */ import_react47.default.createElement(Stack.V, { flex: `0 0 ${height}px`, display }, filteredItems.length > 0 ? /* @__PURE__ */ import_react47.default.createElement(
|
|
4680
4672
|
CompletionMenu,
|
|
4681
4673
|
{
|
|
4682
4674
|
ref: listRef,
|
|
@@ -4686,7 +4678,7 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4686
4678
|
onHoverIndex: handleIndexChange,
|
|
4687
4679
|
listSize
|
|
4688
4680
|
}
|
|
4689
|
-
) : /* @__PURE__ */
|
|
4681
|
+
) : /* @__PURE__ */ import_react47.default.createElement(
|
|
4690
4682
|
Stack.V,
|
|
4691
4683
|
{
|
|
4692
4684
|
height: "100px",
|
|
@@ -4694,11 +4686,11 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4694
4686
|
alignItems: "center",
|
|
4695
4687
|
justifyContent: "center"
|
|
4696
4688
|
},
|
|
4697
|
-
/* @__PURE__ */
|
|
4689
|
+
/* @__PURE__ */ import_react47.default.createElement(Small, { color: "textDisabled" }, loading ? "Loading" : "No results")
|
|
4698
4690
|
));
|
|
4699
4691
|
}
|
|
4700
4692
|
},
|
|
4701
|
-
/* @__PURE__ */
|
|
4693
|
+
/* @__PURE__ */ import_react47.default.createElement(
|
|
4702
4694
|
InputField.Input,
|
|
4703
4695
|
{
|
|
4704
4696
|
ref,
|
|
@@ -4722,9 +4714,9 @@ var InputFieldWithCompletions = (0, import_react46.memo)(
|
|
|
4722
4714
|
"aria-controls": "component-listbox"
|
|
4723
4715
|
}
|
|
4724
4716
|
),
|
|
4725
|
-
filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */
|
|
4717
|
+
filter && typeaheadValue && typeaheadValue.startsWith(filter) && /* @__PURE__ */ import_react47.default.createElement(InputField.Typeahead, { value: typeaheadValue }),
|
|
4726
4718
|
(!isFocused || !hideChildrenWhenFocused) && children,
|
|
4727
|
-
loading && isFocused && /* @__PURE__ */
|
|
4719
|
+
loading && isFocused && /* @__PURE__ */ import_react47.default.createElement(InputField.Label, null, /* @__PURE__ */ import_react47.default.createElement(ActivityIndicator, null))
|
|
4728
4720
|
);
|
|
4729
4721
|
})
|
|
4730
4722
|
);
|
|
@@ -4746,7 +4738,7 @@ function getNextIndex(items, currentIndex, direction, isDisabled) {
|
|
|
4746
4738
|
}
|
|
4747
4739
|
|
|
4748
4740
|
// src/components/Label.tsx
|
|
4749
|
-
var
|
|
4741
|
+
var import_react48 = __toESM(require("react"));
|
|
4750
4742
|
var import_styled_components28 = __toESM(require("styled-components"));
|
|
4751
4743
|
var LabelLabel = import_styled_components28.default.label(
|
|
4752
4744
|
({ theme, selected }) => ({
|
|
@@ -4775,17 +4767,17 @@ var LabelContainer2 = import_styled_components28.default.span(({ theme }) => ({
|
|
|
4775
4767
|
alignItems: "center"
|
|
4776
4768
|
}));
|
|
4777
4769
|
function LabelRoot({ label, children }) {
|
|
4778
|
-
return /* @__PURE__ */
|
|
4770
|
+
return /* @__PURE__ */ import_react48.default.createElement(LabelContainer2, null, children, label && /* @__PURE__ */ import_react48.default.createElement(import_react48.default.Fragment, null, /* @__PURE__ */ import_react48.default.createElement(Spacer.Vertical, { size: 2 }), /* @__PURE__ */ import_react48.default.createElement(LabelLabel, null, label)));
|
|
4779
4771
|
}
|
|
4780
4772
|
var Label;
|
|
4781
4773
|
((_Label) => {
|
|
4782
|
-
_Label.Label = (0,
|
|
4783
|
-
_Label.Root = (0,
|
|
4774
|
+
_Label.Label = (0, import_react48.memo)(LabelLabel);
|
|
4775
|
+
_Label.Root = (0, import_react48.memo)(LabelRoot);
|
|
4784
4776
|
})(Label || (Label = {}));
|
|
4785
4777
|
|
|
4786
4778
|
// src/components/LabeledElementView.tsx
|
|
4787
4779
|
var kiwi = __toESM(require("kiwi.js"));
|
|
4788
|
-
var
|
|
4780
|
+
var import_react49 = __toESM(require("react"));
|
|
4789
4781
|
var import_styled_components29 = __toESM(require("styled-components"));
|
|
4790
4782
|
var Container4 = import_styled_components29.default.div(({ theme }) => ({
|
|
4791
4783
|
display: "flex",
|
|
@@ -4804,24 +4796,24 @@ var Labels = import_styled_components29.default.div(({ theme }) => ({
|
|
|
4804
4796
|
overflow: "hidden",
|
|
4805
4797
|
userSelect: "none"
|
|
4806
4798
|
}));
|
|
4807
|
-
var LabeledElementView = (0,
|
|
4799
|
+
var LabeledElementView = (0, import_react49.memo)(function LabeledElementView2({
|
|
4808
4800
|
children,
|
|
4809
4801
|
renderLabel
|
|
4810
4802
|
}) {
|
|
4811
|
-
const elementIds =
|
|
4812
|
-
(child) => (0,
|
|
4803
|
+
const elementIds = import_react49.Children.toArray(children).flatMap(
|
|
4804
|
+
(child) => (0, import_react49.isValidElement)(child) && child.type === import_react49.Fragment ? child.props.children : [child]
|
|
4813
4805
|
).map(
|
|
4814
|
-
(child) => (0,
|
|
4806
|
+
(child) => (0, import_react49.isValidElement)(child) && "id" in child.props ? child.props.id : null
|
|
4815
4807
|
).filter((id) => !!id);
|
|
4816
4808
|
const serializedIds = elementIds.join(",");
|
|
4817
|
-
const containerRef = (0,
|
|
4818
|
-
const refs = (0,
|
|
4809
|
+
const containerRef = (0, import_react49.useRef)(null);
|
|
4810
|
+
const refs = (0, import_react49.useMemo)(() => {
|
|
4819
4811
|
return Object.fromEntries(
|
|
4820
|
-
serializedIds.split(",").map((id) => [id, (0,
|
|
4812
|
+
serializedIds.split(",").map((id) => [id, (0, import_react49.createRef)()])
|
|
4821
4813
|
);
|
|
4822
4814
|
}, [serializedIds]);
|
|
4823
|
-
const labelElements = (0,
|
|
4824
|
-
return serializedIds.split(",").map((id, index) => /* @__PURE__ */
|
|
4815
|
+
const labelElements = (0, import_react49.useMemo)(() => {
|
|
4816
|
+
return serializedIds.split(",").map((id, index) => /* @__PURE__ */ import_react49.default.createElement(
|
|
4825
4817
|
"span",
|
|
4826
4818
|
{
|
|
4827
4819
|
key: id,
|
|
@@ -4834,7 +4826,7 @@ var LabeledElementView = (0, import_react48.memo)(function LabeledElementView2({
|
|
|
4834
4826
|
})
|
|
4835
4827
|
));
|
|
4836
4828
|
}, [refs, serializedIds, renderLabel]);
|
|
4837
|
-
(0,
|
|
4829
|
+
(0, import_react49.useLayoutEffect)(() => {
|
|
4838
4830
|
if (!containerRef.current)
|
|
4839
4831
|
return;
|
|
4840
4832
|
const containerRect = containerRef.current.getBoundingClientRect();
|
|
@@ -4899,13 +4891,13 @@ var LabeledElementView = (0, import_react48.memo)(function LabeledElementView2({
|
|
|
4899
4891
|
`${Math.max(...heights)}px`
|
|
4900
4892
|
);
|
|
4901
4893
|
}, [refs, labelElements]);
|
|
4902
|
-
return /* @__PURE__ */
|
|
4894
|
+
return /* @__PURE__ */ import_react49.default.createElement(Container4, { ref: containerRef }, /* @__PURE__ */ import_react49.default.createElement(Tools, null, children), /* @__PURE__ */ import_react49.default.createElement(Labels, null, labelElements));
|
|
4903
4895
|
});
|
|
4904
4896
|
|
|
4905
4897
|
// src/components/Progress.tsx
|
|
4906
4898
|
var import_noya_utils9 = require("@noya-app/noya-utils");
|
|
4907
4899
|
var ProgressPrimitive = __toESM(require("@radix-ui/react-progress"));
|
|
4908
|
-
var
|
|
4900
|
+
var import_react50 = __toESM(require("react"));
|
|
4909
4901
|
var import_styled_components30 = __toESM(require("styled-components"));
|
|
4910
4902
|
function Progress({
|
|
4911
4903
|
value,
|
|
@@ -4915,7 +4907,7 @@ function Progress({
|
|
|
4915
4907
|
variant = "normal"
|
|
4916
4908
|
}) {
|
|
4917
4909
|
const clampedValue = (0, import_noya_utils9.clamp)(value, 0, 100);
|
|
4918
|
-
return /* @__PURE__ */
|
|
4910
|
+
return /* @__PURE__ */ import_react50.default.createElement(ProgressRoot, { value: clampedValue, style: { width, flex, height } }, /* @__PURE__ */ import_react50.default.createElement(
|
|
4919
4911
|
ProgressIndicator,
|
|
4920
4912
|
{
|
|
4921
4913
|
variant,
|
|
@@ -4940,7 +4932,7 @@ var ProgressIndicator = (0, import_styled_components30.default)(ProgressPrimitiv
|
|
|
4940
4932
|
|
|
4941
4933
|
// src/components/RadioGroup.tsx
|
|
4942
4934
|
var ToggleGroupPrimitive = __toESM(require("@radix-ui/react-toggle-group"));
|
|
4943
|
-
var
|
|
4935
|
+
var import_react51 = __toESM(require("react"));
|
|
4944
4936
|
var import_styled_components31 = __toESM(require("styled-components"));
|
|
4945
4937
|
var ignoredProps3 = /* @__PURE__ */ new Set(["colorScheme"]);
|
|
4946
4938
|
var StyledRoot = (0, import_styled_components31.default)(ToggleGroupPrimitive.Root).withConfig({
|
|
@@ -4992,9 +4984,9 @@ var StyledItem = (0, import_styled_components31.default)(ToggleGroupPrimitive.It
|
|
|
4992
4984
|
boxShadow: `0 0 0 1px ${theme.colors.sidebar.background}, 0 0 0 3px ${theme.colors[colorScheme ?? "primary"]}`
|
|
4993
4985
|
}
|
|
4994
4986
|
}));
|
|
4995
|
-
var ToggleGroupItem = (0,
|
|
4996
|
-
const { colorScheme } = (0,
|
|
4997
|
-
const itemElement = /* @__PURE__ */
|
|
4987
|
+
var ToggleGroupItem = (0, import_react51.forwardRef)(function ToggleGroupItem2({ value, tooltip, children, disabled = false }, forwardedRef) {
|
|
4988
|
+
const { colorScheme } = (0, import_react51.useContext)(RadioGroupContext);
|
|
4989
|
+
const itemElement = /* @__PURE__ */ import_react51.default.createElement(
|
|
4998
4990
|
StyledItem,
|
|
4999
4991
|
{
|
|
5000
4992
|
ref: forwardedRef,
|
|
@@ -5004,9 +4996,9 @@ var ToggleGroupItem = (0, import_react50.forwardRef)(function ToggleGroupItem2({
|
|
|
5004
4996
|
},
|
|
5005
4997
|
children
|
|
5006
4998
|
);
|
|
5007
|
-
return tooltip ? /* @__PURE__ */
|
|
4999
|
+
return tooltip ? /* @__PURE__ */ import_react51.default.createElement(Tooltip, { content: tooltip }, itemElement) : itemElement;
|
|
5008
5000
|
});
|
|
5009
|
-
var RadioGroupContext = (0,
|
|
5001
|
+
var RadioGroupContext = (0, import_react51.createContext)({
|
|
5010
5002
|
colorScheme: "primary"
|
|
5011
5003
|
});
|
|
5012
5004
|
function ToggleGroupRoot({
|
|
@@ -5017,8 +5009,8 @@ function ToggleGroupRoot({
|
|
|
5017
5009
|
allowEmpty,
|
|
5018
5010
|
children
|
|
5019
5011
|
}) {
|
|
5020
|
-
const contextValue = (0,
|
|
5021
|
-
const handleValueChange = (0,
|
|
5012
|
+
const contextValue = (0, import_react51.useMemo)(() => ({ colorScheme }), [colorScheme]);
|
|
5013
|
+
const handleValueChange = (0, import_react51.useCallback)(
|
|
5022
5014
|
(value2) => {
|
|
5023
5015
|
if (!allowEmpty && !value2)
|
|
5024
5016
|
return;
|
|
@@ -5026,7 +5018,7 @@ function ToggleGroupRoot({
|
|
|
5026
5018
|
},
|
|
5027
5019
|
[allowEmpty, onValueChange]
|
|
5028
5020
|
);
|
|
5029
|
-
return /* @__PURE__ */
|
|
5021
|
+
return /* @__PURE__ */ import_react51.default.createElement(RadioGroupContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react51.default.createElement(
|
|
5030
5022
|
StyledRoot,
|
|
5031
5023
|
{
|
|
5032
5024
|
id,
|
|
@@ -5040,28 +5032,28 @@ function ToggleGroupRoot({
|
|
|
5040
5032
|
}
|
|
5041
5033
|
var RadioGroup;
|
|
5042
5034
|
((RadioGroup2) => {
|
|
5043
|
-
RadioGroup2.Root = (0,
|
|
5044
|
-
RadioGroup2.Item = (0,
|
|
5035
|
+
RadioGroup2.Root = (0, import_react51.memo)(ToggleGroupRoot);
|
|
5036
|
+
RadioGroup2.Item = (0, import_react51.memo)(ToggleGroupItem);
|
|
5045
5037
|
})(RadioGroup || (RadioGroup = {}));
|
|
5046
5038
|
|
|
5047
5039
|
// src/components/Select.tsx
|
|
5048
5040
|
var import_noya_utils10 = require("@noya-app/noya-utils");
|
|
5049
|
-
var
|
|
5041
|
+
var import_react52 = __toESM(require("react"));
|
|
5050
5042
|
var import_styled_components32 = __toESM(require("styled-components"));
|
|
5051
|
-
var SelectContext = (0,
|
|
5052
|
-
var SelectOption = (0,
|
|
5043
|
+
var SelectContext = (0, import_react52.createContext)(void 0);
|
|
5044
|
+
var SelectOption = (0, import_react52.memo)(function SelectOption2({
|
|
5053
5045
|
value,
|
|
5054
5046
|
title,
|
|
5055
5047
|
onSelect
|
|
5056
5048
|
}) {
|
|
5057
|
-
const { addListener, removeListener } = (0,
|
|
5058
|
-
(0,
|
|
5049
|
+
const { addListener, removeListener } = (0, import_react52.useContext)(SelectContext);
|
|
5050
|
+
(0, import_react52.useEffect)(() => {
|
|
5059
5051
|
if (!onSelect)
|
|
5060
5052
|
return;
|
|
5061
5053
|
addListener(value, onSelect);
|
|
5062
5054
|
return () => removeListener(value);
|
|
5063
5055
|
}, [addListener, onSelect, removeListener, value]);
|
|
5064
|
-
return /* @__PURE__ */
|
|
5056
|
+
return /* @__PURE__ */ import_react52.default.createElement("option", { value }, title ?? value);
|
|
5065
5057
|
});
|
|
5066
5058
|
var createChevronSVGString = (0, import_noya_utils10.memoize)(
|
|
5067
5059
|
(color) => `
|
|
@@ -5101,7 +5093,7 @@ var SelectElement = import_styled_components32.default.select(
|
|
|
5101
5093
|
}
|
|
5102
5094
|
})
|
|
5103
5095
|
);
|
|
5104
|
-
var Select = (0,
|
|
5096
|
+
var Select = (0, import_react52.memo)(function Select2({
|
|
5105
5097
|
id,
|
|
5106
5098
|
flex,
|
|
5107
5099
|
value,
|
|
@@ -5111,8 +5103,8 @@ var Select = (0, import_react51.memo)(function Select2({
|
|
|
5111
5103
|
const getTitle = "options" in rest ? rest.getTitle : void 0;
|
|
5112
5104
|
const onChange = "options" in rest ? rest.onChange : void 0;
|
|
5113
5105
|
const children = "options" in rest ? void 0 : rest.children;
|
|
5114
|
-
const optionElements = (0,
|
|
5115
|
-
() => options ? options.map((option, index) => /* @__PURE__ */
|
|
5106
|
+
const optionElements = (0, import_react52.useMemo)(
|
|
5107
|
+
() => options ? options.map((option, index) => /* @__PURE__ */ import_react52.default.createElement(
|
|
5116
5108
|
SelectOption,
|
|
5117
5109
|
{
|
|
5118
5110
|
key: option,
|
|
@@ -5123,21 +5115,21 @@ var Select = (0, import_react51.memo)(function Select2({
|
|
|
5123
5115
|
)) : children,
|
|
5124
5116
|
[children, getTitle, onChange, options]
|
|
5125
5117
|
);
|
|
5126
|
-
const listeners = (0,
|
|
5127
|
-
const contextValue = (0,
|
|
5118
|
+
const listeners = (0, import_react52.useRef)(/* @__PURE__ */ new Map());
|
|
5119
|
+
const contextValue = (0, import_react52.useMemo)(
|
|
5128
5120
|
() => ({
|
|
5129
5121
|
addListener: (value2, listener) => listeners.current.set(value2, listener),
|
|
5130
5122
|
removeListener: (value2) => listeners.current.delete(value2)
|
|
5131
5123
|
}),
|
|
5132
5124
|
[]
|
|
5133
5125
|
);
|
|
5134
|
-
return /* @__PURE__ */
|
|
5126
|
+
return /* @__PURE__ */ import_react52.default.createElement(SelectContext.Provider, { value: contextValue }, /* @__PURE__ */ import_react52.default.createElement(
|
|
5135
5127
|
SelectElement,
|
|
5136
5128
|
{
|
|
5137
5129
|
id,
|
|
5138
5130
|
flex,
|
|
5139
5131
|
value,
|
|
5140
|
-
onChange: (0,
|
|
5132
|
+
onChange: (0, import_react52.useCallback)(
|
|
5141
5133
|
(event) => listeners.current.get(event.target.value)?.(),
|
|
5142
5134
|
[listeners]
|
|
5143
5135
|
),
|
|
@@ -5149,7 +5141,7 @@ var Select = (0, import_react51.memo)(function Select2({
|
|
|
5149
5141
|
|
|
5150
5142
|
// src/components/Slider.tsx
|
|
5151
5143
|
var RadixSlider = __toESM(require("@radix-ui/react-slider"));
|
|
5152
|
-
var
|
|
5144
|
+
var import_react53 = __toESM(require("react"));
|
|
5153
5145
|
var import_styled_components33 = __toESM(require("styled-components"));
|
|
5154
5146
|
var StyledSlider = (0, import_styled_components33.default)(RadixSlider.Root)({
|
|
5155
5147
|
flex: "1",
|
|
@@ -5190,17 +5182,17 @@ var Slider = function Slider2({
|
|
|
5190
5182
|
min,
|
|
5191
5183
|
max
|
|
5192
5184
|
}) {
|
|
5193
|
-
const arrayValue = (0,
|
|
5185
|
+
const arrayValue = (0, import_react53.useMemo)(
|
|
5194
5186
|
() => [Math.min(Math.max(value, min), max)],
|
|
5195
5187
|
[value, min, max]
|
|
5196
5188
|
);
|
|
5197
|
-
const handleValueChange = (0,
|
|
5189
|
+
const handleValueChange = (0, import_react53.useCallback)(
|
|
5198
5190
|
(arrayValue2) => {
|
|
5199
5191
|
onValueChange(arrayValue2[0]);
|
|
5200
5192
|
},
|
|
5201
5193
|
[onValueChange]
|
|
5202
5194
|
);
|
|
5203
|
-
return /* @__PURE__ */
|
|
5195
|
+
return /* @__PURE__ */ import_react53.default.createElement(
|
|
5204
5196
|
StyledSlider,
|
|
5205
5197
|
{
|
|
5206
5198
|
min,
|
|
@@ -5209,14 +5201,14 @@ var Slider = function Slider2({
|
|
|
5209
5201
|
value: arrayValue,
|
|
5210
5202
|
onValueChange: handleValueChange
|
|
5211
5203
|
},
|
|
5212
|
-
/* @__PURE__ */
|
|
5213
|
-
/* @__PURE__ */
|
|
5204
|
+
/* @__PURE__ */ import_react53.default.createElement(StyledTrack, null, /* @__PURE__ */ import_react53.default.createElement(StyledRange, null)),
|
|
5205
|
+
/* @__PURE__ */ import_react53.default.createElement(StyledThumb2, null)
|
|
5214
5206
|
);
|
|
5215
5207
|
};
|
|
5216
5208
|
|
|
5217
5209
|
// src/components/Switch.tsx
|
|
5218
5210
|
var SwitchPrimitive = __toESM(require("@radix-ui/react-switch"));
|
|
5219
|
-
var
|
|
5211
|
+
var import_react54 = __toESM(require("react"));
|
|
5220
5212
|
var import_styled_components34 = __toESM(require("styled-components"));
|
|
5221
5213
|
var SwitchRoot = (0, import_styled_components34.default)(SwitchPrimitive.Root)(({ theme, colorScheme: variant }) => ({
|
|
5222
5214
|
all: "unset",
|
|
@@ -5252,7 +5244,7 @@ var Switch = function Switch2({
|
|
|
5252
5244
|
onChange,
|
|
5253
5245
|
colorScheme = "normal"
|
|
5254
5246
|
}) {
|
|
5255
|
-
return /* @__PURE__ */
|
|
5247
|
+
return /* @__PURE__ */ import_react54.default.createElement(
|
|
5256
5248
|
SwitchRoot,
|
|
5257
5249
|
{
|
|
5258
5250
|
colorScheme,
|
|
@@ -5261,42 +5253,42 @@ var Switch = function Switch2({
|
|
|
5261
5253
|
onChange(newValue);
|
|
5262
5254
|
}
|
|
5263
5255
|
},
|
|
5264
|
-
/* @__PURE__ */
|
|
5256
|
+
/* @__PURE__ */ import_react54.default.createElement(SwitchThumb, null)
|
|
5265
5257
|
);
|
|
5266
5258
|
};
|
|
5267
5259
|
|
|
5268
5260
|
// src/components/TreeView.tsx
|
|
5269
|
-
var
|
|
5270
|
-
var TreeRow = (0,
|
|
5261
|
+
var import_react55 = __toESM(require("react"));
|
|
5262
|
+
var TreeRow = (0, import_react55.forwardRef)(function TreeRow2({
|
|
5271
5263
|
icon,
|
|
5272
5264
|
expanded,
|
|
5273
5265
|
onClickChevron,
|
|
5274
5266
|
children,
|
|
5275
5267
|
...rest
|
|
5276
5268
|
}, forwardedRef) {
|
|
5277
|
-
const { expandable } = (0,
|
|
5278
|
-
const handleClickChevron = (0,
|
|
5269
|
+
const { expandable } = (0, import_react55.useContext)(ListView.RowContext);
|
|
5270
|
+
const handleClickChevron = (0, import_react55.useCallback)(
|
|
5279
5271
|
(event) => {
|
|
5280
5272
|
event.stopPropagation();
|
|
5281
5273
|
onClickChevron?.({ altKey: event.altKey });
|
|
5282
5274
|
},
|
|
5283
5275
|
[onClickChevron]
|
|
5284
5276
|
);
|
|
5285
|
-
return /* @__PURE__ */
|
|
5277
|
+
return /* @__PURE__ */ import_react55.default.createElement(ListView.Row, { ref: forwardedRef, ...rest }, expandable && /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, expanded === void 0 ? /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: 19 }) : /* @__PURE__ */ import_react55.default.createElement(
|
|
5286
5278
|
IconButton,
|
|
5287
5279
|
{
|
|
5288
5280
|
iconName: expanded ? "ChevronDownIcon" : "ChevronRightIcon",
|
|
5289
5281
|
onClick: handleClickChevron,
|
|
5290
5282
|
selected: rest.selected
|
|
5291
5283
|
}
|
|
5292
|
-
), /* @__PURE__ */
|
|
5284
|
+
), /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: 6 })), icon && /* @__PURE__ */ import_react55.default.createElement(import_react55.default.Fragment, null, icon, /* @__PURE__ */ import_react55.default.createElement(Spacer.Horizontal, { size: 10 })), children);
|
|
5293
5285
|
});
|
|
5294
5286
|
var TreeView;
|
|
5295
5287
|
((TreeView2) => {
|
|
5296
5288
|
TreeView2.Root = ListView.Root;
|
|
5297
5289
|
TreeView2.RowTitle = ListView.RowTitle;
|
|
5298
5290
|
TreeView2.EditableRowTitle = ListView.EditableRowTitle;
|
|
5299
|
-
TreeView2.Row = (0,
|
|
5291
|
+
TreeView2.Row = (0, import_react55.memo)(TreeRow);
|
|
5300
5292
|
})(TreeView || (TreeView = {}));
|
|
5301
5293
|
|
|
5302
5294
|
// src/hooks/usePlatform.ts
|
|
@@ -5590,7 +5582,7 @@ var SUPPORTED_CANVAS_UPLOAD_TYPES = [
|
|
|
5590
5582
|
|
|
5591
5583
|
// src/components/ArrayController.tsx
|
|
5592
5584
|
var import_noya_utils11 = require("@noya-app/noya-utils");
|
|
5593
|
-
var
|
|
5585
|
+
var import_react57 = __toESM(require("react"));
|
|
5594
5586
|
var import_styled_components36 = __toESM(require("styled-components"));
|
|
5595
5587
|
|
|
5596
5588
|
// src/components/InspectorPrimitives.tsx
|
|
@@ -5609,7 +5601,7 @@ __export(InspectorPrimitives_exports, {
|
|
|
5609
5601
|
Title: () => Title3,
|
|
5610
5602
|
VerticalSeparator: () => VerticalSeparator
|
|
5611
5603
|
});
|
|
5612
|
-
var
|
|
5604
|
+
var import_react56 = __toESM(require("react"));
|
|
5613
5605
|
var import_styled_components35 = __toESM(require("styled-components"));
|
|
5614
5606
|
var Section = import_styled_components35.default.div(({ theme, padding = "10px", gap }) => ({
|
|
5615
5607
|
flex: "0 0 auto",
|
|
@@ -5656,8 +5648,8 @@ var Checkbox = import_styled_components35.default.input(({ theme }) => ({
|
|
|
5656
5648
|
var Text3 = import_styled_components35.default.span(({ theme }) => ({
|
|
5657
5649
|
...theme.textStyles.small
|
|
5658
5650
|
}));
|
|
5659
|
-
var VerticalSeparator = () => /* @__PURE__ */
|
|
5660
|
-
var HorizontalSeparator = () => /* @__PURE__ */
|
|
5651
|
+
var VerticalSeparator = () => /* @__PURE__ */ import_react56.default.createElement(Spacer.Vertical, { size: (0, import_styled_components35.useTheme)().sizes.inspector.verticalSeparator });
|
|
5652
|
+
var HorizontalSeparator = () => /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, { size: (0, import_styled_components35.useTheme)().sizes.inspector.horizontalSeparator });
|
|
5661
5653
|
var SliderRowLabel = import_styled_components35.default.span(({ theme }) => ({
|
|
5662
5654
|
...theme.textStyles.small,
|
|
5663
5655
|
color: theme.colors.textMuted,
|
|
@@ -5676,7 +5668,7 @@ var RowLabel = import_styled_components35.default.span(({ theme, textStyle }) =>
|
|
|
5676
5668
|
lineHeight: "19px"
|
|
5677
5669
|
// Button height
|
|
5678
5670
|
}));
|
|
5679
|
-
var LabeledRow = (0,
|
|
5671
|
+
var LabeledRow = (0, import_react56.memo)(function LabeledRow2({
|
|
5680
5672
|
id,
|
|
5681
5673
|
children,
|
|
5682
5674
|
label,
|
|
@@ -5684,13 +5676,13 @@ var LabeledRow = (0, import_react55.memo)(function LabeledRow2({
|
|
|
5684
5676
|
gap,
|
|
5685
5677
|
right
|
|
5686
5678
|
}) {
|
|
5687
|
-
return /* @__PURE__ */
|
|
5679
|
+
return /* @__PURE__ */ import_react56.default.createElement(Row2, { id }, /* @__PURE__ */ import_react56.default.createElement(Column, null, /* @__PURE__ */ import_react56.default.createElement(RowLabel, { textStyle: labelTextStyle }, label, right && /* @__PURE__ */ import_react56.default.createElement(Spacer.Horizontal, null), right), /* @__PURE__ */ import_react56.default.createElement(Row2, { gap }, children)));
|
|
5688
5680
|
});
|
|
5689
|
-
var LabeledSliderRow = (0,
|
|
5681
|
+
var LabeledSliderRow = (0, import_react56.memo)(function LabeledRow3({
|
|
5690
5682
|
children,
|
|
5691
5683
|
label
|
|
5692
5684
|
}) {
|
|
5693
|
-
return /* @__PURE__ */
|
|
5685
|
+
return /* @__PURE__ */ import_react56.default.createElement(Row2, null, /* @__PURE__ */ import_react56.default.createElement(Column, null, /* @__PURE__ */ import_react56.default.createElement(SliderRowLabel, null, label), /* @__PURE__ */ import_react56.default.createElement(Row2, null, children)));
|
|
5694
5686
|
});
|
|
5695
5687
|
|
|
5696
5688
|
// src/components/ArrayController.tsx
|
|
@@ -5703,7 +5695,7 @@ var ElementRow = import_styled_components36.default.div({
|
|
|
5703
5695
|
var ItemContainer2 = import_styled_components36.default.div({
|
|
5704
5696
|
position: "relative"
|
|
5705
5697
|
});
|
|
5706
|
-
var ArrayController = (0,
|
|
5698
|
+
var ArrayController = (0, import_react57.memo)(function ArrayController2({
|
|
5707
5699
|
id,
|
|
5708
5700
|
items,
|
|
5709
5701
|
title,
|
|
@@ -5721,12 +5713,12 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
|
|
|
5721
5713
|
}) {
|
|
5722
5714
|
const iconColor = (0, import_styled_components36.useTheme)().colors.icon;
|
|
5723
5715
|
const primaryLightColor = (0, import_styled_components36.useTheme)().colors.primaryLight;
|
|
5724
|
-
const keys = (0,
|
|
5716
|
+
const keys = (0, import_react57.useMemo)(
|
|
5725
5717
|
() => items.map((item, index) => getKey?.(item) ?? index.toString()),
|
|
5726
5718
|
[getKey, items]
|
|
5727
5719
|
);
|
|
5728
5720
|
const indexes = reversed ? (0, import_noya_utils11.range)(0, items.length).reverse() : (0, import_noya_utils11.range)(0, items.length);
|
|
5729
|
-
const handleMoveItem = (0,
|
|
5721
|
+
const handleMoveItem = (0, import_react57.useCallback)(
|
|
5730
5722
|
(sourceIndex, destinationIndex, position) => {
|
|
5731
5723
|
if (reversed) {
|
|
5732
5724
|
if (position === "above") {
|
|
@@ -5743,11 +5735,11 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
|
|
|
5743
5735
|
[onMoveItem, reversed]
|
|
5744
5736
|
);
|
|
5745
5737
|
const renderRow = (index) => {
|
|
5746
|
-
return /* @__PURE__ */
|
|
5738
|
+
return /* @__PURE__ */ import_react57.default.createElement(ElementRow, { key: keys[index] }, renderItem({ item: items[index], index }));
|
|
5747
5739
|
};
|
|
5748
|
-
return /* @__PURE__ */
|
|
5740
|
+
return /* @__PURE__ */ import_react57.default.createElement(Section, { id, padding, gap: "2px" }, /* @__PURE__ */ import_react57.default.createElement(SectionHeader, null, /* @__PURE__ */ import_react57.default.createElement(Button, { variant: "none", onClick: onClickPlus }, /* @__PURE__ */ import_react57.default.createElement(Title3, null, title)), /* @__PURE__ */ import_react57.default.createElement(Spacer.Horizontal, null), withSeparatorElements(
|
|
5749
5741
|
[
|
|
5750
|
-
onClickTrash && /* @__PURE__ */
|
|
5742
|
+
onClickTrash && /* @__PURE__ */ import_react57.default.createElement(
|
|
5751
5743
|
IconButton,
|
|
5752
5744
|
{
|
|
5753
5745
|
id: `${id}-trash`,
|
|
@@ -5756,7 +5748,7 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
|
|
|
5756
5748
|
onClick: onClickTrash
|
|
5757
5749
|
}
|
|
5758
5750
|
),
|
|
5759
|
-
onClickExpand && /* @__PURE__ */
|
|
5751
|
+
onClickExpand && /* @__PURE__ */ import_react57.default.createElement(
|
|
5760
5752
|
IconButton,
|
|
5761
5753
|
{
|
|
5762
5754
|
id: `${id}-gear`,
|
|
@@ -5765,7 +5757,7 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
|
|
|
5765
5757
|
onClick: onClickExpand
|
|
5766
5758
|
}
|
|
5767
5759
|
),
|
|
5768
|
-
onClickPlus && /* @__PURE__ */
|
|
5760
|
+
onClickPlus && /* @__PURE__ */ import_react57.default.createElement(
|
|
5769
5761
|
IconButton,
|
|
5770
5762
|
{
|
|
5771
5763
|
id: `${id}-add`,
|
|
@@ -5775,15 +5767,15 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
|
|
|
5775
5767
|
}
|
|
5776
5768
|
)
|
|
5777
5769
|
],
|
|
5778
|
-
/* @__PURE__ */
|
|
5779
|
-
)), /* @__PURE__ */
|
|
5770
|
+
/* @__PURE__ */ import_react57.default.createElement(Spacer.Horizontal, { size: 8 })
|
|
5771
|
+
)), /* @__PURE__ */ import_react57.default.createElement(Stack.V, { gap: "4px" }, sortable ? /* @__PURE__ */ import_react57.default.createElement(
|
|
5780
5772
|
Sortable.Root,
|
|
5781
5773
|
{
|
|
5782
5774
|
keys,
|
|
5783
5775
|
renderOverlay: renderRow,
|
|
5784
5776
|
onMoveItem: handleMoveItem
|
|
5785
5777
|
},
|
|
5786
|
-
indexes.map((index) => /* @__PURE__ */
|
|
5778
|
+
indexes.map((index) => /* @__PURE__ */ import_react57.default.createElement(Sortable.Item, { id: keys[index], key: keys[index] }, ({ relativeDropPosition, ...sortableProps }) => /* @__PURE__ */ import_react57.default.createElement(ItemContainer2, { ...sortableProps }, renderRow(index), relativeDropPosition && /* @__PURE__ */ import_react57.default.createElement(
|
|
5787
5779
|
ListView.DragIndicator,
|
|
5788
5780
|
{
|
|
5789
5781
|
gap: 0,
|
|
@@ -5797,11 +5789,11 @@ var ArrayController = (0, import_react56.memo)(function ArrayController2({
|
|
|
5797
5789
|
|
|
5798
5790
|
// src/components/DimensionInput.tsx
|
|
5799
5791
|
var import_noya_utils12 = require("@noya-app/noya-utils");
|
|
5800
|
-
var
|
|
5792
|
+
var import_react58 = __toESM(require("react"));
|
|
5801
5793
|
function getNewValue(value, mode, delta) {
|
|
5802
5794
|
return delta === void 0 ? value : mode === "replace" ? delta : value + delta;
|
|
5803
5795
|
}
|
|
5804
|
-
var DimensionInput = (0,
|
|
5796
|
+
var DimensionInput = (0, import_react58.memo)(function DimensionInput2({
|
|
5805
5797
|
id,
|
|
5806
5798
|
value,
|
|
5807
5799
|
onSetValue,
|
|
@@ -5811,15 +5803,15 @@ var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
|
|
|
5811
5803
|
disabled,
|
|
5812
5804
|
trigger = "submit"
|
|
5813
5805
|
}) {
|
|
5814
|
-
const handleNudgeValue = (0,
|
|
5806
|
+
const handleNudgeValue = (0, import_react58.useCallback)(
|
|
5815
5807
|
(value2) => onSetValue(value2, "adjust"),
|
|
5816
5808
|
[onSetValue]
|
|
5817
5809
|
);
|
|
5818
|
-
const handleSetValue = (0,
|
|
5810
|
+
const handleSetValue = (0, import_react58.useCallback)(
|
|
5819
5811
|
(value2) => onSetValue(value2, "replace"),
|
|
5820
5812
|
[onSetValue]
|
|
5821
5813
|
);
|
|
5822
|
-
return /* @__PURE__ */
|
|
5814
|
+
return /* @__PURE__ */ import_react58.default.createElement(InputField.Root, { id, width: size2 }, /* @__PURE__ */ import_react58.default.createElement(
|
|
5823
5815
|
InputField.NumberInput,
|
|
5824
5816
|
{
|
|
5825
5817
|
value: value === void 0 ? value : (0, import_noya_utils12.round)(value, 2),
|
|
@@ -5828,7 +5820,7 @@ var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
|
|
|
5828
5820
|
disabled,
|
|
5829
5821
|
...trigger === "change" ? { onChange: handleSetValue } : { onSubmit: handleSetValue }
|
|
5830
5822
|
}
|
|
5831
|
-
), label && /* @__PURE__ */
|
|
5823
|
+
), label && /* @__PURE__ */ import_react58.default.createElement(InputField.Label, null, label));
|
|
5832
5824
|
});
|
|
5833
5825
|
// Annotate the CommonJS export names for ESM import in node:
|
|
5834
5826
|
0 && (module.exports = {
|
|
@@ -5902,11 +5894,8 @@ var DimensionInput = (0, import_react57.memo)(function DimensionInput2({
|
|
|
5902
5894
|
fuzzyTokenize,
|
|
5903
5895
|
getGradientBackground,
|
|
5904
5896
|
getNewValue,
|
|
5905
|
-
isLeftButtonClicked,
|
|
5906
|
-
isRightButtonClicked,
|
|
5907
5897
|
lightTheme,
|
|
5908
5898
|
mediaQuery,
|
|
5909
|
-
mergeEventHandlers,
|
|
5910
5899
|
normalizeListDestinationIndex,
|
|
5911
5900
|
rgbaToSketchColor,
|
|
5912
5901
|
size,
|