sanity-plugin-internationalized-array
5.1.255.1.26
~
Modified (5 files)
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, Index: package/package.json
===================================================================
--- package/package.json
+++ package/package.json
@@ -1,7 +1,7 @@
{
"name": "sanity-plugin-internationalized-array",
- "version": "5.1.25",
+ "version": "5.1.26",
"description": "Store localized fields in an array to save on attributes",
"keywords": [
"sanity",
"sanity-plugin"
@@ -28,10 +28,10 @@
"./package.json": "./package.json"
},
"dependencies": {
"@sanity/icons": "^5.2.1",
- "@sanity/ui": "^3.5.1",
- "@sanity/util": "^6.7.0",
+ "@sanity/ui": "^4.0.0",
+ "@sanity/util": "^6.9.0",
"lodash-es": "^4.18.1"
},
"devDependencies": {
"@sanity/tsconfig": "^2.2.1",
@@ -45,19 +45,19 @@
"babel-plugin-react-compiler": "^1.0.0",
"jsdom": "^29.1.1",
"react": "^19.2.8",
"react-dom": "^19.2.8",
- "sanity": "^6.7.0",
+ "sanity": "^6.9.0",
"styled-components": "^6.4.4",
"tsdown": "^0.22.14",
- "@sanity/language-filter": "5.0.14"
+ "@sanity/language-filter": "5.0.15"
},
"peerDependencies": {
"react": "^19.2",
"react-dom": "^19.2",
"sanity": "^5 || ^6.0.0-0",
- "@sanity/assist": "^6.1.17",
- "@sanity/language-filter": "^5.0.14"
+ "@sanity/language-filter": "^5.0.15",
+ "@sanity/assist": "^6.1.18"
},
"peerDependenciesMeta": {
"@sanity/assist": {
"optional": true Index: package/dist/index.d.ts.map
===================================================================
--- package/dist/index.d.ts.map
+++ package/dist/index.d.ts.map
@@ -1,1 +1,1 @@
-{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/cache.ts","../src/constants.ts","../src/plugin.tsx","../src/utils/internationalizedArrayLanguageFilter.ts"],"mappings":";;KAEY;EACV,IAAI,KAAK;EACT;;KAGU;KAEA;EACV;EACA,MAAM;EACN,WAAW;EACX;EACA;EACA;EACA;EACA,aAAa,OAAO;EACpB;KAAU;IAAuB;OAAW;;;;;;;KAMlC;EACV;;EAEA;EACA;;iBAGc,iCACd,eACC,QAAQ;KAIC,2BAA2B;EACrC;EACA,QAAQ;;EAER;;;;EAIA;;KAGU,oBACV,QAAQ,cACR,eAAe,4BACZ,QAAQ;KAED;KAEA;;;;;EAKV;;;;;;;;;;;;;EAaA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BT,WAAW,aAAa;;;;;;;;;EASxB;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,sBAAsB,qBAAqB;;;;;EAK3C;;;;;EAKA;;;;;EAKA,kBAAkB;;;;;;;;;;EAUlB,0BAA0B;;;;;;;;;;;;EAY1B;IACE,eAAe,SAAS;IACxB,mBAAmB;;;cCjJV;;;;;;;;;;;;;;;;;;;;;;;;cCJA;cCZA,yCAAsB,OAAA;;;;;cCJtB,uCAAoC,eAChC,kBAAgB,SACtB,cAAc,eAAa,+BACP,aAChB,qCAAmC,WACrC"}
\ No newline at end of file
+{"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/cache.ts","../src/constants.ts","../src/plugin.tsx","../src/utils/internationalizedArrayLanguageFilter.ts"],"mappings":";;;KAEY;EACV,IAAI,KAAK;EACT;;KAGU;KAEA;EACV;EACA,MAAM;EACN,WAAW;EACX;EACA;EACA;EACA;EACA,aAAa,OAAO;EACpB;KAAU;IAAuB;OAAW;;;;;;;KAMlC;EACV;;EAEA;EACA;;iBAGc,iCACd,eACC,QAAQ;KAIC,2BAA2B;EACrC;EACA,QAAQ;;EAER;;;;EAIA;;KAGU,oBACV,QAAQ,cACR,eAAe,4BACZ,QAAQ;KAED;KAEA;;;;;EAKV;;;;;;;;;;;;;EAaA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BT,WAAW,aAAa;;;;;;;;;EASxB;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,sBAAsB,qBAAqB;;;;;EAK3C;;;;;EAKA;;;;;EAKA,kBAAkB;;;;;;;;;;EAUlB,0BAA0B;;;;;;;;;;;;EAY1B;IACE,eAAe,SAAS;IACxB,mBAAmB;;;cCjJV;;;;;;;;;;;;;;;;;;;;;;;;cCJA;cCZA,yCAAsB,OAAA;;;;;cCJtB,uCAAoC,eAChC,kBAAgB,SACtB,cAAc,eAAa,+BACP,aAChB,qCAAmC,WACrC"}
\ No newline at end of file File too large for inline diff
Index: package/dist/index.d.ts
===================================================================
--- package/dist/index.d.ts
+++ package/dist/index.d.ts
@@ -1,4 +1,5 @@
+import "@sanity/ui/styles.css";
import { LanguageFilterConfig } from "@sanity/language-filter";
import { FieldDefinition, FieldMember, FieldsetState, ObjectSchemaType, Rule, RuleTypeConstraint, SanityClient } from "sanity";
type Language = {
id: Intl.UnicodeBCP47LocaleIdentifier;