sanity-plugin-internationalized-array 5.3.5 → 5.3.7
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/README.md +3 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -49
- package/dist/index.js.map +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -49,6 +49,7 @@ export default defineConfig({
|
|
|
49
49
|
{id: 'fr', title: 'French'},
|
|
50
50
|
],
|
|
51
51
|
defaultLanguages: ['en'],
|
|
52
|
+
allowRemovingDefaultLanguages: true, // default false
|
|
52
53
|
fieldTypes: ['string'],
|
|
53
54
|
}),
|
|
54
55
|
],
|
|
@@ -62,6 +63,8 @@ This will register two new fields to the schema, based on the settings passed in
|
|
|
62
63
|
|
|
63
64
|
The above config will also create an empty array item in new documents for each language in `defaultLanguages`. This is configured globally for all internationalized array fields.
|
|
64
65
|
|
|
66
|
+
Those rows cannot be removed, and a missing row is inserted again while the document is open. Set `allowRemovingDefaultLanguages: true` to treat them as initial values instead: they are still added on a new document, and editors can remove them afterwards. A removed row stays removed once the document has history, including when removing the last row clears the field.
|
|
67
|
+
|
|
65
68
|
You can pass in more registered schema-type names to generate more internationalized arrays. Use them in your schema like this:
|
|
66
69
|
|
|
67
70
|
```ts
|
package/dist/index.d.ts
CHANGED
|
@@ -100,6 +100,18 @@ export type PluginConfig = {
|
|
|
100
100
|
* ```
|
|
101
101
|
*/
|
|
102
102
|
defaultLanguages?: string[];
|
|
103
|
+
/**
|
|
104
|
+
* When `false` (default), languages in `defaultLanguages` cannot be removed.
|
|
105
|
+
* A missing row is inserted again whenever the document is open.
|
|
106
|
+
*
|
|
107
|
+
* Set to `true` to treat those languages as initial values. They are still
|
|
108
|
+
* added on a pristine document, and editors can remove them afterwards.
|
|
109
|
+
* Once the document has history, a removed row is not inserted again, even
|
|
110
|
+
* when the field value is `undefined`.
|
|
111
|
+
*
|
|
112
|
+
* @defaultValue false
|
|
113
|
+
*/
|
|
114
|
+
allowRemovingDefaultLanguages?: boolean;
|
|
103
115
|
/**
|
|
104
116
|
* Can be a string matching core field types, as well as custom ones:
|
|
105
117
|
* ```tsx
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":";;;YAEY;EACV,IAAI,KAAK;EACT;;YAGU;YAEA;EACV;EACA,MAAM;EACN,WAAW;EACX;EACA;EACA;EACA;EACA,aAAa,OAAO;EACpB;KAAU;IAAuB;OAAW;;;;;;;YAMlC;EACV;;EAEA;EACA;;wBAGc,iCACd,eACC,QAAQ;YAIC,2BAA2B;EACrC;EACA,QAAQ;;EAER;;;;EAIA;;YAGU,oBACV,QAAQ,cACR,eAAe,4BACZ,QAAQ;YAED;YAEA;;;;;EAKV;;;;;;;;;;;;;EAaA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BT,WAAW,aAAa;;;;;;;;;EASxB;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,sBAAsB,qBAAqB;;;;;;;;;;EAU3C;;;;;;;EAOA;;;;;;;;;;;EAWA;;;;;EAKA,kBAAkB;;;;;;;;;;EAUlB,0BAA0B;;;;;;;;;;;;EAY1B;IACE,eAAe,SAAS;IACxB,mBAAmB;;;
|
|
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":";;;YAEY;EACV,IAAI,KAAK;EACT;;YAGU;YAEA;EACV;EACA,MAAM;EACN,WAAW;EACX;EACA;EACA;EACA;EACA,aAAa,OAAO;EACpB;KAAU;IAAuB;OAAW;;;;;;;YAMlC;EACV;;EAEA;EACA;;wBAGc,iCACd,eACC,QAAQ;YAIC,2BAA2B;EACrC;EACA,QAAQ;;EAER;;;;EAIA;;YAGU,oBACV,QAAQ,cACR,eAAe,4BACZ,QAAQ;YAED;YAEA;;;;;EAKV;;;;;;;;;;;;;EAaA,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BT,WAAW,aAAa;;;;;;;;;EASxB;;;;;;;;;;;;EAYA;;;;;;;;;;;;;;;;;;;;;;;;EAyBA,sBAAsB,qBAAqB;;;;;;;;;;EAU3C;;;;;;;EAOA;;;;;;;;;;;EAWA;;;;;EAKA,kBAAkB;;;;;;;;;;EAUlB,0BAA0B;;;;;;;;;;;;EAY1B;IACE,eAAe,SAAS;IACxB,mBAAmB;;;qBC/KV;;;;;;;;;;;;;;;;;;;;;;;;qBCJA;qBCZA,yCAAsB,OAAA;;;;;qBCJtB,uCAAoC,eAChC,kBAAgB,SACtB,cAAc,eAAa,+BACP,aAChB,qCAAmC,WACrC"}
|
package/dist/index.js
CHANGED
|
@@ -79,6 +79,7 @@ const preloadWithKey = (fn, key) => {
|
|
|
79
79
|
languages: [],
|
|
80
80
|
select: {},
|
|
81
81
|
defaultLanguages: [],
|
|
82
|
+
allowRemovingDefaultLanguages: !1,
|
|
82
83
|
fieldTypes: [],
|
|
83
84
|
apiVersion: "2025-10-15",
|
|
84
85
|
buttonLocations: ["field"],
|
|
@@ -794,6 +795,9 @@ function isPristineDocument(events) {
|
|
|
794
795
|
* read-only until initial value templates resolve, and the field-level
|
|
795
796
|
* `readOnly` prop can lag that document-level lock. Skipping the patch
|
|
796
797
|
* until writable avoids "Attempted to patch a read-only document" toasts.
|
|
798
|
+
* With `allowRemovingDefaultLanguages`, those rows are initial values for a
|
|
799
|
+
* pristine document only. Once the document has history, a removed row is
|
|
800
|
+
* left alone, including when the field value is `undefined`.
|
|
797
801
|
* - **Ordering**: When `restoreOrder` is enabled (default), detects when value
|
|
798
802
|
* items are out of order relative to the master `languages` list and
|
|
799
803
|
* automatically re-sorts them. Set `restoreOrder: false` to keep the stored
|
|
@@ -804,9 +808,9 @@ function isPristineDocument(events) {
|
|
|
804
808
|
* no entries and the add buttons are not visible.
|
|
805
809
|
*/
|
|
806
810
|
function InternationalizedArray(props) {
|
|
807
|
-
let $ = c(
|
|
811
|
+
let $ = c(123), { members, value: _value, schemaType, onChange, readOnly: documentReadOnly } = props, value = _value, t0;
|
|
808
812
|
$[0] === value ? t0 = $[1] : (t0 = value?.filter(_temp$1) ?? [], $[0] = value, $[1] = t0);
|
|
809
|
-
let itemsNeedingMigration = t0, shouldMigrateArray = itemsNeedingMigration.length > 0, toast = useToast(), getFormValue = useGetFormValue(), { languages, filteredLanguages, defaultLanguages, buttonAddAll, buttonLocations, restoreOrder, languageFilter: builtInLanguageFilter } = useInternationalizedArrayContext(), { selectedLanguageIds, options: languageFilterOptions } = useLanguageFilterStudioContext(), t1;
|
|
813
|
+
let itemsNeedingMigration = t0, shouldMigrateArray = itemsNeedingMigration.length > 0, toast = useToast(), getFormValue = useGetFormValue(), { languages, filteredLanguages, defaultLanguages, allowRemovingDefaultLanguages, buttonAddAll, buttonLocations, restoreOrder, languageFilter: builtInLanguageFilter } = useInternationalizedArrayContext(), { selectedLanguageIds, options: languageFilterOptions } = useLanguageFilterStudioContext(), t1;
|
|
810
814
|
$[2] === Symbol.for("react.memo_cache_sentinel") ? (t1 = ["_type"], $[2] = t1) : t1 = $[2];
|
|
811
815
|
let documentType = useFormValue(t1), t2;
|
|
812
816
|
$[3] !== documentType || $[4] !== languageFilterOptions ? (t2 = typeof documentType == "string" && languageFilterOptions.documentTypes.includes(documentType), $[3] = documentType, $[4] = languageFilterOptions, $[5] = t2) : t2 = $[5];
|
|
@@ -857,7 +861,8 @@ function InternationalizedArray(props) {
|
|
|
857
861
|
$[29] = languageKeysFromValue, $[30] = languages, $[31] = t10;
|
|
858
862
|
} else t10 = $[31];
|
|
859
863
|
let addedLanguages = t10, t11, t12;
|
|
860
|
-
$[34] !== addedLanguages || $[35] !==
|
|
864
|
+
$[34] !== addedLanguages || $[35] !== allowRemovingDefaultLanguages || $[36] !== defaultLanguages || $[37] !== documentExists || $[38] !== handleAddLanguages || $[39] !== isDeleted || $[40] !== isDeleting || $[41] !== isPristine || $[42] !== languages || $[43] !== readOnly || $[44] !== shouldMigrateArray ? (t11 = () => {
|
|
865
|
+
if (allowRemovingDefaultLanguages && !isPristine) return;
|
|
861
866
|
let hasAddedDefaultLanguages = defaultLanguages.filter((language) => languages.find((l_1) => l_1.id === language)).every((language_0) => addedLanguages.includes(language_0));
|
|
862
867
|
if ((isPristine || documentExists) && !isDeleting && !isDeleted && !hasAddedDefaultLanguages && !shouldMigrateArray && !readOnly) {
|
|
863
868
|
let languagesToAdd = defaultLanguages.filter((language_1) => !addedLanguages.includes(language_1)).filter((language_2) => languages.find((l_2) => l_2.id === language_2)), timeout = setTimeout(() => {
|
|
@@ -866,6 +871,7 @@ function InternationalizedArray(props) {
|
|
|
866
871
|
return () => clearTimeout(timeout);
|
|
867
872
|
}
|
|
868
873
|
}, t12 = [
|
|
874
|
+
allowRemovingDefaultLanguages,
|
|
869
875
|
isPristine,
|
|
870
876
|
documentExists,
|
|
871
877
|
isDeleted,
|
|
@@ -876,9 +882,9 @@ function InternationalizedArray(props) {
|
|
|
876
882
|
languages,
|
|
877
883
|
readOnly,
|
|
878
884
|
shouldMigrateArray
|
|
879
|
-
], $[34] = addedLanguages, $[35] =
|
|
885
|
+
], $[34] = addedLanguages, $[35] = allowRemovingDefaultLanguages, $[36] = defaultLanguages, $[37] = documentExists, $[38] = handleAddLanguages, $[39] = isDeleted, $[40] = isDeleting, $[41] = isPristine, $[42] = languages, $[43] = readOnly, $[44] = shouldMigrateArray, $[45] = t11, $[46] = t12) : (t11 = $[45], t12 = $[46]), useEffect(t11, t12);
|
|
880
886
|
let t13;
|
|
881
|
-
$[
|
|
887
|
+
$[47] !== languages || $[48] !== onChange || $[49] !== readOnly || $[50] !== toast || $[51] !== value ? (t13 = () => {
|
|
882
888
|
if (readOnly || !value?.length || !languages?.length) return;
|
|
883
889
|
let updatedValue = value.reduce((acc, v_1) => {
|
|
884
890
|
let newIndex = languages.findIndex((l_3) => l_3.id === v_1?.[LANGUAGE_FIELD_NAME]);
|
|
@@ -888,7 +894,7 @@ function InternationalizedArray(props) {
|
|
|
888
894
|
title: "There was an error reordering languages",
|
|
889
895
|
status: "warning"
|
|
890
896
|
}), onChange(set(updatedValue));
|
|
891
|
-
}, $[
|
|
897
|
+
}, $[47] = languages, $[48] = onChange, $[49] = readOnly, $[50] = toast, $[51] = value, $[52] = t13) : t13 = $[52];
|
|
892
898
|
let handleRestoreOrder = t13, t14;
|
|
893
899
|
bb1: {
|
|
894
900
|
if (!value?.length || !languages?.length) {
|
|
@@ -896,24 +902,24 @@ function InternationalizedArray(props) {
|
|
|
896
902
|
break bb1;
|
|
897
903
|
}
|
|
898
904
|
let t15;
|
|
899
|
-
$[
|
|
905
|
+
$[53] !== languages || $[54] !== value ? (t15 = value?.every((v_2) => languages.find((l_4) => l_4?.id === v_2?.[LANGUAGE_FIELD_NAME])), $[53] = languages, $[54] = value, $[55] = t15) : t15 = $[55], t14 = t15;
|
|
900
906
|
}
|
|
901
907
|
let allKeysAreLanguages = t14, t15;
|
|
902
908
|
bb2: {
|
|
903
909
|
if (!value?.length || !addedLanguages.length) {
|
|
904
910
|
let t16;
|
|
905
|
-
$[
|
|
911
|
+
$[56] === Symbol.for("react.memo_cache_sentinel") ? (t16 = [], $[56] = t16) : t16 = $[56], t15 = t16;
|
|
906
912
|
break bb2;
|
|
907
913
|
}
|
|
908
914
|
let t16;
|
|
909
|
-
if ($[
|
|
915
|
+
if ($[57] !== addedLanguages || $[58] !== value) {
|
|
910
916
|
let t17;
|
|
911
|
-
$[
|
|
912
|
-
} else t16 = $[
|
|
917
|
+
$[60] === addedLanguages ? t17 = $[61] : (t17 = (v_3, vIndex) => vIndex === addedLanguages.findIndex((language_3) => language_3 === v_3.language) ? null : v_3, $[60] = addedLanguages, $[61] = t17), t16 = value.map(t17).filter(Boolean), $[57] = addedLanguages, $[58] = value, $[59] = t16;
|
|
918
|
+
} else t16 = $[59];
|
|
913
919
|
t15 = t16;
|
|
914
920
|
}
|
|
915
921
|
let languagesOutOfOrder = t15, languagesAreValid = !languages?.length || languages?.length && languages.every(_temp4$1), t16, t17;
|
|
916
|
-
$[
|
|
922
|
+
$[62] !== allKeysAreLanguages || $[63] !== handleRestoreOrder || $[64] !== languagesOutOfOrder || $[65] !== readOnly || $[66] !== restoreOrder ? (t16 = () => {
|
|
917
923
|
restoreOrder && languagesOutOfOrder.length > 0 && allKeysAreLanguages && !readOnly && handleRestoreOrder();
|
|
918
924
|
}, t17 = [
|
|
919
925
|
restoreOrder,
|
|
@@ -921,29 +927,29 @@ function InternationalizedArray(props) {
|
|
|
921
927
|
allKeysAreLanguages,
|
|
922
928
|
handleRestoreOrder,
|
|
923
929
|
readOnly
|
|
924
|
-
], $[
|
|
930
|
+
], $[62] = allKeysAreLanguages, $[63] = handleRestoreOrder, $[64] = languagesOutOfOrder, $[65] = readOnly, $[66] = restoreOrder, $[67] = t16, $[68] = t17) : (t16 = $[67], t17 = $[68]), useEffect(t16, t17);
|
|
925
931
|
let t18;
|
|
926
|
-
if ($[
|
|
932
|
+
if ($[69] !== addedLanguages || $[70] !== filteredLanguages) {
|
|
927
933
|
let t19;
|
|
928
|
-
$[
|
|
929
|
-
} else t18 = $[
|
|
934
|
+
$[72] === addedLanguages ? t19 = $[73] : (t19 = (language_4) => addedLanguages.includes(language_4.id), $[72] = addedLanguages, $[73] = t19), t18 = filteredLanguages.every(t19), $[69] = addedLanguages, $[70] = filteredLanguages, $[71] = t18;
|
|
935
|
+
} else t18 = $[71];
|
|
930
936
|
let allFilteredLanguagesArePresent = t18, t19;
|
|
931
|
-
$[
|
|
937
|
+
$[74] !== filteredLanguages || $[75] !== handleAddLanguages ? (t19 = () => {
|
|
932
938
|
handleAddLanguages(filteredLanguages.map(_temp5));
|
|
933
|
-
}, $[
|
|
939
|
+
}, $[74] = filteredLanguages, $[75] = handleAddLanguages, $[76] = t19) : t19 = $[76];
|
|
934
940
|
let addAllMissingLanguages = t19;
|
|
935
941
|
if (!languagesAreValid) {
|
|
936
942
|
let t20;
|
|
937
|
-
return $[
|
|
943
|
+
return $[77] === Symbol.for("react.memo_cache_sentinel") ? (t20 = /* @__PURE__ */ jsx(Feedback, {}), $[77] = t20) : t20 = $[77], t20;
|
|
938
944
|
}
|
|
939
945
|
let canAddLanguages = !shouldMigrateArray && filteredLanguages?.length > 0, t20;
|
|
940
|
-
$[
|
|
946
|
+
$[78] !== buttonLocations || $[79] !== canAddLanguages ? (t20 = canAddLanguages && buttonLocations.includes("fieldMenu"), $[78] = buttonLocations, $[79] = canAddLanguages, $[80] = t20) : t20 = $[80];
|
|
941
947
|
let showFieldMenu = t20, t21;
|
|
942
|
-
$[
|
|
948
|
+
$[81] !== allFilteredLanguagesArePresent || $[82] !== buttonLocations || $[83] !== canAddLanguages ? (t21 = canAddLanguages && buttonLocations.includes("field") && !allFilteredLanguagesArePresent, $[81] = allFilteredLanguagesArePresent, $[82] = buttonLocations, $[83] = canAddLanguages, $[84] = t21) : t21 = $[84];
|
|
943
949
|
let showFieldButtons = t21, fieldHasMembers = members?.length > 0, t22;
|
|
944
|
-
$[
|
|
950
|
+
$[85] !== filteredLanguages || $[86] !== value ? (t22 = createAddAllTitle(value, filteredLanguages), $[85] = filteredLanguages, $[86] = value, $[87] = t22) : t22 = $[87];
|
|
945
951
|
let addAllTitle = t22, t23;
|
|
946
|
-
$[
|
|
952
|
+
$[88] !== addAllMissingLanguages || $[89] !== addAllTitle || $[90] !== addedLanguages || $[91] !== allFilteredLanguagesArePresent || $[92] !== buttonAddAll || $[93] !== handleAddLanguages || $[94] !== readOnly || $[95] !== showFieldButtons ? (t23 = showFieldButtons ? /* @__PURE__ */ jsxs(Stack, {
|
|
947
953
|
gap: 2,
|
|
948
954
|
children: [/* @__PURE__ */ jsx(AddButtons, {
|
|
949
955
|
languagesInUse: addedLanguages,
|
|
@@ -958,9 +964,9 @@ function InternationalizedArray(props) {
|
|
|
958
964
|
text: addAllTitle,
|
|
959
965
|
onClick: addAllMissingLanguages
|
|
960
966
|
}) : null]
|
|
961
|
-
}) : null, $[
|
|
967
|
+
}) : null, $[88] = addAllMissingLanguages, $[89] = addAllTitle, $[90] = addedLanguages, $[91] = allFilteredLanguagesArePresent, $[92] = buttonAddAll, $[93] = handleAddLanguages, $[94] = readOnly, $[95] = showFieldButtons, $[96] = t23) : t23 = $[96];
|
|
962
968
|
let fieldButtons = t23, t24;
|
|
963
|
-
$[
|
|
969
|
+
$[97] !== addAllMissingLanguages || $[98] !== addAllTitle || $[99] !== addedLanguages || $[100] !== allFilteredLanguagesArePresent || $[101] !== buttonAddAll || $[102] !== handleAddLanguages || $[103] !== readOnly || $[104] !== showFieldMenu ? (t24 = showFieldMenu ? /* @__PURE__ */ jsx(CompactAddButton, {
|
|
964
970
|
languagesInUse: addedLanguages,
|
|
965
971
|
readOnly,
|
|
966
972
|
handleClick: handleAddLanguages,
|
|
@@ -968,20 +974,20 @@ function InternationalizedArray(props) {
|
|
|
968
974
|
buttonAddAll,
|
|
969
975
|
addAllTitle,
|
|
970
976
|
allFilteredLanguagesArePresent
|
|
971
|
-
}) : null, $[
|
|
977
|
+
}) : null, $[97] = addAllMissingLanguages, $[98] = addAllTitle, $[99] = addedLanguages, $[100] = allFilteredLanguagesArePresent, $[101] = buttonAddAll, $[102] = handleAddLanguages, $[103] = readOnly, $[104] = showFieldMenu, $[105] = t24) : t24 = $[105];
|
|
972
978
|
let t25;
|
|
973
|
-
if ($[
|
|
979
|
+
if ($[106] !== filteredMembers || $[107] !== props) {
|
|
974
980
|
let t26;
|
|
975
|
-
$[
|
|
981
|
+
$[109] === props ? t26 = $[110] : (t26 = (member_0) => member_0.kind === "item" ? /* @__PURE__ */ createElement(ArrayOfObjectsItem, {
|
|
976
982
|
...props,
|
|
977
983
|
key: member_0.key,
|
|
978
984
|
member: member_0
|
|
979
|
-
}) : /* @__PURE__ */ jsx(MemberItemError, { member: member_0 }, member_0.key), $[
|
|
980
|
-
} else t25 = $[
|
|
985
|
+
}) : /* @__PURE__ */ jsx(MemberItemError, { member: member_0 }, member_0.key), $[109] = props, $[110] = t26), t25 = filteredMembers.map(t26), $[106] = filteredMembers, $[107] = props, $[108] = t25;
|
|
986
|
+
} else t25 = $[108];
|
|
981
987
|
let t26;
|
|
982
|
-
$[
|
|
988
|
+
$[111] === itemsNeedingMigration ? t26 = $[112] : (t26 = /* @__PURE__ */ jsx(MigrationBanner, { itemsNeedingMigration }), $[111] = itemsNeedingMigration, $[112] = t26);
|
|
983
989
|
let t27;
|
|
984
|
-
$[
|
|
990
|
+
$[113] !== fieldHasMembers || $[114] !== showFieldButtons || $[115] !== showFieldMenu ? (t27 = !showFieldMenu && !showFieldButtons && !fieldHasMembers ? /* @__PURE__ */ jsx(Card, {
|
|
985
991
|
border: !0,
|
|
986
992
|
tone: "transparent",
|
|
987
993
|
padding: 3,
|
|
@@ -990,9 +996,9 @@ function InternationalizedArray(props) {
|
|
|
990
996
|
size: 1,
|
|
991
997
|
children: "This internationalized field currently has no translations."
|
|
992
998
|
})
|
|
993
|
-
}) : null, $[
|
|
999
|
+
}) : null, $[113] = fieldHasMembers, $[114] = showFieldButtons, $[115] = showFieldMenu, $[116] = t27) : t27 = $[116];
|
|
994
1000
|
let t28;
|
|
995
|
-
return $[
|
|
1001
|
+
return $[117] !== fieldButtons || $[118] !== t24 || $[119] !== t25 || $[120] !== t26 || $[121] !== t27 ? (t28 = /* @__PURE__ */ jsxs(Stack, {
|
|
996
1002
|
gap: 2,
|
|
997
1003
|
children: [
|
|
998
1004
|
t24,
|
|
@@ -1001,7 +1007,7 @@ function InternationalizedArray(props) {
|
|
|
1001
1007
|
t27,
|
|
1002
1008
|
fieldButtons
|
|
1003
1009
|
]
|
|
1004
|
-
}), $[
|
|
1010
|
+
}), $[117] = fieldButtons, $[118] = t24, $[119] = t25, $[120] = t26, $[121] = t27, $[122] = t28) : t28 = $[122], t28;
|
|
1005
1011
|
}
|
|
1006
1012
|
function _temp5(language_5) {
|
|
1007
1013
|
return language_5.id;
|
|
@@ -1181,12 +1187,13 @@ function RemoveButton(t0) {
|
|
|
1181
1187
|
* the language label in that state.
|
|
1182
1188
|
* - Shows a `MenuButton` with available languages when the current key is
|
|
1183
1189
|
* not a valid language.
|
|
1184
|
-
* - Disables the remove button for languages listed in `defaultLanguages
|
|
1190
|
+
* - Disables the remove button for languages listed in `defaultLanguages`,
|
|
1191
|
+
* unless `allowRemovingDefaultLanguages` is set.
|
|
1185
1192
|
* - Shows a `Spinner` when languages have not been loaded yet.
|
|
1186
1193
|
* - Applies a `CardTone` based on validation state via `getToneFromValidation`.
|
|
1187
1194
|
*/
|
|
1188
1195
|
function InternationalizedInput(props) {
|
|
1189
|
-
let $ = c(
|
|
1196
|
+
let $ = c(51), originalOnChange = props.inputProps.onChange, t0;
|
|
1190
1197
|
$[0] !== originalOnChange || $[1] !== props.value?.value ? (t0 = (patches) => {
|
|
1191
1198
|
if (!Array.isArray(patches)) return originalOnChange(patches);
|
|
1192
1199
|
let valueField = props.value?.value;
|
|
@@ -1200,7 +1207,7 @@ function InternationalizedInput(props) {
|
|
|
1200
1207
|
}
|
|
1201
1208
|
return originalOnChange(patches);
|
|
1202
1209
|
}, $[0] = originalOnChange, $[1] = props.value?.value, $[2] = t0) : t0 = $[2], props.value?.value;
|
|
1203
|
-
let wrappedOnChange = t0, { languages, languageDisplay, defaultLanguages } = useInternationalizedArrayContext(), t1;
|
|
1210
|
+
let wrappedOnChange = t0, { languages, languageDisplay, defaultLanguages, allowRemovingDefaultLanguages } = useInternationalizedArrayContext(), t1;
|
|
1204
1211
|
$[3] !== languages || $[4] !== props.value ? (t1 = languages?.length ? !!languages.find((l) => l.id === props.value[LANGUAGE_FIELD_NAME]) : !1, $[3] = languages, $[4] = props.value, $[5] = t1) : t1 = $[5];
|
|
1205
1212
|
let keyIsValid = t1, t2;
|
|
1206
1213
|
if ($[6] !== keyIsValid || $[7] !== languageDisplay || $[8] !== languages || $[9] !== props.value) {
|
|
@@ -1237,34 +1244,34 @@ function InternationalizedInput(props) {
|
|
|
1237
1244
|
return $[29] === Symbol.for("react.memo_cache_sentinel") ? (t6 = /* @__PURE__ */ jsx(Spinner, {}), $[29] = t6) : t6 = $[29], t6;
|
|
1238
1245
|
}
|
|
1239
1246
|
let t6;
|
|
1240
|
-
$[30] !==
|
|
1247
|
+
$[30] !== allowRemovingDefaultLanguages || $[31] !== defaultLanguages || $[32] !== value ? (t6 = !allowRemovingDefaultLanguages && defaultLanguages.includes(value.language), $[30] = allowRemovingDefaultLanguages, $[31] = defaultLanguages, $[32] = value, $[33] = t6) : t6 = $[33];
|
|
1241
1248
|
let isDefault = t6, t7;
|
|
1242
|
-
$[
|
|
1249
|
+
$[34] === validation ? t7 = $[35] : (t7 = getToneFromValidation(validation), $[34] = validation, $[35] = t7);
|
|
1243
1250
|
let t8;
|
|
1244
|
-
$[
|
|
1251
|
+
$[36] !== inlineProps || $[37] !== props.inputProps ? (t8 = props.inputProps.renderInput(inlineProps), $[36] = inlineProps, $[37] = props.inputProps, $[38] = t8) : t8 = $[38];
|
|
1245
1252
|
let t9;
|
|
1246
|
-
$[
|
|
1253
|
+
$[39] === t8 ? t9 = $[40] : (t9 = /* @__PURE__ */ jsx(Box, {
|
|
1247
1254
|
flex: 1,
|
|
1248
1255
|
children: t8
|
|
1249
|
-
}), $[
|
|
1256
|
+
}), $[39] = t8, $[40] = t9);
|
|
1250
1257
|
let t10 = !!readOnly, t11;
|
|
1251
|
-
$[
|
|
1258
|
+
$[41] !== isDefault || $[42] !== originalOnChange || $[43] !== t10 ? (t11 = /* @__PURE__ */ jsx(RemoveButton, {
|
|
1252
1259
|
isDefault,
|
|
1253
1260
|
readOnly: t10,
|
|
1254
1261
|
onChange: originalOnChange
|
|
1255
|
-
}), $[
|
|
1262
|
+
}), $[41] = isDefault, $[42] = originalOnChange, $[43] = t10, $[44] = t11) : t11 = $[44];
|
|
1256
1263
|
let t12;
|
|
1257
|
-
$[
|
|
1264
|
+
$[45] !== t11 || $[46] !== t9 ? (t12 = /* @__PURE__ */ jsxs(Flex, {
|
|
1258
1265
|
align: "flex-end",
|
|
1259
1266
|
gap: 2,
|
|
1260
1267
|
children: [t9, t11]
|
|
1261
|
-
}), $[
|
|
1268
|
+
}), $[45] = t11, $[46] = t9, $[47] = t12) : t12 = $[47];
|
|
1262
1269
|
let t13;
|
|
1263
|
-
return $[
|
|
1270
|
+
return $[48] !== t12 || $[49] !== t7 ? (t13 = /* @__PURE__ */ jsx(Card, {
|
|
1264
1271
|
paddingTop: 2,
|
|
1265
1272
|
tone: t7,
|
|
1266
1273
|
children: t12
|
|
1267
|
-
}), $[
|
|
1274
|
+
}), $[48] = t12, $[49] = t7, $[50] = t13) : t13 = $[50], t13;
|
|
1268
1275
|
}
|
|
1269
1276
|
function _temp4(m) {
|
|
1270
1277
|
return m.kind === "field" && m.name === "value";
|