@sanity/document-internationalization 3.2.1 → 3.3.0

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.mjs CHANGED
@@ -34,7 +34,8 @@ const METADATA_SCHEMA_NAME = "translation.metadata", TRANSLATIONS_ARRAY_NAME = "
34
34
  bulkPublish: !1,
35
35
  metadataFields: [],
36
36
  apiVersion: API_VERSION,
37
- allowCreateMetaDoc: !1
37
+ allowCreateMetaDoc: !1,
38
+ callback: null
38
39
  };
39
40
  function separateReferences(data = []) {
40
41
  const translations = [], otherReferences = [];
@@ -3714,7 +3715,7 @@ function LanguageOption(props) {
3714
3715
  sourceLanguageId,
3715
3716
  metadata: metadata2,
3716
3717
  metadataId
3717
- } = props, [userHasClicked, setUserHasClicked] = useState(!1), disabled = props.disabled || userHasClicked || current || !source || !sourceLanguageId || !metadataId, translation = metadata2 != null && metadata2.translations.length ? metadata2.translations.find((t) => t._key === language.id) : void 0, { apiVersion, languageField, weakReferences } = useDocumentInternationalizationContext(), client = useClient({ apiVersion }), toast = useToast(), open = useOpenInNewPane((_a = translation == null ? void 0 : translation.value) == null ? void 0 : _a._ref, schemaType.name), handleOpen = useCallback(() => open(), [open]);
3718
+ } = props, [userHasClicked, setUserHasClicked] = useState(!1), disabled = props.disabled || userHasClicked || current || !source || !sourceLanguageId || !metadataId, translation = metadata2 != null && metadata2.translations.length ? metadata2.translations.find((t) => t._key === language.id) : void 0, { apiVersion, languageField, weakReferences, callback } = useDocumentInternationalizationContext(), client = useClient({ apiVersion }), toast = useToast(), open = useOpenInNewPane((_a = translation == null ? void 0 : translation.value) == null ? void 0 : _a._ref, schemaType.name), handleOpen = useCallback(() => open(), [open]);
3718
3719
  useEffect(() => {
3719
3720
  setUserHasClicked(!1);
3720
3721
  }, [!!translation]);
@@ -3756,7 +3757,20 @@ function LanguageOption(props) {
3756
3757
  const metadataPatch = client.patch(metadataId).setIfMissing({ translations: [sourceReference] }).insert("after", "translations[-1]", [newTranslationReference]);
3757
3758
  transaction.patch(metadataPatch), transaction.commit().then(() => {
3758
3759
  const metadataExisted = !!(metadata2 != null && metadata2._createdAt);
3759
- return toast.push({
3760
+ return callback == null || callback({
3761
+ client,
3762
+ sourceLanguageId,
3763
+ sourceDocument: source,
3764
+ newDocument: newTranslationDocument,
3765
+ destinationLanguageId: language.id,
3766
+ metaDocumentId: metadataId
3767
+ }).catch((err) => {
3768
+ toast.push({
3769
+ status: "error",
3770
+ title: "Callback",
3771
+ description: `Error while running callback - ${err}.`
3772
+ });
3773
+ }), toast.push({
3760
3774
  status: "success",
3761
3775
  title: `Created "${language.title}" translation`,
3762
3776
  description: metadataExisted ? "Updated Translations Metadata" : "Created Translations Metadata"
@@ -3778,7 +3792,8 @@ function LanguageOption(props) {
3778
3792
  source,
3779
3793
  sourceLanguageId,
3780
3794
  toast,
3781
- weakReferences
3795
+ weakReferences,
3796
+ callback
3782
3797
  ]);
3783
3798
  let message;
3784
3799
  return current ? message = "Current document" : translation ? message = `Open ${language.title} translation` : translation || (message = `Create new ${language.title} translation`), /* @__PURE__ */ jsx(