@sanity/assist
6.1.206.1.21
dist/index.js~
dist/index.jsModified+252−176
Index: package/dist/index.js
===================================================================
--- package/dist/index.js
+++ package/dist/index.js
@@ -1,10 +1,10 @@
import "@sanity/ui/styles.css";
import { FormBuilder, FormCallbacksProvider, FormFieldHeaderText, FormInput, MemberFieldError, ObjectInputMember, PatchEvent, PerspectiveProvider, PresenceOverlay, StatusButton, VirtualizerScrollInstanceProvider, createPatchChannel, defineArrayMember, defineField, definePlugin, defineType, fromMutationPatches, getDraftId, getPublishedId, getVersionFromId, getVersionId, insert, isArrayOfObjectsSchemaType, isArraySchemaType, isDocumentSchemaType, isKeySegment, isObjectSchemaType, isRecord, isVersionId, pathToString, set, setIfMissing, stringToPath, typed, unset, useClient, useColorSchemeValue, useCurrentUser, useDocumentPresence, useDocumentStore, useEditState, useFormCallbacks, usePerspective, useSchema, useSyncState, useWorkspaceSchemaId } from "sanity";
import { c } from "react/compiler-runtime";
import { Box, Button, Card, Checkbox, Container, Dialog, ErrorBoundary, Flex, Label, Radio, Spinner, Stack, Switch, Text, TextArea, ThemeProvider, focusFirstDescendant, rgba, useClickOutsideEvent, useGlobalKeyDown, useLayer, useTheme } from "@sanity/ui";
-import { createContext, isValidElement, useCallback, useContext, useEffect, useEffectEvent, useId, useMemo, useReducer, useRef, useState } from "react";
import { DocumentInspectorHeader, DocumentPaneProvider, PaneRouterContext, useDocumentPane, usePaneRouter } from "sanity/structure";
+import { createContext, isValidElement, useCallback, useContext, useEffect, useEffectEvent, useId, useMemo, useReducer, useRef, useState } from "react";
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
import { useToast } from "@sanity/ui/toast";
import { addSeconds } from "date-fns/addSeconds";
import { isAfter } from "date-fns/isAfter";
@@ -349,18 +349,18 @@
const FirstAssistedPathContext = createContext(void 0);
function FirstAssistedPathProvider(props) {
let $ = c(5), { members } = props, t0;
if ($[0] !== members) {
- let firstAssisted = members.find(_temp$15);
+ let firstAssisted = members.find(_temp$16);
t0 = firstAssisted?.field.path ? pathToString(firstAssisted?.field.path) : void 0, $[0] = members, $[1] = t0;
} else t0 = $[1];
let firstAssistedPath = t0, t1;
return $[2] !== firstAssistedPath || $[3] !== props.children ? (t1 = /* @__PURE__ */ jsx(FirstAssistedPathContext.Provider, {
value: firstAssistedPath,
children: props.children
}), $[2] = firstAssistedPath, $[3] = props.children, $[4] = t1) : t1 = $[4], t1;
}
-function _temp$15(member) {
+function _temp$16(member) {
return member.kind === "field" && isAssistSupported(member.field.schemaType);
}
const releaseAnnouncementUrl = "https://www.sanity.io/blog/sanity-ai-assist-announcement?utm_source=sanity-assist-plugin&utm_medium=organic_social&utm_campaign=ai-assist&utm_content=", packageName = "@sanity/assist", pluginTitle = "Sanity AI Assist", pluginTitleShort = "AI Assist", maxHistoryVisibilityMs = minutesToMilliseconds(30), illegalIdChars = /[^a-zA-Z0-9._-]/g;
function assistDocumentId(documentType) {
@@ -373,9 +373,9 @@
let state = useEditState(id, docType);
return state.draft || state.published;
}
function useStudioAssistDocument(t0) {
- let $ = c(15), { documentId, schemaType, initDoc } = t0, documentTypeName = schemaType.name, currentUser = useCurrentUser(), t1;
+ let $ = c(17), { documentId, schemaType, initDoc } = t0, documentTypeName = schemaType.name, currentUser = useCurrentUser(), t1;
$[0] === documentTypeName ? t1 = $[1] : (t1 = assistDocumentId(documentTypeName), $[0] = documentTypeName, $[1] = t1);
let assistDocument = useDocumentState(t1, assistDocumentTypeName), t2 = documentId ?? "", t3;
$[2] === t2 ? t3 = $[3] : (t3 = assistTasksStatusId(t2), $[2] = t2, $[3] = t3);
let assistTasksStatus = useDocumentState(t3, assistTasksStatusTypeName), t4;
@@ -384,9 +384,9 @@
$[5] !== assistDocument || $[6] !== client || $[7] !== documentTypeName || $[8] !== initDoc ? (t5 = () => {
!assistDocument && initDoc && client.createIfNotExists({
_id: assistDocumentId(documentTypeName),
_type: assistDocumentTypeName
- }).catch(_temp$14);
+ }).catch(_temp$15);
}, t6 = [
client,
assistDocument,
documentTypeName,
@@ -399,9 +399,11 @@
break bb0;
}
let t8;
if ($[11] !== assistDocument || $[12] !== assistTasksStatus?.tasks || $[13] !== currentUser?.id) {
- let tasks = assistTasksStatus?.tasks ?? [], fields = (assistDocument?.fields ?? []).map((assistField) => ({
+ let tasks = assistTasksStatus?.tasks ?? [], t9;
+ $[15] === assistDocument?.fields ? t9 = $[16] : (t9 = assistDocument?.fields ?? [], $[15] = assistDocument?.fields, $[16] = t9);
+ let fields = t9.map((assistField) => ({
...assistField,
tasks: tasks.filter((task) => task.path === assistField.path),
instructions: assistField.instructions?.filter((p) => !p.userId || p.userId === currentUser?.id).map((instruction) => asStudioInstruction(instruction, tasks))
}));
@@ -420,9 +422,9 @@
t7 = t8;
}
return t7;
}
-function _temp$14() {}
+function _temp$15() {}
function asStudioInstruction(instruction, run) {
return {
...instruction,
tasks: run.filter((task) => task.instructionKey === instruction._key).filter((task) => task.started && (/* @__PURE__ */ new Date()).getTime() - new Date(task.started).getTime() < maxHistoryVisibilityMs)
@@ -438,13 +440,13 @@
let assistDocument = useStudioAssistDocument(t0), assistDocLoaded = !!assistDocument, currentUser = useCurrentUser(), toast = useToast(), tasks = assistDocument?.tasks, previousTasks = useRef("initial"), t1;
$[3] !== assistDocLoaded || $[4] !== currentUser?.id || $[5] !== tasks || $[6] !== toast ? (t1 = () => {
if (assistDocLoaded) {
if (previousTasks.current !== "initial") {
- let prevTaskByKey = Object.fromEntries((previousTasks.current ?? NO_TASKS).map(_temp$13));
+ let prevTaskByKey = Object.fromEntries((previousTasks.current ?? NO_TASKS).map(_temp$14));
(tasks?.filter((task) => task.startedByUserId === currentUser?.id).filter((task_0) => {
let prevTask = prevTaskByKey[task_0._key];
return !prevTask && task_0.ended || !prevTask?.ended && task_0.ended;
- }).filter(_temp2$7))?.forEach((task_2) => {
+ }).filter(_temp2$9))?.forEach((task_2) => {
let title = task_2.title ?? getInstructionTitle(task_2.instruction);
task_2.reason === "error" ? toast.push({
title: `Failed: ${title}`,
status: "error",
@@ -480,12 +482,12 @@
currentUser,
assistDocLoaded
], $[8] = assistDocLoaded, $[9] = currentUser, $[10] = tasks, $[11] = toast, $[12] = t2) : t2 = $[12], useEffect(t1, t2);
}
-function _temp2$7(task_1) {
+function _temp2$9(task_1) {
return task_1.ended && isAfter(addSeconds(new Date(task_1.ended), 30), /* @__PURE__ */ new Date());
}
-function _temp$13(run) {
+function _temp$14(run) {
return [run._key, run];
}
function AssistDocumentInputWrapper(props) {
let $ = c(7);
@@ -855,9 +857,9 @@
}
function RunInstructionProvider(props) {
let $ = c(33), { config } = useAiAssistanceConfig(), { runInstruction: runInstructionRequest, loading } = useRunInstructionApi(useApiClient(config?.__customApiClient)), id = useId(), [inputs, setInputs] = useState(NO_INPUT), [runRequest, setRunRequest] = useState(), [resolveUserInput, setResolveUserInput] = useState(), t0;
$[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = async (t1) => {
- let { title, inputs: inputs_0 } = t1, userInputBlocks = inputs_0.map(_temp$12);
+ let { title, inputs: inputs_0 } = t1, userInputBlocks = inputs_0.map(_temp$13);
if (userInputBlocks.length) return setRunRequest({
dialogTitle: title,
userInputBlocks
}), new Promise((resolve) => {
@@ -866,9 +868,9 @@
}, $[0] = t0) : t0 = $[0];
let getUserInput = t0, t1;
$[1] !== loading || $[2] !== runInstructionRequest ? (t1 = (req) => {
if (loading) return;
- let { instruction, ...request } = req, instructionKey = instruction._key, userInputBlocks_0 = instruction?.prompt?.flatMap(_temp2$6).filter(isUserInputBlock);
+ let { instruction, ...request } = req, instructionKey = instruction._key, userInputBlocks_0 = instruction?.prompt?.flatMap(_temp2$8).filter(isUserInputBlock);
if (!userInputBlocks_0?.length) {
runInstructionRequest({
...request,
instructionKey,
@@ -892,9 +894,9 @@
let { instruction: instruction_0, userInputBlocks: _, ...request_0 } = runRequest;
runInstructionRequest({
...request_0,
instructionKey: instruction_0._key,
- userTexts: Object.entries(inputs).map(_temp3$4)
+ userTexts: Object.entries(inputs).map(_temp3$6)
});
} else {
let userInputs = Object.values(inputs).map((input_0, i_0) => {
let userInputBlock = runRequest.userInputBlocks[i_0];
@@ -914,9 +916,9 @@
}, $[6] = close, $[7] = inputs, $[8] = resolveUserInput, $[9] = runInstructionRequest, $[10] = runRequest, $[11] = t3) : t3 = $[11];
let runWithInput = t3, open = !!runRequest;
runRequest?.userInputBlocks;
let t4;
- $[12] === inputs ? t4 = $[13] : (t4 = Object.entries(inputs).filter(_temp4$2), $[12] = inputs, $[13] = t4);
+ $[12] === inputs ? t4 = $[13] : (t4 = Object.entries(inputs).filter(_temp4$4), $[12] = inputs, $[13] = t4);
let runDisabled = (runRequest?.userInputBlocks?.length ?? 0) > t4.length, t5;
$[14] === Symbol.for("react.memo_cache_sentinel") ? (t5 = { width: "100%" }, $[14] = t5) : t5 = $[14];
let t6;
$[15] !== runDisabled || $[16] !== runWithInput ? (t6 = /* @__PURE__ */ jsx(Button, {
@@ -972,23 +974,23 @@
value: contextValue,
children: [t8, props.children]
}), $[29] = contextValue, $[30] = props.children, $[31] = t8, $[32] = t9) : t9 = $[32], t9;
}
-function _temp4$2(t0) {
+function _temp4$4(t0) {
let [, value_0] = t0;
return !!value_0;
}
-function _temp3$4(t0) {
+function _temp3$6(t0) {
let [key, value] = t0;
return {
blockKey: key,
userInput: value
};
}
-function _temp2$6(block) {
+function _temp2$8(block) {
return block._type === "block" ? block.children.filter(isUserInputBlock) : [block];
}
-function _temp$12(input, i) {
+function _temp$13(input, i) {
return {
_type: userInputTypeName,
_key: input.id ?? `${i}`,
message: input.title,
@@ -1125,9 +1127,9 @@
}
return t9;
}
function useSyntheticTasks(assistableDocumentId) {
- let $ = c(7), [syntheticTasks, setSyntheticTasks] = useState(_temp$11), t0;
+ let $ = c(7), [syntheticTasks, setSyntheticTasks] = useState(_temp$12), t0;
$[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = (task) => {
setSyntheticTasks((current) => [...current, task]);
}, $[0] = t0) : t0 = $[0];
let addSyntheticTask = t0, t1;
@@ -1146,9 +1148,9 @@
addSyntheticTask,
removeSyntheticTask
}, $[5] = syntheticTasks, $[6] = t4), t4;
}
-function _temp$11() {
+function _temp$12() {
return [];
}
function AssistDocumentContextProvider(props) {
let $ = c(3), { documentId, documentType } = props, value = useAssistDocumentContextValue(documentId, documentType), t0;
@@ -1168,9 +1170,9 @@
}), $[2] = documentId, $[3] = documentType, $[4] = t0, $[5] = t1) : t1 = $[5], t1;
}
const fadeIn = keyframes`0%{opacity:0;transform:scale(0.75);}40%{opacity:0;transform:scale(0.75);}100%{opacity:1;transform:scale(1);}`, FadeInDiv = styled.div.withConfig({
displayName: "FadeInDiv",
- componentId: "sc-ui50f7-0"
+ componentId: "sc-gocic8-0"
})`animation-name:${fadeIn};animation-timing-function:ease-in-out;`;
function FadeInContent(t0) {
let $ = c(6), { children, durationMs: t1, ref } = t0, t2 = `${t1 === void 0 ? 250 : t1}ms`, t3;
$[0] === t2 ? t3 = $[1] : (t3 = { animationDuration: t2 }, $[0] = t2, $[1] = t3);
@@ -1182,45 +1184,61 @@
}), $[2] = children, $[3] = ref, $[4] = t3, $[5] = t4) : t4 = $[5], t4;
}
const Root = styled.span.withConfig({
displayName: "Root",
- componentId: "sc-6srsjv-0"
+ componentId: "sc-kyfo1k-0"
})`display:block;width:25px;height:25px;position:relative;`, dash = keyframes`0%{transform:rotate(0);}100%{transform:rotate(43deg);}`, Outline = styled.svg.withConfig({
displayName: "Outline",
- componentId: "sc-6srsjv-1"
+ componentId: "sc-kyfo1k-1"
})`display:block;position:absolute;top:0;left:0;& > circle{stroke:var(--ai-avatar-stroke-color);stroke-width:1.5px;stroke-linecap:round;transform-origin:center;animation:${dash} 500ms ease-in-out infinite;transition:stroke-dasharray 200ms ease-in-out;stroke-dasharray:2.34px 0;[data-state='active'] > &{stroke-dasharray:2px 2.34px;}}`, IconDisc = styled.span.withConfig({
displayName: "IconDisc",
- componentId: "sc-6srsjv-2"
+ componentId: "sc-kyfo1k-2"
})`background:var(--ai-avatar-disc-color);color:white;width:21px;height:21px;display:flex;align-items:center;justify-content:center;border-radius:10.5px;position:absolute;top:2px;left:2px;`;
function AssistAvatar(props) {
- let { state = "present" } = props, scheme = useColorSchemeValue(), style = useMemo(() => scheme === "dark" ? {
- "--ai-avatar-stroke-color": purple[400].hex,
- "--ai-avatar-disc-color": purple[600].hex
- } : {
- "--ai-avatar-stroke-color": purple[500].hex,
- "--ai-avatar-disc-color": purple[600].hex
- }, [scheme]);
- return /* @__PURE__ */ jsxs(Root, {
+ let $ = c(8), { state: t0 } = props, state = t0 === void 0 ? "present" : t0, scheme = useColorSchemeValue(), t1;
+ bb0: {
+ if (scheme === "dark") {
+ let t2;
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t2 = {
+ "--ai-avatar-stroke-color": purple[400].hex,
+ "--ai-avatar-disc-color": purple[600].hex
+ }, $[0] = t2) : t2 = $[0], t1 = t2;
+ break bb0;
+ }
+ let t2;
+ $[1] === Symbol.for("react.memo_cache_sentinel") ? (t2 = {
+ "--ai-avatar-stroke-color": purple[500].hex,
+ "--ai-avatar-disc-color": purple[600].hex
+ }, $[1] = t2) : t2 = $[1], t1 = t2;
+ }
+ let style = t1, t2;
+ $[2] === Symbol.for("react.memo_cache_sentinel") ? (t2 = /* @__PURE__ */ jsx(Outline, {
+ width: "25",
+ height: "25",
+ viewBox: "0 0 25 25",
+ fill: "none",
+ xmlns: "http://www.w3.org/2000/svg",
+ children: /* @__PURE__ */ jsx("circle", {
+ cx: "12.5",
+ cy: "12.5",
+ r: "11.75"
+ })
+ }), $[2] = t2) : t2 = $[2];
+ let t3;
+ $[3] === Symbol.for("react.memo_cache_sentinel") ? (t3 = { color: "inherit" }, $[3] = t3) : t3 = $[3];
+ let t4;
+ $[4] === Symbol.for("react.memo_cache_sentinel") ? (t4 = /* @__PURE__ */ jsx(IconDisc, { children: /* @__PURE__ */ jsx(Text, {
+ as: "span",
+ size: 0,
+ style: t3,
+ children: /* @__PURE__ */ jsx(SparklesIcon, { style: { color: "inherit" } })
+ }) }), $[4] = t4) : t4 = $[4];
+ let t5;
+ return $[5] !== state || $[6] !== style ? (t5 = /* @__PURE__ */ jsxs(Root, {
"data-state": state,
style,
- children: [/* @__PURE__ */ jsx(Outline, {
- width: "25",
- height: "25",
- viewBox: "0 0 25 25",
- fill: "none",
- xmlns: "http://www.w3.org/2000/svg",
- children: /* @__PURE__ */ jsx("circle", {
- cx: "12.5",
- cy: "12.5",
- r: "11.75"
- })
- }), /* @__PURE__ */ jsx(IconDisc, { children: /* @__PURE__ */ jsx(Text, {
- as: "span",
- size: 0,
- style: { color: "inherit" },
- children: /* @__PURE__ */ jsx(SparklesIcon, { style: { color: "inherit" } })
- }) })]
- });
+ children: [t2, t4]
+ }), $[5] = state, $[6] = style, $[7] = t5) : t5 = $[7], t5;
}
function AiFieldPresence(_props) {
let $ = c(3), t0;
$[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = {
@@ -1257,9 +1275,9 @@
function useAssistPresence(path, showFocusWithin) {
let $ = c(6), context = useAssistDocumentContext(), tasks = (context && "assistDocument" in context ? context.assistDocument : void 0)?.tasks, t0;
if ($[0] !== path || $[1] !== showFocusWithin || $[2] !== tasks) {
bb0: {
- let activePresence = tasks?.filter(_temp$10)?.flatMap(_temp2$5)?.filter(_temp3$3).filter((presence) => {
+ let activePresence = tasks?.filter(_temp$11)?.flatMap(_temp2$7)?.filter(_temp3$5).filter((presence) => {
if (!presence.path || !path.length) return !1;
let statusPath = stringToPath(presence.path);
return !showFocusWithin && statusPath.length !== path.length ? !1 : path.every((pathSegment, i) => {
let statusSegment = statusPath[i];
@@ -1276,15 +1294,15 @@
$[0] = path, $[1] = showFocusWithin, $[2] = tasks, $[3] = t0;
} else t0 = $[3];
return t0;
}
-function _temp3$3(p) {
+function _temp3$5(p) {
return p.started && (/* @__PURE__ */ new Date()).getTime() - new Date(p.started).getTime() < maxHistoryVisibilityMs;
}
-function _temp2$5(task_0) {
+function _temp2$7(task_0) {
return task_0.presence ?? [];
}
-function _temp$10(task) {
+function _temp$11(task) {
return !task.ended;
}
function aiPresence(presence, path, _title) {
return {
@@ -1333,9 +1351,9 @@
}), $[6] = actions, $[7] = props, $[8] = t3) : t3 = $[8], t3;
}
const WrapPreCard = styled(Card).withConfig({
displayName: "WrapPreCard",
- componentId: "sc-v6xax4-0"
+ componentId: "sc-flgt1j-0"
})`& pre{white-space:pre-wrap !important;}`;
function SafeValueInput(props) {
let $ = c(5), t0;
$[0] === props ? t0 = $[1] : (t0 = /* @__PURE__ */ jsx(PteValueFixer, { ...props }), $[0] = props, $[1] = t0);
@@ -1462,17 +1480,17 @@
flex: 1,
children: t1
}), $[3] = t1, $[4] = t2);
let t3;
- $[5] === presence ? t3 = $[6] : (t3 = presence.map(_temp$9), $[5] = presence, $[6] = t3);
+ $[5] === presence ? t3 = $[6] : (t3 = presence.map(_temp$10), $[5] = presence, $[6] = t3);
let t4;
return $[7] !== t2 || $[8] !== t3 ? (t4 = /* @__PURE__ */ jsxs(Flex, {
align: "center",
style: t0,
children: [t2, t3]
}), $[7] = t2, $[8] = t3, $[9] = t4) : t4 = $[9], t4;
}
-function _temp$9(pre) {
+function _temp$10(pre) {
return /* @__PURE__ */ jsx(Box, {
style: {
position: "absolute",
right: 35
@@ -1692,9 +1710,9 @@
}, []);
}
const SparklesIllustration = /* @__PURE__ */ styled(SparklesIcon).withConfig({
displayName: "SparklesIllustration",
- componentId: "sc-2lc3by-0"
+ componentId: "sc-xzej1l-0"
})({
fontSize: "3.125em",
"& path": { strokeWidth: "0.6px !important" }
});
@@ -1786,11 +1804,11 @@
} else t1 = $[8];
let currentField = t1, t2;
if ($[11] !== fieldRefs || $[12] !== filter) {
let t3;
- $[14] === filter ? t3 = $[15] : (t3 = (field) => !filter || filter(field), $[14] = filter, $[15] = t3), t2 = fieldRefs.filter(t3).filter(_temp$8).map(_temp2$4), $[11] = fieldRefs, $[12] = filter, $[13] = t2;
+ $[14] === filter ? t3 = $[15] : (t3 = (field) => !filter || filter(field), $[14] = filter, $[15] = t3), t2 = fieldRefs.filter(t3).filter(_temp$9).map(_temp2$6), $[11] = fieldRefs, $[12] = filter, $[13] = t2;
} else t2 = $[13];
- let autocompleteOptions = t2, renderOption = _temp3$2, renderValue = _temp4$1, filterOption = _temp5, t3 = currentField ? currentField.icon : SearchIcon, t4 = currentField?.key, t5;
+ let autocompleteOptions = t2, renderOption = _temp3$4, renderValue = _temp4$3, filterOption = _temp5$2, t3 = currentField ? currentField.icon : SearchIcon, t4 = currentField?.key, t5;
return $[16] !== autocompleteOptions || $[17] !== id || $[18] !== onSelect || $[19] !== t3 || $[20] !== t4 ? (t5 = /* @__PURE__ */ jsx(Autocomplete, {
fontSize: 1,
icon: t3,
onChange: onSelect,
@@ -1804,16 +1822,16 @@
value: t4,
filterOption
}), $[16] = autocompleteOptions, $[17] = id, $[18] = onSelect, $[19] = t3, $[20] = t4, $[21] = t5) : t5 = $[21], t5;
}
-function _temp5(query, option_1) {
+function _temp5$2(query, option_1) {
let lQuery = query.toLowerCase();
return option_1?.value?.toLowerCase().includes(lQuery) || option_1?.field?.title?.toLowerCase().includes(lQuery);
}
-function _temp4$1(value_0, option_0) {
+function _temp4$3(value_0, option_0) {
return option_0?.field.title ?? value_0;
}
-function _temp3$2(option) {
+function _temp3$4(option) {
let { value, field: field_1 } = option;
return value ? isType(field_1.schemaType, "document") ? /* @__PURE__ */ jsx(Card, {
as: "button",
padding: 3,
@@ -1844,15 +1862,15 @@
children: option.value
})
});
}
-function _temp2$4(field_0) {
+function _temp2$6(field_0) {
return {
value: field_0.key,
field: field_0
};
}
-function _temp$8(f_0) {
+function _temp$9(f_0) {
return !isType(f_0.schemaType, "reference");
}
function FieldTitle(props) {
let $ = c(24), T0, T1, splitTitle, t0, t1, t2, t3, t4;
@@ -1867,9 +1885,9 @@
muted: !0,
size: 1,
children: "/"
})
- }), $[10] = t1) : t1 = $[10], t2 = 1, t3 = splitTitle.slice(0, splitTitle.length - 1).map(_temp6), $[0] = props.field.title, $[1] = T0, $[2] = T1, $[3] = splitTitle, $[4] = t0, $[5] = t1, $[6] = t2, $[7] = t3, $[8] = t4);
+ }), $[10] = t1) : t1 = $[10], t2 = 1, t3 = splitTitle.slice(0, splitTitle.length - 1).map(_temp6$1), $[0] = props.field.title, $[1] = T0, $[2] = T1, $[3] = splitTitle, $[4] = t0, $[5] = t1, $[6] = t2, $[7] = t3, $[8] = t4);
let t5 = splitTitle[splitTitle.length - 1], t6;
$[11] === t5 ? t6 = $[12] : (t6 = /* @__PURE__ */ jsx(Box, {
marginTop: 1,
children: /* @__PURE__ */ jsx(Text, {
@@ -1890,9 +1908,9 @@
flex: t4,
children: t7
}), $[20] = T1, $[21] = t4, $[22] = t7, $[23] = t8) : t8 = $[23], t8;
}
-function _temp6(pt, i) {
+function _temp6$1(pt, i) {
return /* @__PURE__ */ jsx(Box, {
marginTop: 1,
children: /* @__PURE__ */ jsx(Text, {
muted: !0,
@@ -1901,15 +1919,15 @@
})
}, i);
}
function useInterval(ms) {
- let $ = c(3), [tick, update] = useReducer(_temp$7, 0), t0, t1;
+ let $ = c(3), [tick, update] = useReducer(_temp$8, 0), t0, t1;
return $[0] === ms ? (t0 = $[1], t1 = $[2]) : (t0 = () => {
let i = setInterval(update, ms);
return () => clearInterval(i);
}, t1 = [ms], $[0] = ms, $[1] = t0, $[2] = t1), useEffect(t0, t1), tick;
}
-function _temp$7(n) {
+function _temp$8(n) {
return n + 1;
}
function TimeAgo(t0) {
let $ = c(4), { date } = t0;
@@ -1923,9 +1941,9 @@
}), $[2] = timeSince, $[3] = t2), t2;
}
const rotate = keyframes`0%{transform:rotate(0);}100%{transform:rotate(360deg);}`, SyncSpinningIcon = styled(SyncIcon).withConfig({
displayName: "SyncSpinningIcon",
- componentId: "sc-mtdfu7-0"
+ componentId: "sc-chle4-0"
})`animation:${rotate} 1s linear infinite;`, TASK_CONFIG = {
aborted: {
title: "Canceled",
icon: CloseCircleIcon,
@@ -1947,58 +1965,85 @@
tone: "caution"
}
};
function InstructionTaskHistoryButton(props) {
- let { tasks, instructions, documentId, showTitles } = props, client = useClient({ apiVersion: "2023-01-01" }), cancelRun = useCallback((taskKey) => {
+ let $ = c(32), { tasks, instructions, documentId, showTitles } = props, t0;
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = { apiVersion: "2023-01-01" }, $[0] = t0) : t0 = $[0];
+ let client = useClient(t0), t1;
+ $[1] !== client || $[2] !== documentId ? (t1 = (taskKey) => {
if (!documentId) return;
let statusDocId = assistTasksStatusId(documentId), basePath = `${typed("tasks")}[_key=="${taskKey}"]`;
client.patch(statusDocId).set({
[`${basePath}.${typed("ended")}`]: (/* @__PURE__ */ new Date()).toISOString(),
[`${basePath}.${typed("reason")}`]: typed("aborted")
}).commit().catch(console.error);
- }, [client, documentId]), titledTasks = useMemo(() => {
- let t = tasks?.filter((task) => task.started && (/* @__PURE__ */ new Date()).getTime() - new Date(task.started).getTime() < maxHistoryVisibilityMs).map((task_0) => {
- let instruction = instructions?.find((i) => i._key === task_0.instructionKey);
- return {
- ...task_0,
- title: showTitles ? task_0.title ?? getInstructionTitle(instruction) : void 0,
- cancel: () => cancelRun(task_0._key)
- };
- }) ?? [];
- return t.sort((a, b) => new Date(b.started ?? "").getTime() - new Date(a.started ?? "").getTime()), t;
- }, [
- tasks,
- instructions,
- cancelRun,
- showTitles
- ]), isRunning = useMemo(() => titledTasks.some((r) => !r.ended), [titledTasks]), hasErrors = useMemo(() => titledTasks.some((r_0) => r_0.reason === "error" || r_0.reason === "timeout"), [titledTasks]), [open, setOpen] = useState(!1), toggleOpen = useCallback(() => setOpen((v) => !v), []), [button, setButton] = useState(null), [popover, setPopover] = useState(null), handleClickOutside = useCallback(() => {
+ }, $[1] = client, $[2] = documentId, $[3] = t1) : t1 = $[3];
+ let cancelRun = t1, t;
+ $[4] !== cancelRun || $[5] !== instructions || $[6] !== showTitles || $[7] !== tasks ? (t = tasks?.filter(_temp$7).map((task_0) => {
+ let instruction = instructions?.find((i) => i._key === task_0.instructionKey);
+ return {
+ ...task_0,
+ title: showTitles ? task_0.title ?? getInstructionTitle(instruction) : void 0,
+ cancel: () => cancelRun(task_0._key)
+ };
+ }) ?? [], t.sort(_temp2$5), $[4] = cancelRun, $[5] = instructions, $[6] = showTitles, $[7] = tasks, $[8] = t) : t = $[8];
+ let titledTasks = t, t2;
+ $[9] === titledTasks ? t2 = $[10] : (t2 = titledTasks.some(_temp3$3), $[9] = titledTasks, $[10] = t2);
+ let isRunning = t2, t3;
+ $[11] === titledTasks ? t3 = $[12] : (t3 = titledTasks.some(_temp4$2), $[11] = titledTasks, $[12] = t3);
+ let hasErrors = t3, [open, setOpen] = useState(!1), t4;
+ $[13] === Symbol.for("react.memo_cache_sentinel") ? (t4 = () => setOpen(_temp5$1), $[13] = t4) : t4 = $[13];
+ let toggleOpen = t4, [button, setButton] = useState(null), [popover, setPopover] = useState(null), t5;
+ $[14] === Symbol.for("react.memo_cache_sentinel") ? (t5 = () => {
setOpen(!1);
- }, []);
- useClickOutsideEvent(handleClickOutside, () => [button, popover]);
- let handleEscape = useCallback(() => {
+ }, $[14] = t5) : t5 = $[14];
+ let handleClickOutside = t5, t6;
+ $[15] !== button || $[16] !== popover ? (t6 = () => [button, popover], $[15] = button, $[16] = popover, $[17] = t6) : t6 = $[17], useClickOutsideEvent(handleClickOutside, t6);
+ let t7;
+ $[18] === button ? t7 = $[19] : (t7 = () => {
setOpen(!1), button?.focus();
- }, [button]);
- return /* @__PURE__ */ jsx(Popover, {
+ }, $[18] = button, $[19] = t7);
+ let handleEscape = t7, t8;
+ $[20] !== handleEscape || $[21] !== titledTasks ? (t8 = /* @__PURE__ */ jsx(TaskList, {
+ onEscape: handleEscape,
+ tasks: titledTasks
+ }), $[20] = handleEscape, $[21] = titledTasks, $[22] = t8) : t8 = $[22];
+ let t9 = open && !!titledTasks?.length, t10 = !titledTasks?.length, t11;
+ $[23] !== hasErrors || $[24] !== isRunning || $[25] !== open || $[26] !== t10 ? (t11 = /* @__PURE__ */ jsx(TaskStatusButton, {
+ disabled: t10,
+ hasErrors,
+ isRunning,
+ onClick: toggleOpen,
+ ref: setButton,
+ selected: open
+ }), $[23] = hasErrors, $[24] = isRunning, $[25] = open, $[26] = t10, $[27] = t11) : t11 = $[27];
+ let t12;
+ return $[28] !== t11 || $[29] !== t8 || $[30] !== t9 ? (t12 = /* @__PURE__ */ jsx(Popover, {
constrainSize: !0,
- content: /* @__PURE__ */ jsx(TaskList, {
- onEscape: handleEscape,
- tasks: titledTasks
- }),
- open: open && !!titledTasks?.length,
+ content: t8,
+ open: t9,
placement: "top",
portal: !0,
ref: setPopover,
width: 0,
- children: /* @__PURE__ */ jsx(TaskStatusButton, {
- disabled: !titledTasks?.length,
- hasErrors,
- isRunning,
- onClick: toggleOpen,
- ref: setButton,
- selected: open
- })
- });
+ children: t11
+ }), $[28] = t11, $[29] = t8, $[30] = t9, $[31] = t12) : t12 = $[31], t12;
}
+function _temp5$1(v) {
+ return !v;
+}
+function _temp4$2(r_0) {
+ return r_0.reason === "error" || r_0.reason === "timeout";
+}
+function _temp3$3(r) {
+ return !r.ended;
+}
+function _temp2$5(a, b) {
+ return new Date(b.started ?? "").getTime() - new Date(a.started ?? "").getTime();
+}
+function _temp$7(task) {
+ return task.started && (/* @__PURE__ */ new Date()).getTime() - new Date(task.started).getTime() < maxHistoryVisibilityMs;
+}
const TASK_STATUS_BUTTON_TOOLTIP_PROPS = { placement: "top" };
function TaskStatusButton(props) {
let $ = c(7), { disabled, hasErrors, isRunning, onClick, selected, ref } = props, t0 = isRunning ? SyncSpinningIcon : hasErrors ? ErrorOutlineIcon : CheckmarkCircleIcon, t1 = hasErrors ? "critical" : void 0, t2;
return $[0] !== disabled || $[1] !== onClick || $[2] !== ref || $[3] !== selected || $[4] !== t0 || $[5] !== t1 ? (t2 = /* @__PURE__ */ jsx(StatusButton, {
@@ -2019,17 +2064,17 @@
$[0] !== isTopLayer || $[1] !== onEscape ? (t0 = (event) => {
isTopLayer && event.key === "Escape" && onEscape();
}, $[0] = isTopLayer, $[1] = onEscape, $[2] = t0) : t0 = $[2], useGlobalKeyDown(t0);
let t1;
- $[3] === tasks ? t1 = $[4] : (t1 = tasks.map(_temp$6), $[3] = tasks, $[4] = t1);
+ $[3] === tasks ? t1 = $[4] : (t1 = tasks.map(_temp6), $[3] = tasks, $[4] = t1);
let t2;
return $[5] === t1 ? t2 = $[6] : (t2 = /* @__PURE__ */ jsx(Stack, {
padding: 1,
gap: 1,
children: t1
}), $[5] = t1, $[6] = t2), t2;
}
-function _temp$6(task) {
+function _temp6(task) {
return /* @__PURE__ */ jsx(TaskItem, { task }, task._key);
}
function TaskItem(props) {
let $ = c(32), { task } = props, taskType = task.reason && TASK_CONFIG[task.reason], TaskIcon = taskType ? taskType.icon : null, t0 = taskType && taskType?.tone, t1;
@@ -2130,12 +2175,12 @@
};
}
const EMPTY_PANE_PARAMS = {}, CardWithShadowBelow = styled(Card).withConfig({
displayName: "CardWithShadowBelow",
- componentId: "sc-56ewtn-0"
+ componentId: "sc-pz26f7-0"
})`position:relative;&:after{content:'';display:block;position:absolute;left:0;right:0;bottom:-1px;border-bottom:1px solid var(--card-border-color);opacity:0.5;z-index:100;}`, CardWithShadowAbove = styled(Card).withConfig({
displayName: "CardWithShadowAbove",
- componentId: "sc-56ewtn-1"
+ componentId: "sc-pz26f7-1"
})`position:relative;&:after{content:'';display:block;position:absolute;left:0;right:0;top:-1px;border-top:1px solid var(--card-border-color);opacity:0.5;z-index:100;}`;
function AssistInspectorWrapper(props) {
let $ = c(43), context = useAiAssistanceConfig();
if (context.statusLoading) {
@@ -2309,9 +2354,9 @@
}), typePath = useTypePath(docValue, pathKey ?? ""), selectedField = useSelectedField(schemaType, typePath), aiDocId = assistDocumentId(documentType), assistDocument = useStudioAssistDocument({
documentId,
schemaType,
initDoc: !0
- }), instruction = (assistDocument?.fields?.find((f) => f.path === typePath))?.instructions?.find((i) => i._key === instructionKey), tasks = useMemo(() => assistDocument?.tasks?.filter((i_0) => !instructionKey || i_0.instructionKey === instructionKey), [assistDocument?.tasks, instructionKey]), instructions = useMemo(() => assistDocument?.fields?.flatMap((f_0) => f_0.instructions ?? []), [assistDocument?.fields]), promptValue = instruction?.prompt, isEmptyPrompt = useMemo(() => {
+ }), instruction = (assistDocument?.fields?.find((f) => f.path === typePath))?.instructions?.find((i) => i._key === instructionKey), tasks = useMemo(() => assistDocument?.tasks?.filter((i) => !instructionKey || i.instructionKey === instructionKey), [assistDocument?.tasks, instructionKey]), instructions = useMemo(() => assistDocument?.fields?.flatMap((f) => f.instructions ?? []), [assistDocument?.fields]), promptValue = instruction?.prompt, isEmptyPrompt = useMemo(() => {
if (!promptValue?.length) return !0;
let children = promptValue[0]?.children;
return promptValue.length == 1 && children?.length === 1 && !children?.[0]?.text?.length;
}, [promptValue]), paneNode = useMemo(() => ({
@@ -2638,40 +2683,38 @@
strokeWidth: 1
}
};
function AssistConnectorsOverlay(props) {
- let $ = c(13), { connectors } = props, [, setRedraw] = useState(!1), t0;
- $[0] === setRedraw ? t0 = $[1] : (t0 = () => {
+ let $ = c(12), { connectors } = props, [, setRedraw] = useState(!1), t0, t1;
+ $[0] === Symbol.for("react.memo_cache_sentinel") ? (t0 = () => {
setRedraw(!0);
- }, $[0] = setRedraw, $[1] = t0);
- let t1;
- $[2] === Symbol.for("react.memo_cache_sentinel") ? (t1 = [], $[2] = t1) : t1 = $[2], useEffect(t0, t1);
+ }, t1 = [], $[0] = t0, $[1] = t1) : (t0 = $[0], t1 = $[1]), useEffect(t0, t1);
let t2;
- $[3] === Symbol.for("react.memo_cache_sentinel") ? (t2 = {
+ $[2] === Symbol.for("react.memo_cache_sentinel") ? (t2 = {
position: "absolute",
top: 0,
left: 0,
width: "100%",
height: "100%",
pointerEvents: "none",
zIndex: 150
- }, $[3] = t2) : t2 = $[3];
+ }, $[2] = t2) : t2 = $[2];
let t3;
- $[4] === connectors ? t3 = $[5] : (t3 = connectors.map(_temp$5), $[4] = connectors, $[5] = t3);
+ $[3] === connectors ? t3 = $[4] : (t3 = connectors.map(_temp$6), $[3] = connectors, $[4] = t3);
let t4;
- $[6] === t3 ? t4 = $[7] : (t4 = /* @__PURE__ */ jsx("svg", {
+ $[5] === t3 ? t4 = $[6] : (t4 = /* @__PURE__ */ jsx("svg", {
fill: "none",
width: window.innerWidth,
height: window.innerHeight,
style: t2,
children: t3
- }), $[6] = t3, $[7] = t4);
+ }), $[5] = t3, $[6] = t4);
let t5;
- $[8] === connectors ? t5 = $[9] : (t5 = !1, $[8] = connectors, $[9] = t5);
+ $[7] === connectors ? t5 = $[8] : (t5 = !1, $[7] = connectors, $[8] = t5);
let t6;
- return $[10] !== t4 || $[11] !== t5 ? (t6 = /* @__PURE__ */ jsxs(Fragment, { children: [t4, t5] }), $[10] = t4, $[11] = t5, $[12] = t6) : t6 = $[12], t6;
+ return $[9] !== t4 || $[10] !== t5 ? (t6 = /* @__PURE__ */ jsxs(Fragment, { children: [t4, t5] }), $[9] = t4, $[10] = t5, $[11] = t6) : t6 = $[11], t6;
}
-function _temp$5(connector) {
+function _temp$6(connector) {
return /* @__PURE__ */ jsx(ConnectorPath, {
from: connector.from,
options,
to: connector.to
@@ -2835,9 +2878,9 @@
return;
}
let preferred = getPreferredToFieldLanguages(from.id), allToLanguages = languages_0.filter((l) => l.id !== from?.id), filteredToLanguages = allToLanguages.filter((l_0) => !preferred.length || preferred.includes(l_0.id));
setToLanguages(filteredToLanguages);
- let fromId = from?.id, allToIds = allToLanguages?.map(_temp$4) ?? [], docMembers = getDocumentMembersFlat(document, documentSchema, config?.maxPathDepth);
+ let fromId = from?.id, allToIds = allToLanguages?.map(_temp$5) ?? [], docMembers = getDocumentMembersFlat(document, documentSchema, config?.maxPathDepth);
if (fromId && allToIds?.length) {
let transMap = getFieldLanguageMap(documentSchema, docMembers, fromId, allToIds.filter((toId) => fromId !== toId), config?.translationOutputs ?? defaultLanguageOutputs);
setFieldLanguageMaps(transMap);
} else setFieldLanguageMaps(void 0);
@@ -2845,9 +2888,9 @@
let selectFromLanguage = t3, t4;
$[6] === fromLanguage ? t4 = $[7] : (t4 = (toggledLang, toLanguages_0, languages_1) => {
if (!languages_1 || !fromLanguage) return;
let wasSelected = !!toLanguages_0?.find((l_2) => l_2.id === toggledLang.id), newToLangs = languages_1.filter((anyLang) => !!toLanguages_0?.find((selectedLang) => toggledLang.id !== selectedLang.id && selectedLang.id === anyLang.id) || toggledLang.id === anyLang.id && !wasSelected);
- setToLanguages(newToLangs), setPreferredToFieldLanguages(fromLanguage.id, newToLangs.map(_temp2$3));
+ setToLanguages(newToLangs), setPreferredToFieldLanguages(fromLanguage.id, newToLangs.map(_temp2$4));
}, $[6] = fromLanguage, $[7] = t4);
let toggleToLanguage = t4, t5;
$[8] !== config || $[9] !== languageClient || $[10] !== selectFromLanguage ? (t5 = async (params_0) => {
setDialogOpen(!0);
@@ -2965,12 +3008,12 @@
value: contextValue,
children: [t11, props.children]
}), $[45] = contextValue, $[46] = props.children, $[47] = t11, $[48] = t12) : t12 = $[48], t12;
}
-function _temp2$3(l_3) {
+function _temp2$4(l_3) {
return l_3.id;
}
-function _temp$4(l_1) {
+function _temp$5(l_1) {
return l_1.id;
}
function ToLanguageCheckbox(props) {
let $ = c(25), { checkboxLanguage, fromLanguage, toLanguages, toggleToLanguage, languages } = props, langId = checkboxLanguage.id, t0;
@@ -3451,9 +3494,9 @@
node,
pushToast,
addSyntheticTask,
removeSyntheticTask
- })).filter(isDefined), onlyGroups = customActions?.length && customActions?.every((node_0) => node_0.type === "group");
+ })).filter(isDefined), onlyGroups = customActions?.length && customActions?.every((node) => node.type === "group");
return (customActions?.length ? onlyGroups ? customActions : [{
type: "group",
title: title || "Custom actions",
children: customActions,
@@ -3780,29 +3823,60 @@
return documentId ? /* @__PURE__ */ jsx(AssistDocumentPresence, {}) : null;
};
}
function AssistDocumentPresence() {
- let { assistDocument, syntheticTasks } = useAssistDocumentContext(), anyPresence_0 = useMemo(() => {
- let anyPresence = [...assistDocument?.tasks ?? [], ...syntheticTasks ?? []].filter((run) => !run.ended && !run.reason)?.flatMap((run_0) => run_0.presence ?? []).find((f) => f.started && (/* @__PURE__ */ new Date()).getTime() - new Date(f.started).getTime() < 3e4);
- if (anyPresence) return aiPresence(anyPresence, []);
- let anyRun = assistDocument?.tasks?.filter((run_1) => !run_1.ended && !run_1.reason)?.find((f_0) => f_0.started && (/* @__PURE__ */ new Date()).getTime() - new Date(f_0.started).getTime() < 3e4);
- return anyRun ? aiPresence({
- started: anyRun.started,
- path: documentRootKey,
- _key: anyRun._key,
- _type: fieldPresenceTypeName
- }, []) : void 0;
- }, [assistDocument?.tasks, syntheticTasks]);
- return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(Flex, {
+ let $ = c(9), { assistDocument, syntheticTasks } = useAssistDocumentContext();
+ assistDocument?.tasks;
+ let t0;
+ if ($[0] !== assistDocument?.tasks || $[1] !== syntheticTasks) {
+ bb0: {
+ let anyPresence = [...assistDocument?.tasks ?? [], ...syntheticTasks ?? []].filter(_temp$4)?.flatMap(_temp2$3).find(_temp3$2);
+ if (anyPresence) {
+ t0 = aiPresence(anyPresence, []);
+ break bb0;
+ }
+ let t1;
+ if ($[3] !== assistDocument?.tasks) {
+ let anyRun = assistDocument?.tasks?.filter(_temp4$1)?.find(_temp5);
+ t1 = anyRun ? aiPresence({
+ started: anyRun.started,
+ path: documentRootKey,
+ _key: anyRun._key,
+ _type: fieldPresenceTypeName
+ }, []) : void 0, $[3] = assistDocument?.tasks, $[4] = t1;
+ } else t1 = $[4];
+ t0 = t1;
+ }
+ $[0] = assistDocument?.tasks, $[1] = syntheticTasks, $[2] = t0;
+ } else t0 = $[2];
+ let anyPresence_0 = t0, t1;
+ $[5] === anyPresence_0 ? t1 = $[6] : (t1 = anyPresence_0 && /* @__PURE__ */ jsx(AiFieldPresence, { presence: anyPresence_0 }), $[5] = anyPresence_0, $[6] = t1);
+ let t2;
+ return $[7] === t1 ? t2 = $[8] : (t2 = /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsx(Flex, {
flex: 1,
justify: "flex-end",
children: /* @__PURE__ */ jsx(Flex, {
gap: 2,
align: "center",
- children: anyPresence_0 && /* @__PURE__ */ jsx(AiFieldPresence, { presence: anyPresence_0 })
+ children: t1
})
- }) });
+ }) }), $[7] = t1, $[8] = t2), t2;
}
+function _temp5(f_0) {
+ return f_0.started && (/* @__PURE__ */ new Date()).getTime() - new Date(f_0.started).getTime() < 3e4;
+}
+function _temp4$1(run_1) {
+ return !run_1.ended && !run_1.reason;
+}
+function _temp3$2(f) {
+ return f.started && (/* @__PURE__ */ new Date()).getTime() - new Date(f.started).getTime() < 3e4;
+}
+function _temp2$3(run_0) {
+ return run_0.presence ?? [];
+}
+function _temp$4(run) {
+ return !run.ended && !run.reason;
+}
function BackToInstructionListLink() {
let $ = c(4), { openInspector } = useDocumentPane(), t0;
$[0] === openInspector ? t0 = $[1] : (t0 = () => openInspector(aiInspectorId, { [instructionParam]: void 0 }), $[0] = openInspector, $[1] = t0);
let goBack = t0, t1;
@@ -3961,39 +4035,42 @@
function _temp$3(m) {
return m.kind === "error" && m.fieldName === "fields";
}
function useSelectedSchema(fieldPath, documentSchema) {
- let $ = c(2), t0;
- bb0: {
- if (!fieldPath) {
- t0 = void 0;
- break bb0;
- }
- if (fieldPath === "<document>") {
- t0 = documentSchema;
- break bb0;
- }
- let t1;
- $[0] === fieldPath ? t1 = $[1] : (t1 = stringToPath(fieldPath), $[0] = fieldPath, $[1] = t1);
- let path = t1, currentSchema = documentSchema;
- for (let i = 0; i < path.length; i++) {
- let segment = path[i], field = currentSchema?.fields.find((f) => f.name === segment);
- if (!field) {
+ let $ = c(5), t0;
+ if ($[0] !== documentSchema || $[1] !== fieldPath) {
+ bb0: {
+ if (!fieldPath) {
t0 = void 0;
break bb0;
}
- if (i === path.length - 1) {
- t0 = field.type;
+ if (fieldPath === "<document>") {
+ t0 = documentSchema;
break bb0;
}
- if (field.type.jsonType !== "object") {
- t0 = void 0;
- break bb0;
+ let t1;
+ $[3] === fieldPath ? t1 = $[4] : (t1 = stringToPath(fieldPath), $[3] = fieldPath, $[4] = t1);
+ let path = t1, currentSchema = documentSchema;
+ for (let i = 0; i < path.length; i++) {
+ let segment = path[i], field = currentSchema?.fields.find((f) => f.name === segment);
+ if (!field) {
+ t0 = void 0;
+ break bb0;
+ }
+ if (i === path.length - 1) {
+ t0 = field.type;
+ break bb0;
+ }
+ if (field.type.jsonType !== "object") {
+ t0 = void 0;
+ break bb0;
+ }
+ currentSchema = field.type;
}
- currentSchema = field.type;
+ t0 = currentSchema;
}
- t0 = currentSchema;
- }
+ $[0] = documentSchema, $[1] = fieldPath, $[2] = t0;
+ } else t0 = $[2];
return t0;
}
function FieldsInitializer(t0) {
let $ = c(18), { pathKey, activePath, fields, documentSchema, onChange } = t0, { config: t1 } = useAiAssistanceConfig(), { __presets: presets } = t1, t2;
@@ -4187,18 +4264,17 @@
]
}), $[1] = props, $[2] = t1), t1;
}
function ObjectMember(t0) {
- let $ = c(6), props, t1;
- if ($[0] !== t0) {
- let { fieldName, ...t2 } = t0;
- props = t2, t1 = findFieldMember(props.members, fieldName), $[0] = t0, $[1] = props, $[2] = t1;
- } else props = $[1], t1 = $[2];
+ let $ = c(9), fieldName, props;
+ $[0] === t0 ? (fieldName = $[1], props = $[2]) : ({fieldName, ...props} = t0, $[0] = t0, $[1] = fieldName, $[2] = props);
+ let t1;
+ $[3] !== fieldName || $[4] !== props.members ? (t1 = findFieldMember(props.members, fieldName), $[3] = fieldName, $[4] = props.members, $[5] = t1) : t1 = $[5];
let member = t1, t2;
- return $[3] !== member || $[4] !== props ? (t2 = member ? /* @__PURE__ */ jsx(ObjectInputMember, {
+ return $[6] !== member || $[7] !== props ? (t2 = member ? /* @__PURE__ */ jsx(ObjectInputMember, {
...props,
member
- }) : null, $[3] = member, $[4] = props, $[5] = t2) : t2 = $[5], t2;
+ }) : null, $[6] = member, $[7] = props, $[8] = t2) : t2 = $[8], t2;
}
const NONE = [];
function NameField(props) {
let $ = c(23), fieldsetMember = findFieldsetMember(props.members, "appearance"), titleId = useId(), members = fieldsetMember?.fieldSet.members ?? NONE, iconMember = findFieldMember(members, "icon"), titleMember = findFieldMember(members, "title"), t0;
@@ -4482,9 +4558,9 @@
}), $[16] = t3, $[17] = t6, $[18] = t7) : t7 = $[18], t7;
}
const PteMods = styled(Box).withConfig({
displayName: "PteMods",
- componentId: "sc-lrz2c-0"
+ componentId: "sc-lca06y-0"
})`& [data-testid='pt-editor__toolbar-card'] > div > div:last-child{display:none;}& [data-testid='pt-editor']{min-height:300px;}& [data-testid='pt-editor'] .pt-inline-object *{max-width:400px;}`;
function PromptInput(props) {
let $ = c(5);
useOnlyInlineBlocks(props);