@sanity/assist 6.0.0 → 6.0.2
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/dist/index.d.ts +1 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +54 -38
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -228,6 +228,7 @@ interface DocumentMember {
|
|
|
228
228
|
path: Path;
|
|
229
229
|
name: string;
|
|
230
230
|
value: unknown;
|
|
231
|
+
parentValue?: unknown;
|
|
231
232
|
}
|
|
232
233
|
interface TranslationOutput {
|
|
233
234
|
/** Language id */
|
|
@@ -588,11 +589,6 @@ declare module 'sanity' {
|
|
|
588
589
|
interface UrlOptions extends AssistOptions {}
|
|
589
590
|
interface EmailOptions extends AssistOptions {}
|
|
590
591
|
} //# sourceMappingURL=typeDefExtensions.d.ts.map
|
|
591
|
-
/**
|
|
592
|
-
* Default implementation for plugin config `translate.field.translationOutputs`
|
|
593
|
-
*
|
|
594
|
-
* @see FieldTranslationConfig#translationOutputs
|
|
595
|
-
*/
|
|
596
592
|
declare const defaultLanguageOutputs: TranslationOutputsFunction;
|
|
597
593
|
type GetUserInput = (args: {
|
|
598
594
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/assistTypes.ts","../src/fieldActions/customFieldActions.tsx","../src/translate/types.ts","../src/types.ts","../src/plugin.tsx","../src/schemas/serialize/SchemTypeTool.tsx","../src/schemas/typeDefExtensions.ts","../src/translate/paths.ts","../src/fieldActions/useUserInput.ts","../src/helpers/typeUtils.ts"],"mappings":";;;;;;UAEiB,YAAA;;;;;;AAAjB;;;;;;;;;;;;EAkBE,cAAA,IAAkB,OAAA,EAAS,qBAAA,KAA0B,cAAA;EAkCjB;;;;;;;;;AAKtC;;;;;;EAtBE,YAAA;ECXyC;;;;;;;;;AAM3C;;;EDmBE,WAAA;AAAA;AAAA,UAGe,qBAAA;EACf,IAAA,EAAM,WAAA;EACN,eAAA,EAAiB,cAAA;AAAA;AAAA,UAGF,cAAA;ECkGc;;;;;;;;;EDxF7B,MAAA;ECoDA;;;;;;;;AAuCF;;ED/EE,QAAA;AAAA;AAAA,UCvDe,0BAAA;EACf,IAAA,EAAM,eAAA;EACN,QAAA;EACA,MAAA;AAAA;AAAA,UAGe,sBAAA;ED9BY;;;;ECmC3B,UAAA;EDjBkB;;;;;;AAkCpB;;;;;;;;;;AAKA;ECJE,mBAAA;;;;;EAMA,kBAAA,EAAoB,gBAAA;EAnCqB;;;;;;EA2CzC,gBAAA,QAAwB,kBAAA;EAxClB;;AAGR;;;EA4CE,mBAAA,QAA2B,0BAAA;EAPH;;;;;;;;;;;;;;;;;;;;;EA8BxB,QAAA;EA0D6B;;AAG/B;;;;;;;;;;;;;AAKA;;;;;EA5CE,IAAA,EAAM,eAAA;EAgDwB;;;;;;;;AAGhC;;;;;;;;;;;;;;AAaA;;EAtCE,UAAA,EAAY,UAAA;EAuCC;;;;;;;;EA7Bb,gBAAA,GAAmB,UAAA;AAAA;AAAA,KAGT,qBAAA,GACR,qBAAA,GACA,sBAAA,GACA,0BAAA;AAAA,KAEQ,qBAAA,GAAwB,IAAA,CAClC,uBAAA;EAGA,QAAA,eAAuB,OAAA;AAAA;AAAA,KAGb,sBAAA,GAAyB,IAAA,CACnC,wBAAA;EAqBoE;AAMtE;;;EApBE,QAAA,GAAW,qBAAA;AAAA;AAAA,iBAKG,uBAAA,CACd,MAAA,EAAQ,IAAA,CAAK,qBAAA,YACZ,qBAAA;AAAA,iBAOa,wBAAA,CAAA,GAA4B,0BAAA;AAAA,iBAM5B,4BAAA,CACd,KAAA,EAAO,IAAA,CAAK,sBAAA,YACX,sBAAA;AAAA,UCxMc,QAAA;EACf,EAAA;EACA,KAAA;AAAA;AAAA,UAGe,cAAA;EACf,UAAA,EAAY,UAAA;EACZ,IAAA,EAAM,IAAA;EACN,IAAA;EACA,KAAA;AAAA;AAAA,UAGe,iBAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/assistTypes.ts","../src/fieldActions/customFieldActions.tsx","../src/translate/types.ts","../src/types.ts","../src/plugin.tsx","../src/schemas/serialize/SchemTypeTool.tsx","../src/schemas/typeDefExtensions.ts","../src/translate/paths.ts","../src/fieldActions/useUserInput.ts","../src/helpers/typeUtils.ts"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { pathToString, isVersionId, getVersionFromId, getPublishedId, useEditState, useCurrentUser, useClient, typed, isObjectSchemaType, stringToPath, isKeySegment, FormFieldHeaderText, PatchEvent, unset, useSchema, usePerspective, getVersionId, getDraftId, useColorSchemeValue, isArraySchemaType, useFormCallbacks, useDocumentStore, useDocumentPresence, createPatchChannel, FormBuilder, fromMutationPatches, StatusButton, PresenceOverlay, VirtualizerScrollInstanceProvider, PerspectiveProvider, isDocumentSchemaType, useSyncState, set, useWorkspaceSchemaId, MemberFieldError, FormCallbacksProvider, FormInput, setIfMissing, insert, ObjectInputMember, isArrayOfObjectsSchemaType, defineType, defineField, defineArrayMember, definePlugin } from "sanity";
|
|
2
|
+
import { pathToString, isVersionId, getVersionFromId, getPublishedId, useEditState, useCurrentUser, useClient, typed, isObjectSchemaType, stringToPath, isKeySegment, FormFieldHeaderText, PatchEvent, unset, useSchema, usePerspective, getVersionId, getDraftId, useColorSchemeValue, isArraySchemaType, useFormCallbacks, useDocumentStore, useDocumentPresence, createPatchChannel, FormBuilder, fromMutationPatches, StatusButton, PresenceOverlay, VirtualizerScrollInstanceProvider, PerspectiveProvider, isDocumentSchemaType, isRecord, useSyncState, set, useWorkspaceSchemaId, MemberFieldError, FormCallbacksProvider, FormInput, setIfMissing, insert, ObjectInputMember, isArrayOfObjectsSchemaType, defineType, defineField, defineArrayMember, definePlugin } from "sanity";
|
|
3
3
|
import { c } from "react/compiler-runtime";
|
|
4
4
|
import { useToast, useLayer, Dialog, Stack, Flex, Tooltip, Text, Button, TextArea, Card, Box, ErrorBoundary, focusFirstDescendant, Spinner, Container, Autocomplete, Breadcrumbs, useClickOutside, Popover, useGlobalKeyDown, useTheme, rgba, Checkbox, Radio, ThemeProvider, MenuButton, MenuItem, Menu, Switch, Label } from "@sanity/ui";
|
|
5
5
|
import { useDocumentPane, usePaneRouter, DocumentPaneProvider, DocumentInspectorHeader } from "sanity/structure";
|
|
6
|
-
import { useRef, useState, useEffect, createContext, useContext, useCallback, useId, forwardRef, useMemo,
|
|
6
|
+
import { useRef, useState, useEffect, createContext, useContext, useCallback, useId, forwardRef, useMemo, useReducer } from "react";
|
|
7
7
|
import { minutesToMilliseconds, isAfter, addSeconds, formatDistanceToNow } from "date-fns";
|
|
8
8
|
import { DocumentIcon, LinkIcon, ImageIcon, BlockContentIcon, OlistIcon, BlockquoteIcon, StringIcon, PlayIcon, SparklesIcon, SearchIcon, SyncIcon, ErrorOutlineIcon, CheckmarkCircleIcon, ClockIcon, CloseCircleIcon, ArrowRightIcon, RetryIcon, CloseIcon, icons, TranslateIcon, LockIcon, ControlsIcon, ArrowLeftIcon, TokenIcon, DocumentTextIcon, ThListIcon, CodeIcon, ComposeIcon } from "@sanity/icons";
|
|
9
9
|
import { extractWithPath } from "@sanity/mutator";
|
|
@@ -1757,7 +1757,7 @@ function _temp3$2(option) {
|
|
|
1757
1757
|
field: field_1
|
|
1758
1758
|
} = option;
|
|
1759
1759
|
return value ? isType(field_1.schemaType, "document") ? /* @__PURE__ */ jsx(Card, { as: "button", padding: 3, radius: 1, children: /* @__PURE__ */ jsx(Text, { size: 1, weight: "semibold", children: "The entire document" }) }) : /* @__PURE__ */ jsx(Card, { as: "button", padding: 3, radius: 1, children: /* @__PURE__ */ jsxs(Flex, { gap: 3, children: [
|
|
1760
|
-
/* @__PURE__ */ jsx(Text, { size: 1, children:
|
|
1760
|
+
/* @__PURE__ */ jsx(Text, { size: 1, children: /* @__PURE__ */ jsx(field_1.icon, {}) }),
|
|
1761
1761
|
/* @__PURE__ */ jsx(FieldTitle, { field: field_1 })
|
|
1762
1762
|
] }) }) : /* @__PURE__ */ jsx(Card, { as: "button", padding: 3, radius: 1, children: /* @__PURE__ */ jsx(Text, { accent: !0, size: 1, children: option.value }) });
|
|
1763
1763
|
}
|
|
@@ -1920,9 +1920,9 @@ function _temp$6(task) {
|
|
|
1920
1920
|
function TaskItem(props) {
|
|
1921
1921
|
const $ = c(32), {
|
|
1922
1922
|
task
|
|
1923
|
-
} = props, taskType = task.reason && TASK_CONFIG[task.reason], t0 = taskType && taskType?.tone;
|
|
1923
|
+
} = props, taskType = task.reason && TASK_CONFIG[task.reason], TaskIcon = taskType ? taskType.icon : null, t0 = taskType && taskType?.tone;
|
|
1924
1924
|
let t1;
|
|
1925
|
-
$[0] !==
|
|
1925
|
+
$[0] !== TaskIcon ? (t1 = TaskIcon && /* @__PURE__ */ jsx(TaskIcon, {}), $[0] = TaskIcon, $[1] = t1) : t1 = $[1];
|
|
1926
1926
|
let t2;
|
|
1927
1927
|
$[2] !== task.reason ? (t2 = !task.reason && /* @__PURE__ */ jsx(Spinner, {}), $[2] = task.reason, $[3] = t2) : t2 = $[3];
|
|
1928
1928
|
let t3;
|
|
@@ -2371,22 +2371,40 @@ function getPreferredToFieldLanguages(fromLanguageId) {
|
|
|
2371
2371
|
function setPreferredToFieldLanguages(fromLanguageId, languageIds) {
|
|
2372
2372
|
typeof localStorage > "u" || localStorage.setItem(`${toFieldLanguagesKeyPrefix}${fromLanguageId}`, JSON.stringify(languageIds));
|
|
2373
2373
|
}
|
|
2374
|
+
function whatwgRNG(length = 16) {
|
|
2375
|
+
const rnds8 = new Uint8Array(length);
|
|
2376
|
+
return crypto.getRandomValues(rnds8), rnds8;
|
|
2377
|
+
}
|
|
2378
|
+
const getByteHexTable = /* @__PURE__ */ (() => {
|
|
2379
|
+
let table;
|
|
2380
|
+
return () => {
|
|
2381
|
+
if (table)
|
|
2382
|
+
return table;
|
|
2383
|
+
table = [];
|
|
2384
|
+
for (let i = 0; i < 256; ++i)
|
|
2385
|
+
table[i] = (i + 256).toString(16).substring(1);
|
|
2386
|
+
return table;
|
|
2387
|
+
};
|
|
2388
|
+
})();
|
|
2389
|
+
function randomKey(length) {
|
|
2390
|
+
const table = getByteHexTable();
|
|
2391
|
+
return whatwgRNG(length).reduce((str, n) => str + table[n], "").slice(0, length);
|
|
2392
|
+
}
|
|
2374
2393
|
const DEFAULT_MAX_DEPTH = 6, ABSOLUTE_MAX_DEPTH = 50;
|
|
2375
2394
|
function getDocumentMembersFlat(doc, schemaType, maxDepth2 = DEFAULT_MAX_DEPTH) {
|
|
2376
2395
|
return isDocumentSchemaType(schemaType) ? extractPaths(doc, schemaType, [], Math.min(maxDepth2, ABSOLUTE_MAX_DEPTH)) : (console.error("Schema type is not a document"), []);
|
|
2377
2396
|
}
|
|
2378
2397
|
function extractPaths(doc, schemaType, path, maxDepth2) {
|
|
2379
2398
|
return path.length >= maxDepth2 ? [] : schemaType.fields.reduce((acc, field) => {
|
|
2380
|
-
const fieldPath = [...path, field.name], fieldSchema = field.type,
|
|
2381
|
-
value
|
|
2382
|
-
} = extractWithPath(pathToString(fieldPath), doc)[0] ?? {};
|
|
2399
|
+
const fieldPath = [...path, field.name], fieldSchema = field.type, parentValue = path.length ? extractWithPath(pathToString(path), doc)[0]?.value : doc, value = isRecord(parentValue) ? parentValue[field.name] : void 0;
|
|
2383
2400
|
if (value == null)
|
|
2384
2401
|
return acc;
|
|
2385
2402
|
const thisFieldWithPath = {
|
|
2386
2403
|
path: fieldPath,
|
|
2387
2404
|
name: field.name,
|
|
2388
2405
|
schemaType: fieldSchema,
|
|
2389
|
-
value
|
|
2406
|
+
value,
|
|
2407
|
+
parentValue
|
|
2390
2408
|
};
|
|
2391
2409
|
if (fieldSchema.jsonType === "object") {
|
|
2392
2410
|
const innerFields = extractPaths(doc, fieldSchema, fieldPath, maxDepth2);
|
|
@@ -2418,7 +2436,8 @@ function extractPaths(doc, schemaType, path, maxDepth2) {
|
|
|
2418
2436
|
path: itemPath,
|
|
2419
2437
|
name: item._key,
|
|
2420
2438
|
schemaType: itemSchema,
|
|
2421
|
-
value: item
|
|
2439
|
+
value: item,
|
|
2440
|
+
parentValue: arrayValue
|
|
2422
2441
|
};
|
|
2423
2442
|
arrayPaths = [...arrayPaths, arrayMember, ...innerFields];
|
|
2424
2443
|
}
|
|
@@ -2428,8 +2447,18 @@ function extractPaths(doc, schemaType, path, maxDepth2) {
|
|
|
2428
2447
|
return [...acc, thisFieldWithPath];
|
|
2429
2448
|
}, []);
|
|
2430
2449
|
}
|
|
2431
|
-
const defaultLanguageOutputs = function(member, enclosingType, translateFromLanguageId, translateToLanguageIds) {
|
|
2432
|
-
if (member.schemaType.jsonType === "object" && member.schemaType.name.startsWith("internationalizedArray")) {
|
|
2450
|
+
const isInternationalizedArrayItemValue = (value) => typeof value == "object" && value !== null && ("language" in value || "_key" in value), defaultLanguageOutputs = function(member, enclosingType, translateFromLanguageId, translateToLanguageIds) {
|
|
2451
|
+
if (member.schemaType.jsonType === "object" && member.schemaType.name.startsWith("internationalizedArray") && isInternationalizedArrayItemValue(member.value)) {
|
|
2452
|
+
if (member.value.language !== void 0)
|
|
2453
|
+
return member.value.language === translateFromLanguageId ? translateToLanguageIds.map((translateToId) => {
|
|
2454
|
+
const outputPathKey = (Array.isArray(member.parentValue) ? member.parentValue : []).find((item) => item.language === translateToId)?._key || randomKey();
|
|
2455
|
+
return {
|
|
2456
|
+
id: translateToId,
|
|
2457
|
+
outputPath: [...member.path.slice(0, -1), {
|
|
2458
|
+
_key: outputPathKey
|
|
2459
|
+
}]
|
|
2460
|
+
};
|
|
2461
|
+
}) : void 0;
|
|
2433
2462
|
const pathEnd = member.path.slice(-1);
|
|
2434
2463
|
return (pathEnd[0] && isKeySegment(pathEnd[0]) ? pathEnd[0]._key : null) === translateFromLanguageId ? translateToLanguageIds.map((translateToId) => ({
|
|
2435
2464
|
id: translateToId,
|
|
@@ -2447,11 +2476,14 @@ const defaultLanguageOutputs = function(member, enclosingType, translateFromLang
|
|
|
2447
2476
|
function getFieldLanguageMap(documentSchema, documentMembers, translateFromLanguageId, outputLanguageIds, langFn) {
|
|
2448
2477
|
const translationMaps = [];
|
|
2449
2478
|
for (const member of documentMembers) {
|
|
2450
|
-
const parentPath = member.path.slice(0, -1), enclosingType = documentMembers.find((m) => pathToString(m.path) === pathToString(parentPath))?.schemaType ?? documentSchema, translations = langFn(member, enclosingType, translateFromLanguageId, outputLanguageIds)?.filter((translation) => translation.id !== translateFromLanguageId);
|
|
2479
|
+
const parentPath = member.path.slice(0, -1), enclosingType = documentMembers.find((m) => pathToString(m.path) === pathToString(parentPath))?.schemaType ?? documentSchema, isV5InternationalizedArrayItem = member.schemaType.jsonType === "object" && member.schemaType.name.startsWith("internationalizedArray") && isInternationalizedArrayItemValue(member.value) && member.value.language !== void 0, translations = langFn(member, enclosingType, translateFromLanguageId, outputLanguageIds)?.filter((translation) => translation.id !== translateFromLanguageId);
|
|
2451
2480
|
translations && translationMaps.push({
|
|
2452
2481
|
inputLanguageId: translateFromLanguageId,
|
|
2453
2482
|
inputPath: member.path,
|
|
2454
|
-
outputs: translations
|
|
2483
|
+
outputs: translations,
|
|
2484
|
+
...isV5InternationalizedArrayItem ? {
|
|
2485
|
+
relativeLanguagePath: ["language"]
|
|
2486
|
+
} : {}
|
|
2455
2487
|
});
|
|
2456
2488
|
}
|
|
2457
2489
|
return translationMaps;
|
|
@@ -3015,25 +3047,6 @@ const translateActions = {
|
|
|
3015
3047
|
}, [isActive, translateDocumentAction, translateFieldsAction, status]);
|
|
3016
3048
|
}
|
|
3017
3049
|
};
|
|
3018
|
-
function whatwgRNG(length = 16) {
|
|
3019
|
-
const rnds8 = new Uint8Array(length);
|
|
3020
|
-
return crypto.getRandomValues(rnds8), rnds8;
|
|
3021
|
-
}
|
|
3022
|
-
const getByteHexTable = /* @__PURE__ */ (() => {
|
|
3023
|
-
let table;
|
|
3024
|
-
return () => {
|
|
3025
|
-
if (table)
|
|
3026
|
-
return table;
|
|
3027
|
-
table = [];
|
|
3028
|
-
for (let i = 0; i < 256; ++i)
|
|
3029
|
-
table[i] = (i + 256).toString(16).substring(1);
|
|
3030
|
-
return table;
|
|
3031
|
-
};
|
|
3032
|
-
})();
|
|
3033
|
-
function randomKey(length) {
|
|
3034
|
-
const table = getByteHexTable();
|
|
3035
|
-
return whatwgRNG(length).reduce((str, n) => str + table[n], "").slice(0, length);
|
|
3036
|
-
}
|
|
3037
3050
|
function defineAssistFieldAction(action) {
|
|
3038
3051
|
return {
|
|
3039
3052
|
...action,
|
|
@@ -4348,11 +4361,14 @@ const contextDocumentSchema = defineType({
|
|
|
4348
4361
|
},
|
|
4349
4362
|
components: {
|
|
4350
4363
|
input: InstructionInput,
|
|
4351
|
-
preview: (props) =>
|
|
4352
|
-
|
|
4353
|
-
|
|
4354
|
-
|
|
4355
|
-
|
|
4364
|
+
preview: (props) => {
|
|
4365
|
+
const Icon = props.icon;
|
|
4366
|
+
return /* @__PURE__ */ jsxs(Flex, { gap: 3, align: "center", padding: 2, children: [
|
|
4367
|
+
Icon && /* @__PURE__ */ jsx(Box, { flex: "none", children: /* @__PURE__ */ jsx(Text, { size: 1, children: /* @__PURE__ */ jsx(Icon, {}) }) }),
|
|
4368
|
+
/* @__PURE__ */ jsx(Stack, { flex: 1, space: 2, children: /* @__PURE__ */ jsx(Text, { size: 1, textOverflow: "ellipsis", weight: "medium", children: getInstructionTitle(props) }) }),
|
|
4369
|
+
props.userId && /* @__PURE__ */ jsx(Text, { size: 1, children: /* @__PURE__ */ jsx(Tooltip, { content: /* @__PURE__ */ jsx(Text, { size: 1, children: "Only visible to you" }), padding: 2, placement: "top", portal: !0, children: /* @__PURE__ */ jsx(LockIcon, {}) }) })
|
|
4370
|
+
] });
|
|
4371
|
+
}
|
|
4356
4372
|
},
|
|
4357
4373
|
fields: [defineField({
|
|
4358
4374
|
type: prompt.name,
|