sanity-plugin-internationalized-array

5.1.255.1.26
dist/index.js
~dist/index.jsModified
+42−37
Index: package/dist/index.js
===================================================================
--- package/dist/index.js
+++ package/dist/index.js
@@ -1,8 +1,10 @@
+import "@sanity/ui/styles.css";
 import { languageFilter, useLanguageFilterStudioContext } from "@sanity/language-filter";
 import { ArrayOfObjectsItem, MemberItemError, PatchEvent, defineDocumentFieldAction, defineField, definePlugin, insert, isDocumentSchemaType, isObjectInputProps, isSanityDocument, set, setIfMissing, unset, useClient, useFormValue, useGetFormValue, useSchema, useWorkspace } from "sanity";
 import { c } from "react/compiler-runtime";
-import { Box, Button, Card, Code, Flex, Grid, Label, Menu, MenuButton, MenuItem, Spinner, Stack, Text, Tooltip, useToast } from "@sanity/ui";
+import { Box, Button, Card, Flex, Grid, Label, Spinner, Stack, Text } from "@sanity/ui";
+import { useToast } from "@sanity/ui/toast";
 import { randomKey } from "@sanity/util/content";
 import { createContext, createElement, use, useCallback, useContext, useDeferredValue, useEffect } from "react";
 import { useDocumentPane } from "sanity/structure";
 import { AddIcon } from "@sanity/icons/Add";
@@ -10,10 +12,13 @@
 import { Fragment, jsx, jsxs } from "react/jsx-runtime";
 import { TranslateIcon } from "@sanity/icons/Translate";
 import camelCase from "lodash-es/camelCase.js";
 import upperFirst from "lodash-es/upperFirst.js";
+import { Code } from "@sanity/ui/code";
 import { WarningOutlineIcon } from "@sanity/icons/WarningOutline";
 import { RemoveCircleIcon } from "@sanity/icons/RemoveCircle";
+import { Menu, MenuButton, MenuItem } from "@sanity/ui/menu";
+import { Tooltip } from "@sanity/ui/tooltip";
 const namespace = "sanity-plugin-internationalized-array", functionKeyCache = /* @__PURE__ */ new WeakMap(), promiseCache = /* @__PURE__ */ new Map(), functionCache = /* @__PURE__ */ new Map();
 function stringifyCacheKey(key) {
 	return JSON.stringify(key);
 }
@@ -466,53 +471,53 @@
 		return nextLanguageIndex < 0 ? languagesInUse.push(item) : languagesInUse.splice(nextLanguageIndex, 0, item), nextLanguageIndex < 0 ? insert([item], "after", [...path, nextLanguageIndex]) : insert([item], "before", [...path, nextLanguageIndex]);
 	});
 }
 const createTranslateFieldActions = (fieldActionProps, { languages, filteredLanguages }) => languages.map((language) => {
-	let value = useFormValue(fieldActionProps.path), { onChange, formState } = useDocumentPane(), disabled = !!formState?.readOnly || (value && Array.isArray(value) ? !!value?.find((item) => item.language === language.id) : !1), hidden = !filteredLanguages.some((f) => f.id === language.id);
+	let value = useFormValue(fieldActionProps.path), { onChange, formState } = useDocumentPane(), disabled = !!formState?.readOnly || (value && Array.isArray(value) ? !!value?.find((item) => item.language === language.id) : !1), hidden = !filteredLanguages.some((f) => f.id === language.id), onAction = useCallback(() => {
+		let { schemaType, path } = fieldActionProps, patches = createAddLanguagePatches({
+			addLanguageKeys: [language.id],
+			schemaTypeName: schemaType.name,
+			languages,
+			filteredLanguages,
+			value,
+			path
+		});
+		onChange(PatchEvent.from([setIfMissing([], path), ...patches]));
+	}, [
+		language.id,
+		value,
+		onChange
+	]);
 	return {
 		type: "action",
 		icon: AddIcon,
-		onAction: useCallback(() => {
-			let { schemaType, path } = fieldActionProps, patches = createAddLanguagePatches({
-				addLanguageKeys: [language.id],
-				schemaTypeName: schemaType.name,
-				languages,
-				filteredLanguages,
-				value,
-				path
-			});
-			onChange(PatchEvent.from([setIfMissing([], path), ...patches]));
-		}, [
-			language.id,
-			value,
-			onChange
-		]),
+		onAction,
 		title: language.title,
 		hidden,
 		disabled
 	};
 }), AddMissingTranslationsFieldAction = (fieldActionProps, { languages, filteredLanguages }) => {
-	let value = useFormValue(fieldActionProps.path), { onChange, formState } = useDocumentPane(), disabled = !!formState?.readOnly || value && value.length === filteredLanguages.length, hidden = checkAllLanguagesArePresent(filteredLanguages, value);
+	let value = useFormValue(fieldActionProps.path), { onChange, formState } = useDocumentPane(), disabled = !!formState?.readOnly || value && value.length === filteredLanguages.length, hidden = checkAllLanguagesArePresent(filteredLanguages, value), onAction = useCallback(() => {
+		let { schemaType, path } = fieldActionProps, patches = createAddLanguagePatches({
+			addLanguageKeys: [],
+			schemaTypeName: schemaType.name,
+			languages,
+			filteredLanguages,
+			value,
+			path
+		});
+		onChange(PatchEvent.from([setIfMissing([], path), ...patches]));
+	}, [
+		fieldActionProps,
+		filteredLanguages,
+		languages,
+		onChange,
+		value
+	]);
 	return {
 		type: "action",
 		icon: AddIcon,
-		onAction: useCallback(() => {
-			let { schemaType, path } = fieldActionProps, patches = createAddLanguagePatches({
-				addLanguageKeys: [],
-				schemaTypeName: schemaType.name,
-				languages,
-				filteredLanguages,
-				value,
-				path
-			});
-			onChange(PatchEvent.from([setIfMissing([], path), ...patches]));
-		}, [
-			fieldActionProps,
-			filteredLanguages,
-			languages,
-			onChange,
-			value
-		]),
+		onAction,
 		title: createAddAllTitle(value, filteredLanguages),
 		disabled,
 		hidden
 	};
@@ -1176,11 +1181,11 @@
 function _temp2(patch) {
 	return !patch || typeof patch != "object" ? !1 : patch.type === "insert" && patch.path && Array.isArray(patch.path) && patch.path.length > 0 ? patch.path[0] === "value" || typeof patch.path[0] == "number" : !1;
 }
 var object_default = (config) => {
-	let { type } = config, typeName = typeof type == "string" ? type : type.name;
+	let { type } = config, typeName = typeof type == "string" ? type : type.name, objectName = createFieldName(typeName, !0);
 	return defineField({
-		name: createFieldName(typeName, !0),
+		name: objectName,
 		title: `Internationalized array ${typeName}`,
 		type: "object",
 		components: {
 			item: InternationalizedInput,