@firecms/collection_editor 3.0.0-rc.2 → 3.0.0-rc.3

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.umd.js CHANGED
@@ -169,7 +169,7 @@
169
169
  return t18;
170
170
  }
171
171
  function CollectionDetailsForm(t0) {
172
- const $ = reactCompilerRuntime.c(192);
172
+ const $ = reactCompilerRuntime.c(202);
173
173
  const {
174
174
  isNewCollection,
175
175
  reservedGroups,
@@ -760,242 +760,282 @@
760
760
  } else {
761
761
  t84 = $[131];
762
762
  }
763
- const t85 = customIdValue === "code_defined";
763
+ const t85 = values.inlineEditing === void 0 || values.inlineEditing ? "Data can be edited directly in the table view" : "Data can be edited only in the form view";
764
764
  let t86;
765
765
  if ($[132] !== setFieldValue) {
766
- t86 = (v_1) => {
767
- if (v_1 === "code_defined") {
768
- throw new Error("This should not happen");
769
- }
770
- setFieldValue("customId", v_1);
771
- };
766
+ t86 = (v_1) => setFieldValue("inlineEditing", v_1);
772
767
  $[132] = setFieldValue;
773
768
  $[133] = t86;
774
769
  } else {
775
770
  t86 = $[133];
776
771
  }
777
- const t87 = customIdValue ?? "";
772
+ const t87 = values.inlineEditing === void 0 ? true : values.inlineEditing;
778
773
  let t88;
774
+ if ($[134] !== t85 || $[135] !== t86 || $[136] !== t87) {
775
+ t88 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { position: "start", size: "large", label: t85, onValueChange: t86, value: t87 });
776
+ $[134] = t85;
777
+ $[135] = t86;
778
+ $[136] = t87;
779
+ $[137] = t88;
780
+ } else {
781
+ t88 = $[137];
782
+ }
779
783
  let t89;
784
+ if ($[138] === Symbol.for("react.memo_cache_sentinel")) {
785
+ t89 = /* @__PURE__ */ jsxRuntime.jsx(core.FieldCaption, { children: "Allow editing data directly in the table view, without opening the form view." });
786
+ $[138] = t89;
787
+ } else {
788
+ t89 = $[138];
789
+ }
780
790
  let t90;
781
- if ($[134] === Symbol.for("react.memo_cache_sentinel")) {
782
- t88 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "false", children: "Document ID is generated automatically" });
783
- t89 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "true", children: "Users must define an ID" });
784
- t90 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "optional", children: "Users can define an ID, but it is not required" });
785
- $[134] = t88;
786
- $[135] = t89;
787
- $[136] = t90;
788
- } else {
789
- t88 = $[134];
790
- t89 = $[135];
791
- t90 = $[136];
792
- }
793
- let t91;
794
- if ($[137] !== t85 || $[138] !== t86 || $[139] !== t87) {
795
- t91 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "customId", label: "Document IDs generation", position: "item-aligned", size: "large", fullWidth: true, disabled: t85, onValueChange: t86, value: t87, renderValue: _temp3$5, children: [
791
+ if ($[139] !== t88) {
792
+ t90 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12", children: [
796
793
  t88,
797
- t89,
798
- t90
799
- ] }) });
800
- $[137] = t85;
801
- $[138] = t86;
802
- $[139] = t87;
803
- $[140] = t91;
794
+ t89
795
+ ] });
796
+ $[139] = t88;
797
+ $[140] = t90;
804
798
  } else {
805
- t91 = $[140];
799
+ t90 = $[140];
806
800
  }
801
+ const t91 = customIdValue === "code_defined";
807
802
  let t92;
808
803
  if ($[141] !== setFieldValue) {
809
- t92 = (v_2) => setFieldValue("collectionGroup", v_2);
804
+ t92 = (v_2) => {
805
+ if (v_2 === "code_defined") {
806
+ throw new Error("This should not happen");
807
+ }
808
+ setFieldValue("customId", v_2);
809
+ };
810
810
  $[141] = setFieldValue;
811
811
  $[142] = t92;
812
812
  } else {
813
813
  t92 = $[142];
814
814
  }
815
- const t93 = values.collectionGroup ?? false;
815
+ const t93 = customIdValue ?? "";
816
816
  let t94;
817
- if ($[143] !== t92 || $[144] !== t93) {
818
- t94 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { position: "start", size: "large", label: "Collection group", onValueChange: t92, value: t93 });
819
- $[143] = t92;
820
- $[144] = t93;
821
- $[145] = t94;
822
- } else {
823
- t94 = $[145];
824
- }
825
817
  let t95;
826
- if ($[146] === Symbol.for("react.memo_cache_sentinel")) {
827
- t95 = /* @__PURE__ */ jsxRuntime.jsx(core.FieldCaption, { children: "A collection group consists of all collections with the same path. This allows you to query over multiple collections at once." });
828
- $[146] = t95;
829
- } else {
830
- t95 = $[146];
831
- }
832
818
  let t96;
833
- if ($[147] !== t94) {
834
- t96 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12 mt-4", children: [
819
+ if ($[143] === Symbol.for("react.memo_cache_sentinel")) {
820
+ t94 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "false", children: "Document ID is generated automatically" });
821
+ t95 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "true", children: "Users must define an ID" });
822
+ t96 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "optional", children: "Users can define an ID, but it is not required" });
823
+ $[143] = t94;
824
+ $[144] = t95;
825
+ $[145] = t96;
826
+ } else {
827
+ t94 = $[143];
828
+ t95 = $[144];
829
+ t96 = $[145];
830
+ }
831
+ let t97;
832
+ if ($[146] !== t91 || $[147] !== t92 || $[148] !== t93) {
833
+ t97 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "customId", label: "Document IDs generation", position: "item-aligned", size: "large", fullWidth: true, disabled: t91, onValueChange: t92, value: t93, renderValue: _temp3$5, children: [
835
834
  t94,
836
- t95
837
- ] });
838
- $[147] = t94;
839
- $[148] = t96;
835
+ t95,
836
+ t96
837
+ ] }) });
838
+ $[146] = t91;
839
+ $[147] = t92;
840
+ $[148] = t93;
841
+ $[149] = t97;
840
842
  } else {
841
- t96 = $[148];
843
+ t97 = $[149];
842
844
  }
843
- let t97;
844
- if ($[149] !== setFieldValue) {
845
- t97 = (v_3) => setFieldValue("textSearchEnabled", v_3);
846
- $[149] = setFieldValue;
847
- $[150] = t97;
848
- } else {
849
- t97 = $[150];
850
- }
851
- const t98 = values.textSearchEnabled ?? false;
852
- let t99;
853
- if ($[151] !== t97 || $[152] !== t98) {
854
- t99 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { position: "start", size: "large", label: "Enable text search for this collection", onValueChange: t97, value: t98 });
855
- $[151] = t97;
856
- $[152] = t98;
857
- $[153] = t99;
845
+ let t98;
846
+ if ($[150] !== setFieldValue) {
847
+ t98 = (v_3) => setFieldValue("collectionGroup", v_3);
848
+ $[150] = setFieldValue;
849
+ $[151] = t98;
858
850
  } else {
859
- t99 = $[153];
851
+ t98 = $[151];
860
852
  }
853
+ const t99 = values.collectionGroup ?? false;
861
854
  let t100;
862
- if ($[154] === Symbol.for("react.memo_cache_sentinel")) {
863
- t100 = /* @__PURE__ */ jsxRuntime.jsx(core.FieldCaption, { children: "Allow text search for this collection. If you have not specified a text search delegate, this will use the built-in local text search. This is not recommended for large collections, as it may incur in performance and cost issues." });
855
+ if ($[152] !== t98 || $[153] !== t99) {
856
+ t100 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { position: "start", size: "large", label: "Collection group", onValueChange: t98, value: t99 });
857
+ $[152] = t98;
858
+ $[153] = t99;
864
859
  $[154] = t100;
865
860
  } else {
866
861
  t100 = $[154];
867
862
  }
868
863
  let t101;
869
- if ($[155] !== t99) {
870
- t101 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12", children: [
871
- t99,
872
- t100
873
- ] });
874
- $[155] = t99;
875
- $[156] = t101;
864
+ if ($[155] === Symbol.for("react.memo_cache_sentinel")) {
865
+ t101 = /* @__PURE__ */ jsxRuntime.jsx(core.FieldCaption, { children: "A collection group consists of all collections with the same path. This allows you to query over multiple collections at once." });
866
+ $[155] = t101;
876
867
  } else {
877
- t101 = $[156];
868
+ t101 = $[155];
878
869
  }
879
870
  let t102;
880
- if ($[157] !== t101 || $[158] !== t48 || $[159] !== t56 || $[160] !== t68 || $[161] !== t75 || $[162] !== t78 || $[163] !== t84 || $[164] !== t91 || $[165] !== t96) {
881
- t102 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4 p-4", children: [
871
+ if ($[156] !== t100) {
872
+ t102 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12 mt-4", children: [
873
+ t100,
874
+ t101
875
+ ] });
876
+ $[156] = t100;
877
+ $[157] = t102;
878
+ } else {
879
+ t102 = $[157];
880
+ }
881
+ let t103;
882
+ if ($[158] !== setFieldValue) {
883
+ t103 = (v_4) => setFieldValue("textSearchEnabled", v_4);
884
+ $[158] = setFieldValue;
885
+ $[159] = t103;
886
+ } else {
887
+ t103 = $[159];
888
+ }
889
+ const t104 = values.textSearchEnabled ?? false;
890
+ let t105;
891
+ if ($[160] !== t103 || $[161] !== t104) {
892
+ t105 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { position: "start", size: "large", label: "Enable text search for this collection", onValueChange: t103, value: t104 });
893
+ $[160] = t103;
894
+ $[161] = t104;
895
+ $[162] = t105;
896
+ } else {
897
+ t105 = $[162];
898
+ }
899
+ let t106;
900
+ if ($[163] === Symbol.for("react.memo_cache_sentinel")) {
901
+ t106 = /* @__PURE__ */ jsxRuntime.jsx(core.FieldCaption, { children: "Allow text search for this collection. If you have not specified a text search delegate, this will use the built-in local text search. This is not recommended for large collections, as it may incur in performance and cost issues." });
902
+ $[163] = t106;
903
+ } else {
904
+ t106 = $[163];
905
+ }
906
+ let t107;
907
+ if ($[164] !== t105) {
908
+ t107 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12", children: [
909
+ t105,
910
+ t106
911
+ ] });
912
+ $[164] = t105;
913
+ $[165] = t107;
914
+ } else {
915
+ t107 = $[165];
916
+ }
917
+ let t108;
918
+ if ($[166] !== t102 || $[167] !== t107 || $[168] !== t48 || $[169] !== t56 || $[170] !== t68 || $[171] !== t75 || $[172] !== t78 || $[173] !== t84 || $[174] !== t90 || $[175] !== t97) {
919
+ t108 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4 p-4", children: [
882
920
  t48,
883
921
  t56,
884
922
  t68,
885
923
  t75,
886
924
  t78,
887
925
  t84,
888
- t91,
889
- t96,
890
- t101
926
+ t90,
927
+ t97,
928
+ t102,
929
+ t107
891
930
  ] });
892
- $[157] = t101;
893
- $[158] = t48;
894
- $[159] = t56;
895
- $[160] = t68;
896
- $[161] = t75;
897
- $[162] = t78;
898
- $[163] = t84;
899
- $[164] = t91;
900
- $[165] = t96;
901
931
  $[166] = t102;
932
+ $[167] = t107;
933
+ $[168] = t48;
934
+ $[169] = t56;
935
+ $[170] = t68;
936
+ $[171] = t75;
937
+ $[172] = t78;
938
+ $[173] = t84;
939
+ $[174] = t90;
940
+ $[175] = t97;
941
+ $[176] = t108;
942
+ } else {
943
+ t108 = $[176];
944
+ }
945
+ let t109;
946
+ if ($[177] !== advancedPanelExpanded || $[178] !== t108) {
947
+ t109 = /* @__PURE__ */ jsxRuntime.jsx(ui.ExpandablePanel, { expanded: advancedPanelExpanded, onExpandedChange: setAdvancedPanelExpanded, title: t41, initiallyExpanded: false, children: t108 });
948
+ $[177] = advancedPanelExpanded;
949
+ $[178] = t108;
950
+ $[179] = t109;
902
951
  } else {
903
- t102 = $[166];
952
+ t109 = $[179];
904
953
  }
905
- let t103;
906
- if ($[167] !== advancedPanelExpanded || $[168] !== t102) {
907
- t103 = /* @__PURE__ */ jsxRuntime.jsx(ui.ExpandablePanel, { expanded: advancedPanelExpanded, onExpandedChange: setAdvancedPanelExpanded, title: t41, initiallyExpanded: false, children: t102 });
908
- $[167] = advancedPanelExpanded;
909
- $[168] = t102;
910
- $[169] = t103;
911
- } else {
912
- t103 = $[169];
913
- }
914
- let t104;
915
- if ($[170] !== children || $[171] !== t103) {
916
- t104 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12 mt-8", children: [
917
- t103,
954
+ let t110;
955
+ if ($[180] !== children || $[181] !== t109) {
956
+ t110 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12 mt-8", children: [
957
+ t109,
918
958
  children
919
959
  ] });
920
- $[170] = children;
921
- $[171] = t103;
922
- $[172] = t104;
960
+ $[180] = children;
961
+ $[181] = t109;
962
+ $[182] = t110;
923
963
  } else {
924
- t104 = $[172];
964
+ t110 = $[182];
925
965
  }
926
- let t105;
927
- if ($[173] !== t104 || $[174] !== t23 || $[175] !== t31 || $[176] !== t34 || $[177] !== t40) {
928
- t105 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4", children: [
966
+ let t111;
967
+ if ($[183] !== t110 || $[184] !== t23 || $[185] !== t31 || $[186] !== t34 || $[187] !== t40) {
968
+ t111 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-12 gap-4", children: [
929
969
  t23,
930
970
  t31,
931
971
  t34,
932
972
  t40,
933
- t104
973
+ t110
934
974
  ] });
935
- $[173] = t104;
936
- $[174] = t23;
937
- $[175] = t31;
938
- $[176] = t34;
939
- $[177] = t40;
940
- $[178] = t105;
975
+ $[183] = t110;
976
+ $[184] = t23;
977
+ $[185] = t31;
978
+ $[186] = t34;
979
+ $[187] = t40;
980
+ $[188] = t111;
941
981
  } else {
942
- t105 = $[178];
982
+ t111 = $[188];
943
983
  }
944
- let t106;
945
- if ($[179] === Symbol.for("react.memo_cache_sentinel")) {
946
- t106 = /* @__PURE__ */ jsxRuntime.jsx("div", { style: {
984
+ let t112;
985
+ if ($[189] === Symbol.for("react.memo_cache_sentinel")) {
986
+ t112 = /* @__PURE__ */ jsxRuntime.jsx("div", { style: {
947
987
  height: "52px"
948
988
  } });
949
- $[179] = t106;
989
+ $[189] = t112;
950
990
  } else {
951
- t106 = $[179];
991
+ t112 = $[189];
952
992
  }
953
- const t107 = typeof values.icon === "string" ? values.icon : void 0;
954
- let t108;
955
- if ($[180] !== setFieldValue) {
956
- t108 = (icon) => {
993
+ const t113 = typeof values.icon === "string" ? values.icon : void 0;
994
+ let t114;
995
+ if ($[190] !== setFieldValue) {
996
+ t114 = (icon) => {
957
997
  setIconDialogOpen(false);
958
998
  setFieldValue("icon", icon);
959
999
  };
960
- $[180] = setFieldValue;
961
- $[181] = t108;
1000
+ $[190] = setFieldValue;
1001
+ $[191] = t114;
962
1002
  } else {
963
- t108 = $[181];
1003
+ t114 = $[191];
964
1004
  }
965
- let t109;
966
- if ($[182] !== t107 || $[183] !== t108) {
967
- t109 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 overflow-auto min-h-[200px]", children: /* @__PURE__ */ jsxRuntime.jsx(core.SearchIconsView, { selectedIcon: t107, onIconSelected: t108 }) });
968
- $[182] = t107;
969
- $[183] = t108;
970
- $[184] = t109;
1005
+ let t115;
1006
+ if ($[192] !== t113 || $[193] !== t114) {
1007
+ t115 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-4 overflow-auto min-h-[200px]", children: /* @__PURE__ */ jsxRuntime.jsx(core.SearchIconsView, { selectedIcon: t113, onIconSelected: t114 }) });
1008
+ $[192] = t113;
1009
+ $[193] = t114;
1010
+ $[194] = t115;
971
1011
  } else {
972
- t109 = $[184];
1012
+ t115 = $[194];
973
1013
  }
974
- let t110;
975
- if ($[185] !== iconDialogOpen || $[186] !== t109) {
976
- t110 = /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open: iconDialogOpen, onOpenChange: setIconDialogOpen, maxWidth: "xl", fullWidth: true, children: t109 });
977
- $[185] = iconDialogOpen;
978
- $[186] = t109;
979
- $[187] = t110;
1014
+ let t116;
1015
+ if ($[195] !== iconDialogOpen || $[196] !== t115) {
1016
+ t116 = /* @__PURE__ */ jsxRuntime.jsx(ui.Dialog, { open: iconDialogOpen, onOpenChange: setIconDialogOpen, maxWidth: "xl", fullWidth: true, children: t115 });
1017
+ $[195] = iconDialogOpen;
1018
+ $[196] = t115;
1019
+ $[197] = t116;
980
1020
  } else {
981
- t110 = $[187];
1021
+ t116 = $[197];
982
1022
  }
983
- let t111;
984
- if ($[188] !== t105 || $[189] !== t110 || $[190] !== t15) {
985
- t111 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-auto my-auto", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { maxWidth: "4xl", className: "flex flex-col gap-4 p-8 m-auto", children: [
1023
+ let t117;
1024
+ if ($[198] !== t111 || $[199] !== t116 || $[200] !== t15) {
1025
+ t117 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-auto my-auto", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { maxWidth: "4xl", className: "flex flex-col gap-4 p-8 m-auto", children: [
986
1026
  t15,
987
- t105,
988
- t106,
989
- t110
1027
+ t111,
1028
+ t112,
1029
+ t116
990
1030
  ] }) });
991
- $[188] = t105;
992
- $[189] = t110;
993
- $[190] = t15;
994
- $[191] = t111;
1031
+ $[198] = t111;
1032
+ $[199] = t116;
1033
+ $[200] = t15;
1034
+ $[201] = t117;
995
1035
  } else {
996
- t111 = $[191];
1036
+ t117 = $[201];
997
1037
  }
998
- return t111;
1038
+ return t117;
999
1039
  }
1000
1040
  function _temp3$5(value_3) {
1001
1041
  if (value_3 === "code_defined") {
@@ -1957,7 +1997,7 @@
1957
1997
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
1958
1998
  t1 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row text-surface-500", children: [
1959
1999
  /* @__PURE__ */ jsxRuntime.jsx(ui.RuleIcon, {}),
1960
- /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "ml-2", children: "Validation" })
2000
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "ml-4", children: "Validation" })
1961
2001
  ] });
1962
2002
  $[0] = t1;
1963
2003
  } else {
@@ -2029,7 +2069,7 @@
2029
2069
  "text/*": "Text files"
2030
2070
  };
2031
2071
  function StoragePropertyField(t0) {
2032
- const $ = reactCompilerRuntime.c(108);
2072
+ const $ = reactCompilerRuntime.c(180);
2033
2073
  const {
2034
2074
  multiple,
2035
2075
  existing,
@@ -2045,6 +2085,12 @@
2045
2085
  const maxSize = `${baseStoragePath}.maxSize`;
2046
2086
  const storagePath = `${baseStoragePath}.storagePath`;
2047
2087
  const storeUrl = `${baseStoragePath}.storeUrl`;
2088
+ const imageResize = `${baseStoragePath}.imageResize`;
2089
+ const imageResizeMaxWidth = `${imageResize}.maxWidth`;
2090
+ const imageResizeMaxHeight = `${imageResize}.maxHeight`;
2091
+ const imageResizeMode = `${imageResize}.mode`;
2092
+ const imageResizeFormat = `${imageResize}.format`;
2093
+ const imageResizeQuality = `${imageResize}.quality`;
2048
2094
  let t1;
2049
2095
  if ($[0] !== fileName || $[1] !== values) {
2050
2096
  t1 = formex.getIn(values, fileName) ?? "{rand}_{file}";
@@ -2072,6 +2118,13 @@
2072
2118
  let t12;
2073
2119
  let t13;
2074
2120
  let t14;
2121
+ let t15;
2122
+ let t16;
2123
+ let t17;
2124
+ let t18;
2125
+ let t19;
2126
+ let t20;
2127
+ let t21;
2075
2128
  let t3;
2076
2129
  let t4;
2077
2130
  let t5;
@@ -2079,63 +2132,86 @@
2079
2132
  let t7;
2080
2133
  let t8;
2081
2134
  let t9;
2082
- if ($[6] !== acceptedFiles || $[7] !== disabled || $[8] !== existing || $[9] !== fileName || $[10] !== fileNameValue || $[11] !== maxSize || $[12] !== setFieldValue || $[13] !== storagePath || $[14] !== storagePathValue || $[15] !== storeUrl || $[16] !== values) {
2135
+ if ($[6] !== acceptedFiles || $[7] !== disabled || $[8] !== existing || $[9] !== fileName || $[10] !== fileNameValue || $[11] !== imageResizeFormat || $[12] !== imageResizeMaxHeight || $[13] !== imageResizeMaxWidth || $[14] !== imageResizeMode || $[15] !== imageResizeQuality || $[16] !== maxSize || $[17] !== setFieldValue || $[18] !== storagePath || $[19] !== storagePathValue || $[20] !== storeUrl || $[21] !== values) {
2083
2136
  const maxSizeValue = formex.getIn(values, maxSize);
2084
- let t152;
2085
- if ($[31] !== acceptedFiles || $[32] !== values) {
2086
- t152 = formex.getIn(values, acceptedFiles);
2087
- $[31] = acceptedFiles;
2088
- $[32] = values;
2089
- $[33] = t152;
2137
+ const imageResizeMaxWidthValue = formex.getIn(values, imageResizeMaxWidth);
2138
+ const imageResizeMaxHeightValue = formex.getIn(values, imageResizeMaxHeight);
2139
+ let t222;
2140
+ if ($[43] !== imageResizeMode || $[44] !== values) {
2141
+ t222 = formex.getIn(values, imageResizeMode) ?? "cover";
2142
+ $[43] = imageResizeMode;
2143
+ $[44] = values;
2144
+ $[45] = t222;
2145
+ } else {
2146
+ t222 = $[45];
2147
+ }
2148
+ const imageResizeModeValue = t222;
2149
+ let t232;
2150
+ if ($[46] !== imageResizeFormat || $[47] !== values) {
2151
+ t232 = formex.getIn(values, imageResizeFormat) ?? "original";
2152
+ $[46] = imageResizeFormat;
2153
+ $[47] = values;
2154
+ $[48] = t232;
2155
+ } else {
2156
+ t232 = $[48];
2157
+ }
2158
+ const imageResizeFormatValue = t232;
2159
+ const imageResizeQualityValue = formex.getIn(values, imageResizeQuality);
2160
+ let t242;
2161
+ if ($[49] !== acceptedFiles || $[50] !== values) {
2162
+ t242 = formex.getIn(values, acceptedFiles);
2163
+ $[49] = acceptedFiles;
2164
+ $[50] = values;
2165
+ $[51] = t242;
2090
2166
  } else {
2091
- t152 = $[33];
2167
+ t242 = $[51];
2092
2168
  }
2093
- const storedValue = t152;
2169
+ const storedValue = t242;
2094
2170
  const fileTypesValue = Array.isArray(storedValue) ? storedValue : void 0;
2095
2171
  const allFileTypesSelected = !fileTypesValue || fileTypesValue.length === 0;
2096
- let t162;
2097
- if ($[34] !== acceptedFiles || $[35] !== setFieldValue) {
2098
- t162 = (value) => {
2172
+ let t252;
2173
+ if ($[52] !== acceptedFiles || $[53] !== setFieldValue) {
2174
+ t252 = (value) => {
2099
2175
  if (!value) {
2100
2176
  setFieldValue(acceptedFiles, void 0);
2101
2177
  } else {
2102
2178
  setFieldValue(acceptedFiles, value);
2103
2179
  }
2104
2180
  };
2105
- $[34] = acceptedFiles;
2106
- $[35] = setFieldValue;
2107
- $[36] = t162;
2181
+ $[52] = acceptedFiles;
2182
+ $[53] = setFieldValue;
2183
+ $[54] = t252;
2108
2184
  } else {
2109
- t162 = $[36];
2185
+ t252 = $[54];
2110
2186
  }
2111
- const handleTypesChange = t162;
2187
+ const handleTypesChange = t252;
2112
2188
  const hasFilenameCallback = typeof fileNameValue === "function";
2113
2189
  const hasStoragePathCallback = typeof storagePathValue === "function";
2114
- t14 = "col-span-12";
2190
+ t21 = "col-span-12";
2115
2191
  T1 = ui.ExpandablePanel;
2116
- if ($[37] === Symbol.for("react.memo_cache_sentinel")) {
2117
- t13 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row text-surface-500", children: [
2192
+ if ($[55] === Symbol.for("react.memo_cache_sentinel")) {
2193
+ t20 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row text-surface-500", children: [
2118
2194
  /* @__PURE__ */ jsxRuntime.jsx(ui.CloudUploadIcon, {}),
2119
- /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "ml-2", children: "File upload config" })
2195
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "ml-4", children: "File upload config" })
2120
2196
  ] });
2121
- $[37] = t13;
2197
+ $[55] = t20;
2122
2198
  } else {
2123
- t13 = $[37];
2199
+ t20 = $[55];
2124
2200
  }
2125
- t9 = "grid grid-cols-12 gap-2 p-4";
2126
- let t172;
2127
- if ($[38] !== fileTypesValue) {
2128
- t172 = fileTypesValue ?? [];
2129
- $[38] = fileTypesValue;
2130
- $[39] = t172;
2201
+ t10 = "grid grid-cols-12 gap-2 p-4";
2202
+ let t262;
2203
+ if ($[56] !== fileTypesValue) {
2204
+ t262 = fileTypesValue ?? [];
2205
+ $[56] = fileTypesValue;
2206
+ $[57] = t262;
2131
2207
  } else {
2132
- t172 = $[39];
2208
+ t262 = $[57];
2133
2209
  }
2134
- const t182 = allFileTypesSelected ? void 0 : "Allowed file types";
2135
- let t192;
2136
- if ($[40] !== acceptedFiles || $[41] !== setFieldValue) {
2137
- t192 = Object.entries(fileTypes).map((t203) => {
2138
- const [value_0, label] = t203;
2210
+ const t272 = allFileTypesSelected ? void 0 : "Allowed file types";
2211
+ let t282;
2212
+ if ($[58] !== acceptedFiles || $[59] !== setFieldValue) {
2213
+ t282 = Object.entries(fileTypes).map((t293) => {
2214
+ const [value_0, label] = t293;
2139
2215
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.MultiSelectItem, { value: value_0, className: "flex items-center gap-2", children: [
2140
2216
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-grow", children: label }),
2141
2217
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { size: "small", variant: "text", onClick: (e) => {
@@ -2145,50 +2221,50 @@
2145
2221
  }, children: "Only" })
2146
2222
  ] }, value_0);
2147
2223
  });
2148
- $[40] = acceptedFiles;
2149
- $[41] = setFieldValue;
2150
- $[42] = t192;
2224
+ $[58] = acceptedFiles;
2225
+ $[59] = setFieldValue;
2226
+ $[60] = t282;
2151
2227
  } else {
2152
- t192 = $[42];
2228
+ t282 = $[60];
2153
2229
  }
2154
- if ($[43] !== acceptedFiles || $[44] !== disabled || $[45] !== handleTypesChange || $[46] !== t172 || $[47] !== t182 || $[48] !== t192) {
2155
- t10 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.MultiSelect, { className: "w-full", placeholder: "All file types allowed", disabled, name: acceptedFiles, value: t172, onValueChange: handleTypesChange, label: t182, renderValues: _temp3$4, children: t192 }) });
2156
- $[43] = acceptedFiles;
2157
- $[44] = disabled;
2158
- $[45] = handleTypesChange;
2159
- $[46] = t172;
2160
- $[47] = t182;
2161
- $[48] = t192;
2162
- $[49] = t10;
2230
+ if ($[61] !== acceptedFiles || $[62] !== disabled || $[63] !== handleTypesChange || $[64] !== t262 || $[65] !== t272 || $[66] !== t282) {
2231
+ t11 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.MultiSelect, { className: "w-full", placeholder: "All file types allowed", disabled, name: acceptedFiles, value: t262, onValueChange: handleTypesChange, label: t272, renderValues: _temp3$4, children: t282 }) });
2232
+ $[61] = acceptedFiles;
2233
+ $[62] = disabled;
2234
+ $[63] = handleTypesChange;
2235
+ $[64] = t262;
2236
+ $[65] = t272;
2237
+ $[66] = t282;
2238
+ $[67] = t11;
2163
2239
  } else {
2164
- t10 = $[49];
2240
+ t11 = $[67];
2165
2241
  }
2166
- const t202 = hasFilenameCallback || disabled;
2167
- const t212 = hasFilenameCallback ? "-" : fileNameValue;
2168
- if ($[50] !== fileName || $[51] !== t202 || $[52] !== t212) {
2169
- t11 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(formex.Field, { name: fileName, as: ui.DebouncedTextField, label: "File name", size: "small", disabled: t202, value: t212 }) });
2170
- $[50] = fileName;
2171
- $[51] = t202;
2172
- $[52] = t212;
2173
- $[53] = t11;
2242
+ const t292 = hasFilenameCallback || disabled;
2243
+ const t302 = hasFilenameCallback ? "-" : fileNameValue;
2244
+ if ($[68] !== fileName || $[69] !== t292 || $[70] !== t302) {
2245
+ t12 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(formex.Field, { name: fileName, as: ui.DebouncedTextField, label: "File name", size: "small", disabled: t292, value: t302 }) });
2246
+ $[68] = fileName;
2247
+ $[69] = t292;
2248
+ $[70] = t302;
2249
+ $[71] = t12;
2174
2250
  } else {
2175
- t11 = $[53];
2251
+ t12 = $[71];
2176
2252
  }
2177
- const t222 = hasStoragePathCallback || disabled;
2178
- const t232 = hasStoragePathCallback ? "-" : storagePathValue;
2179
- let t242;
2180
- if ($[54] !== storagePath || $[55] !== t222 || $[56] !== t232) {
2181
- t242 = /* @__PURE__ */ jsxRuntime.jsx(formex.Field, { name: storagePath, as: ui.DebouncedTextField, label: "Storage path", disabled: t222, size: "small", value: t232 });
2182
- $[54] = storagePath;
2183
- $[55] = t222;
2184
- $[56] = t232;
2185
- $[57] = t242;
2253
+ const t312 = hasStoragePathCallback || disabled;
2254
+ const t322 = hasStoragePathCallback ? "-" : storagePathValue;
2255
+ let t33;
2256
+ if ($[72] !== storagePath || $[73] !== t312 || $[74] !== t322) {
2257
+ t33 = /* @__PURE__ */ jsxRuntime.jsx(formex.Field, { name: storagePath, as: ui.DebouncedTextField, label: "Storage path", disabled: t312, size: "small", value: t322 });
2258
+ $[72] = storagePath;
2259
+ $[73] = t312;
2260
+ $[74] = t322;
2261
+ $[75] = t33;
2186
2262
  } else {
2187
- t242 = $[57];
2263
+ t33 = $[75];
2188
2264
  }
2189
- let t25;
2190
- if ($[58] === Symbol.for("react.memo_cache_sentinel")) {
2191
- t25 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "ml-3.5 mt-1 mb-2", children: [
2265
+ let t34;
2266
+ if ($[76] === Symbol.for("react.memo_cache_sentinel")) {
2267
+ t34 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "ml-3.5 mt-1 mb-2", children: [
2192
2268
  /* @__PURE__ */ jsxRuntime.jsx("p", { children: "You can use the following placeholders in the file name and storage path values:" }),
2193
2269
  /* @__PURE__ */ jsxRuntime.jsxs("ul", { children: [
2194
2270
  /* @__PURE__ */ jsxRuntime.jsx("li", { children: "{file} - Full name of the uploaded file" }),
@@ -2200,220 +2276,445 @@
2200
2276
  /* @__PURE__ */ jsxRuntime.jsx("li", { children: "{rand} - Random value used to avoid name collisions" })
2201
2277
  ] })
2202
2278
  ] });
2203
- $[58] = t25;
2279
+ $[76] = t34;
2204
2280
  } else {
2205
- t25 = $[58];
2281
+ t34 = $[76];
2206
2282
  }
2207
- let t26;
2208
- if ($[59] !== disabled || $[60] !== existing) {
2209
- t26 = (t272) => {
2283
+ let t35;
2284
+ if ($[77] !== disabled || $[78] !== existing) {
2285
+ t35 = (t362) => {
2210
2286
  const {
2211
2287
  field,
2212
2288
  form
2213
- } = t272;
2289
+ } = t362;
2214
2290
  return /* @__PURE__ */ jsxRuntime.jsx(SwitchControl, { label: "Save URL instead of storage path", disabled: existing || disabled, form, field });
2215
2291
  };
2216
- $[59] = disabled;
2217
- $[60] = existing;
2218
- $[61] = t26;
2292
+ $[77] = disabled;
2293
+ $[78] = existing;
2294
+ $[79] = t35;
2219
2295
  } else {
2220
- t26 = $[61];
2296
+ t35 = $[79];
2221
2297
  }
2222
- let t27;
2223
- if ($[62] !== storeUrl || $[63] !== t26) {
2224
- t27 = /* @__PURE__ */ jsxRuntime.jsx(formex.Field, { name: storeUrl, type: "checkbox", children: t26 });
2225
- $[62] = storeUrl;
2226
- $[63] = t26;
2227
- $[64] = t27;
2298
+ let t36;
2299
+ if ($[80] !== storeUrl || $[81] !== t35) {
2300
+ t36 = /* @__PURE__ */ jsxRuntime.jsx(formex.Field, { name: storeUrl, type: "checkbox", children: t35 });
2301
+ $[80] = storeUrl;
2302
+ $[81] = t35;
2303
+ $[82] = t36;
2228
2304
  } else {
2229
- t27 = $[64];
2305
+ t36 = $[82];
2230
2306
  }
2231
- let t28;
2232
- if ($[65] === Symbol.for("react.memo_cache_sentinel")) {
2233
- t28 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", className: "ml-3.5 mt-1 mb-2", children: "Turn this setting on, if you prefer to save the download URL of the uploaded file instead of the storage path. You can only change this prop upon creation." });
2234
- $[65] = t28;
2307
+ let t37;
2308
+ if ($[83] === Symbol.for("react.memo_cache_sentinel")) {
2309
+ t37 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", className: "ml-3.5 mt-1 mb-2", children: "Turn this setting on, if you prefer to save the download URL of the uploaded file instead of the storage path. You can only change this prop upon creation." });
2310
+ $[83] = t37;
2235
2311
  } else {
2236
- t28 = $[65];
2312
+ t37 = $[83];
2237
2313
  }
2238
- if ($[66] !== t242 || $[67] !== t27) {
2239
- t12 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12", children: [
2240
- t242,
2241
- t25,
2242
- t27,
2243
- t28
2314
+ if ($[84] !== t33 || $[85] !== t36) {
2315
+ t13 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12", children: [
2316
+ t33,
2317
+ t34,
2318
+ t36,
2319
+ t37
2244
2320
  ] });
2245
- $[66] = t242;
2246
- $[67] = t27;
2247
- $[68] = t12;
2321
+ $[84] = t33;
2322
+ $[85] = t36;
2323
+ $[86] = t13;
2248
2324
  } else {
2249
- t12 = $[68];
2325
+ t13 = $[86];
2250
2326
  }
2251
- t8 = "col-span-12";
2327
+ const t38 = maxSizeValue !== void 0 && maxSizeValue !== null ? maxSizeValue.toString() : "";
2328
+ let t39;
2329
+ if ($[87] !== maxSize || $[88] !== setFieldValue) {
2330
+ t39 = (e_0) => {
2331
+ const value_1 = e_0.target.value;
2332
+ if (value_1 === "") {
2333
+ setFieldValue(maxSize, void 0);
2334
+ } else {
2335
+ setFieldValue(maxSize, parseInt(value_1));
2336
+ }
2337
+ };
2338
+ $[87] = maxSize;
2339
+ $[88] = setFieldValue;
2340
+ $[89] = t39;
2341
+ } else {
2342
+ t39 = $[89];
2343
+ }
2344
+ if ($[90] !== maxSize || $[91] !== t38 || $[92] !== t39) {
2345
+ t14 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.DebouncedTextField, { name: maxSize, type: "number", label: "Max size (in bytes)", size: "small", value: t38, onChange: t39 }) });
2346
+ $[90] = maxSize;
2347
+ $[91] = t38;
2348
+ $[92] = t39;
2349
+ $[93] = t14;
2350
+ } else {
2351
+ t14 = $[93];
2352
+ }
2353
+ if ($[94] === Symbol.for("react.memo_cache_sentinel")) {
2354
+ t15 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "col-span-12 mt-4", children: [
2355
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", color: "secondary", className: "mb-2 block", children: "Image Resize Configuration" }),
2356
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", className: "mb-2 block text-xs", children: "Automatically resize and optimize images before upload (JPEG, PNG, WebP only)" })
2357
+ ] });
2358
+ $[94] = t15;
2359
+ } else {
2360
+ t15 = $[94];
2361
+ }
2362
+ const t40 = imageResizeMaxWidthValue !== void 0 && imageResizeMaxWidthValue !== null ? imageResizeMaxWidthValue.toString() : "";
2363
+ let t41;
2364
+ if ($[95] !== imageResizeMaxWidth || $[96] !== setFieldValue) {
2365
+ t41 = (e_1) => {
2366
+ const value_2 = e_1.target.value;
2367
+ if (value_2 === "") {
2368
+ setFieldValue(imageResizeMaxWidth, void 0);
2369
+ } else {
2370
+ setFieldValue(imageResizeMaxWidth, parseInt(value_2));
2371
+ }
2372
+ };
2373
+ $[95] = imageResizeMaxWidth;
2374
+ $[96] = setFieldValue;
2375
+ $[97] = t41;
2376
+ } else {
2377
+ t41 = $[97];
2378
+ }
2379
+ if ($[98] !== disabled || $[99] !== imageResizeMaxWidth || $[100] !== t40 || $[101] !== t41) {
2380
+ t16 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-6", children: /* @__PURE__ */ jsxRuntime.jsx(ui.DebouncedTextField, { name: imageResizeMaxWidth, type: "number", label: "Max width (px)", size: "small", disabled, value: t40, onChange: t41 }) });
2381
+ $[98] = disabled;
2382
+ $[99] = imageResizeMaxWidth;
2383
+ $[100] = t40;
2384
+ $[101] = t41;
2385
+ $[102] = t16;
2386
+ } else {
2387
+ t16 = $[102];
2388
+ }
2389
+ const t42 = imageResizeMaxHeightValue !== void 0 && imageResizeMaxHeightValue !== null ? imageResizeMaxHeightValue.toString() : "";
2390
+ let t43;
2391
+ if ($[103] !== imageResizeMaxHeight || $[104] !== setFieldValue) {
2392
+ t43 = (e_2) => {
2393
+ const value_3 = e_2.target.value;
2394
+ if (value_3 === "") {
2395
+ setFieldValue(imageResizeMaxHeight, void 0);
2396
+ } else {
2397
+ setFieldValue(imageResizeMaxHeight, parseInt(value_3));
2398
+ }
2399
+ };
2400
+ $[103] = imageResizeMaxHeight;
2401
+ $[104] = setFieldValue;
2402
+ $[105] = t43;
2403
+ } else {
2404
+ t43 = $[105];
2405
+ }
2406
+ if ($[106] !== disabled || $[107] !== imageResizeMaxHeight || $[108] !== t42 || $[109] !== t43) {
2407
+ t17 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-6", children: /* @__PURE__ */ jsxRuntime.jsx(ui.DebouncedTextField, { name: imageResizeMaxHeight, type: "number", label: "Max height (px)", size: "small", disabled, value: t42, onChange: t43 }) });
2408
+ $[106] = disabled;
2409
+ $[107] = imageResizeMaxHeight;
2410
+ $[108] = t42;
2411
+ $[109] = t43;
2412
+ $[110] = t17;
2413
+ } else {
2414
+ t17 = $[110];
2415
+ }
2416
+ const t44 = imageResizeModeValue || "cover";
2417
+ let t45;
2418
+ if ($[111] !== imageResizeMode || $[112] !== setFieldValue) {
2419
+ t45 = (value_4) => setFieldValue(imageResizeMode, value_4 || "cover");
2420
+ $[111] = imageResizeMode;
2421
+ $[112] = setFieldValue;
2422
+ $[113] = t45;
2423
+ } else {
2424
+ t45 = $[113];
2425
+ }
2426
+ let t46;
2427
+ let t47;
2428
+ if ($[114] === Symbol.for("react.memo_cache_sentinel")) {
2429
+ t46 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "contain", children: "Contain (fit within bounds)" });
2430
+ t47 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "cover", children: "Cover (fill bounds, may crop)" });
2431
+ $[114] = t46;
2432
+ $[115] = t47;
2433
+ } else {
2434
+ t46 = $[114];
2435
+ t47 = $[115];
2436
+ }
2437
+ if ($[116] !== disabled || $[117] !== imageResizeMode || $[118] !== t44 || $[119] !== t45) {
2438
+ t18 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-6", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { disabled, name: imageResizeMode, fullWidth: true, size: "medium", value: t44, onValueChange: t45, label: "Resize mode", renderValue: _temp4$2, children: [
2439
+ t46,
2440
+ t47
2441
+ ] }) });
2442
+ $[116] = disabled;
2443
+ $[117] = imageResizeMode;
2444
+ $[118] = t44;
2445
+ $[119] = t45;
2446
+ $[120] = t18;
2447
+ } else {
2448
+ t18 = $[120];
2449
+ }
2450
+ const t48 = imageResizeFormatValue || "original";
2451
+ let t49;
2452
+ if ($[121] !== imageResizeFormat || $[122] !== setFieldValue) {
2453
+ t49 = (value_5) => setFieldValue(imageResizeFormat, value_5 || "original");
2454
+ $[121] = imageResizeFormat;
2455
+ $[122] = setFieldValue;
2456
+ $[123] = t49;
2457
+ } else {
2458
+ t49 = $[123];
2459
+ }
2460
+ let t50;
2461
+ let t51;
2462
+ let t52;
2463
+ let t53;
2464
+ if ($[124] === Symbol.for("react.memo_cache_sentinel")) {
2465
+ t50 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "original", children: "Original (keep same format)" });
2466
+ t51 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "jpeg", children: "JPEG" });
2467
+ t52 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "png", children: "PNG" });
2468
+ t53 = /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: "webp", children: "WebP (best compression)" });
2469
+ $[124] = t50;
2470
+ $[125] = t51;
2471
+ $[126] = t52;
2472
+ $[127] = t53;
2473
+ } else {
2474
+ t50 = $[124];
2475
+ t51 = $[125];
2476
+ t52 = $[126];
2477
+ t53 = $[127];
2478
+ }
2479
+ if ($[128] !== disabled || $[129] !== imageResizeFormat || $[130] !== t48 || $[131] !== t49) {
2480
+ t19 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-6", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { disabled, size: "medium", fullWidth: true, name: imageResizeFormat, value: t48, onValueChange: t49, label: "Output format", renderValue: _temp5, children: [
2481
+ t50,
2482
+ t51,
2483
+ t52,
2484
+ t53
2485
+ ] }) });
2486
+ $[128] = disabled;
2487
+ $[129] = imageResizeFormat;
2488
+ $[130] = t48;
2489
+ $[131] = t49;
2490
+ $[132] = t19;
2491
+ } else {
2492
+ t19 = $[132];
2493
+ }
2494
+ t9 = "col-span-12";
2252
2495
  T0 = ui.DebouncedTextField;
2253
- t3 = maxSize;
2496
+ t3 = imageResizeQuality;
2254
2497
  t4 = "number";
2255
- t5 = "Max size (in bytes)";
2498
+ t5 = "Quality (0-100)";
2256
2499
  t6 = "small";
2257
- t7 = maxSizeValue !== void 0 && maxSizeValue !== null ? maxSizeValue.toString() : "";
2500
+ t7 = disabled;
2501
+ t8 = imageResizeQualityValue !== void 0 && imageResizeQualityValue !== null ? imageResizeQualityValue.toString() : "";
2258
2502
  $[6] = acceptedFiles;
2259
2503
  $[7] = disabled;
2260
2504
  $[8] = existing;
2261
2505
  $[9] = fileName;
2262
2506
  $[10] = fileNameValue;
2263
- $[11] = maxSize;
2264
- $[12] = setFieldValue;
2265
- $[13] = storagePath;
2266
- $[14] = storagePathValue;
2267
- $[15] = storeUrl;
2268
- $[16] = values;
2269
- $[17] = T0;
2270
- $[18] = T1;
2271
- $[19] = t10;
2272
- $[20] = t11;
2273
- $[21] = t12;
2274
- $[22] = t13;
2275
- $[23] = t14;
2276
- $[24] = t3;
2277
- $[25] = t4;
2278
- $[26] = t5;
2279
- $[27] = t6;
2280
- $[28] = t7;
2281
- $[29] = t8;
2282
- $[30] = t9;
2507
+ $[11] = imageResizeFormat;
2508
+ $[12] = imageResizeMaxHeight;
2509
+ $[13] = imageResizeMaxWidth;
2510
+ $[14] = imageResizeMode;
2511
+ $[15] = imageResizeQuality;
2512
+ $[16] = maxSize;
2513
+ $[17] = setFieldValue;
2514
+ $[18] = storagePath;
2515
+ $[19] = storagePathValue;
2516
+ $[20] = storeUrl;
2517
+ $[21] = values;
2518
+ $[22] = T0;
2519
+ $[23] = T1;
2520
+ $[24] = t10;
2521
+ $[25] = t11;
2522
+ $[26] = t12;
2523
+ $[27] = t13;
2524
+ $[28] = t14;
2525
+ $[29] = t15;
2526
+ $[30] = t16;
2527
+ $[31] = t17;
2528
+ $[32] = t18;
2529
+ $[33] = t19;
2530
+ $[34] = t20;
2531
+ $[35] = t21;
2532
+ $[36] = t3;
2533
+ $[37] = t4;
2534
+ $[38] = t5;
2535
+ $[39] = t6;
2536
+ $[40] = t7;
2537
+ $[41] = t8;
2538
+ $[42] = t9;
2283
2539
  } else {
2284
- T0 = $[17];
2285
- T1 = $[18];
2286
- t10 = $[19];
2287
- t11 = $[20];
2288
- t12 = $[21];
2289
- t13 = $[22];
2290
- t14 = $[23];
2291
- t3 = $[24];
2292
- t4 = $[25];
2293
- t5 = $[26];
2294
- t6 = $[27];
2295
- t7 = $[28];
2296
- t8 = $[29];
2297
- t9 = $[30];
2540
+ T0 = $[22];
2541
+ T1 = $[23];
2542
+ t10 = $[24];
2543
+ t11 = $[25];
2544
+ t12 = $[26];
2545
+ t13 = $[27];
2546
+ t14 = $[28];
2547
+ t15 = $[29];
2548
+ t16 = $[30];
2549
+ t17 = $[31];
2550
+ t18 = $[32];
2551
+ t19 = $[33];
2552
+ t20 = $[34];
2553
+ t21 = $[35];
2554
+ t3 = $[36];
2555
+ t4 = $[37];
2556
+ t5 = $[38];
2557
+ t6 = $[39];
2558
+ t7 = $[40];
2559
+ t8 = $[41];
2560
+ t9 = $[42];
2298
2561
  }
2299
- let t15;
2300
- if ($[69] !== maxSize || $[70] !== setFieldValue) {
2301
- t15 = (e_0) => {
2302
- const value_1 = e_0.target.value;
2303
- if (value_1 === "") {
2304
- setFieldValue(maxSize, void 0);
2562
+ let t22;
2563
+ if ($[133] !== imageResizeQuality || $[134] !== setFieldValue) {
2564
+ t22 = (e_3) => {
2565
+ const value_6 = e_3.target.value;
2566
+ if (value_6 === "") {
2567
+ setFieldValue(imageResizeQuality, void 0);
2305
2568
  } else {
2306
- setFieldValue(maxSize, parseInt(value_1));
2569
+ const numValue = parseInt(value_6);
2570
+ if (numValue >= 0 && numValue <= 100) {
2571
+ setFieldValue(imageResizeQuality, numValue);
2572
+ }
2307
2573
  }
2308
2574
  };
2309
- $[69] = maxSize;
2310
- $[70] = setFieldValue;
2311
- $[71] = t15;
2575
+ $[133] = imageResizeQuality;
2576
+ $[134] = setFieldValue;
2577
+ $[135] = t22;
2312
2578
  } else {
2313
- t15 = $[71];
2579
+ t22 = $[135];
2314
2580
  }
2315
- let t16;
2316
- if ($[72] !== T0 || $[73] !== t15 || $[74] !== t3 || $[75] !== t4 || $[76] !== t5 || $[77] !== t6 || $[78] !== t7) {
2317
- t16 = /* @__PURE__ */ jsxRuntime.jsx(T0, { name: t3, type: t4, label: t5, size: t6, value: t7, onChange: t15 });
2318
- $[72] = T0;
2319
- $[73] = t15;
2320
- $[74] = t3;
2321
- $[75] = t4;
2322
- $[76] = t5;
2323
- $[77] = t6;
2324
- $[78] = t7;
2325
- $[79] = t16;
2581
+ let t23;
2582
+ if ($[136] !== T0 || $[137] !== t22 || $[138] !== t3 || $[139] !== t4 || $[140] !== t5 || $[141] !== t6 || $[142] !== t7 || $[143] !== t8) {
2583
+ t23 = /* @__PURE__ */ jsxRuntime.jsx(T0, { name: t3, type: t4, label: t5, size: t6, disabled: t7, value: t8, onChange: t22 });
2584
+ $[136] = T0;
2585
+ $[137] = t22;
2586
+ $[138] = t3;
2587
+ $[139] = t4;
2588
+ $[140] = t5;
2589
+ $[141] = t6;
2590
+ $[142] = t7;
2591
+ $[143] = t8;
2592
+ $[144] = t23;
2326
2593
  } else {
2327
- t16 = $[79];
2594
+ t23 = $[144];
2328
2595
  }
2329
- let t17;
2330
- if ($[80] !== t16 || $[81] !== t8) {
2331
- t17 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t8, children: t16 });
2332
- $[80] = t16;
2333
- $[81] = t8;
2334
- $[82] = t17;
2596
+ let t24;
2597
+ if ($[145] === Symbol.for("react.memo_cache_sentinel")) {
2598
+ t24 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", className: "ml-3.5 mt-1 mb-2", children: "Higher quality = larger file size. Recommended: 80-90 for photos, 90-100 for graphics" });
2599
+ $[145] = t24;
2335
2600
  } else {
2336
- t17 = $[82];
2601
+ t24 = $[145];
2337
2602
  }
2338
- let t18;
2339
- if ($[83] !== t10 || $[84] !== t11 || $[85] !== t12 || $[86] !== t17 || $[87] !== t9) {
2340
- t18 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t9, children: [
2341
- t10,
2342
- t11,
2343
- t12,
2344
- t17
2603
+ let t25;
2604
+ if ($[146] !== t23 || $[147] !== t9) {
2605
+ t25 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t9, children: [
2606
+ t23,
2607
+ t24
2345
2608
  ] });
2346
- $[83] = t10;
2347
- $[84] = t11;
2348
- $[85] = t12;
2349
- $[86] = t17;
2350
- $[87] = t9;
2351
- $[88] = t18;
2609
+ $[146] = t23;
2610
+ $[147] = t9;
2611
+ $[148] = t25;
2352
2612
  } else {
2353
- t18 = $[88];
2613
+ t25 = $[148];
2354
2614
  }
2355
- let t19;
2356
- if ($[89] !== T1 || $[90] !== t13 || $[91] !== t18) {
2357
- t19 = /* @__PURE__ */ jsxRuntime.jsx(T1, { title: t13, children: t18 });
2358
- $[89] = T1;
2359
- $[90] = t13;
2360
- $[91] = t18;
2361
- $[92] = t19;
2615
+ let t26;
2616
+ if ($[149] !== t10 || $[150] !== t11 || $[151] !== t12 || $[152] !== t13 || $[153] !== t14 || $[154] !== t15 || $[155] !== t16 || $[156] !== t17 || $[157] !== t18 || $[158] !== t19 || $[159] !== t25) {
2617
+ t26 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t10, children: [
2618
+ t11,
2619
+ t12,
2620
+ t13,
2621
+ t14,
2622
+ t15,
2623
+ t16,
2624
+ t17,
2625
+ t18,
2626
+ t19,
2627
+ t25
2628
+ ] });
2629
+ $[149] = t10;
2630
+ $[150] = t11;
2631
+ $[151] = t12;
2632
+ $[152] = t13;
2633
+ $[153] = t14;
2634
+ $[154] = t15;
2635
+ $[155] = t16;
2636
+ $[156] = t17;
2637
+ $[157] = t18;
2638
+ $[158] = t19;
2639
+ $[159] = t25;
2640
+ $[160] = t26;
2641
+ } else {
2642
+ t26 = $[160];
2643
+ }
2644
+ let t27;
2645
+ if ($[161] !== T1 || $[162] !== t20 || $[163] !== t26) {
2646
+ t27 = /* @__PURE__ */ jsxRuntime.jsx(T1, { title: t20, children: t26 });
2647
+ $[161] = T1;
2648
+ $[162] = t20;
2649
+ $[163] = t26;
2650
+ $[164] = t27;
2362
2651
  } else {
2363
- t19 = $[92];
2652
+ t27 = $[164];
2364
2653
  }
2365
- let t20;
2366
- if ($[93] !== t14 || $[94] !== t19) {
2367
- t20 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t14, children: t19 });
2368
- $[93] = t14;
2369
- $[94] = t19;
2370
- $[95] = t20;
2654
+ let t28;
2655
+ if ($[165] !== t21 || $[166] !== t27) {
2656
+ t28 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t21, children: t27 });
2657
+ $[165] = t21;
2658
+ $[166] = t27;
2659
+ $[167] = t28;
2371
2660
  } else {
2372
- t20 = $[95];
2661
+ t28 = $[167];
2373
2662
  }
2374
- let t21;
2375
- if ($[96] !== disabled || $[97] !== multiple) {
2376
- t21 = !multiple && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-12 gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralPropertyValidation, { disabled }) });
2377
- $[96] = disabled;
2378
- $[97] = multiple;
2379
- $[98] = t21;
2663
+ let t29;
2664
+ if ($[168] !== disabled || $[169] !== multiple) {
2665
+ t29 = !multiple && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-12 gap-2", children: /* @__PURE__ */ jsxRuntime.jsx(GeneralPropertyValidation, { disabled }) });
2666
+ $[168] = disabled;
2667
+ $[169] = multiple;
2668
+ $[170] = t29;
2380
2669
  } else {
2381
- t21 = $[98];
2670
+ t29 = $[170];
2382
2671
  }
2383
- let t22;
2384
- if ($[99] !== disabled || $[100] !== multiple) {
2385
- t22 = multiple && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ArrayPropertyValidation, { disabled }) });
2386
- $[99] = disabled;
2387
- $[100] = multiple;
2388
- $[101] = t22;
2672
+ let t30;
2673
+ if ($[171] !== disabled || $[172] !== multiple) {
2674
+ t30 = multiple && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ArrayPropertyValidation, { disabled }) });
2675
+ $[171] = disabled;
2676
+ $[172] = multiple;
2677
+ $[173] = t30;
2389
2678
  } else {
2390
- t22 = $[101];
2679
+ t30 = $[173];
2391
2680
  }
2392
- let t23;
2393
- if ($[102] !== t21 || $[103] !== t22) {
2394
- t23 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ValidationPanel, { children: [
2395
- t21,
2396
- t22
2681
+ let t31;
2682
+ if ($[174] !== t29 || $[175] !== t30) {
2683
+ t31 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ValidationPanel, { children: [
2684
+ t29,
2685
+ t30
2397
2686
  ] }) });
2398
- $[102] = t21;
2399
- $[103] = t22;
2400
- $[104] = t23;
2687
+ $[174] = t29;
2688
+ $[175] = t30;
2689
+ $[176] = t31;
2401
2690
  } else {
2402
- t23 = $[104];
2691
+ t31 = $[176];
2403
2692
  }
2404
- let t24;
2405
- if ($[105] !== t20 || $[106] !== t23) {
2406
- t24 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2407
- t20,
2408
- t23
2693
+ let t32;
2694
+ if ($[177] !== t28 || $[178] !== t31) {
2695
+ t32 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2696
+ t28,
2697
+ t31
2409
2698
  ] });
2410
- $[105] = t20;
2411
- $[106] = t23;
2412
- $[107] = t24;
2699
+ $[177] = t28;
2700
+ $[178] = t31;
2701
+ $[179] = t32;
2413
2702
  } else {
2414
- t24 = $[107];
2703
+ t32 = $[179];
2415
2704
  }
2416
- return t24;
2705
+ return t32;
2706
+ }
2707
+ function _temp5(selected_1) {
2708
+ if (!selected_1) {
2709
+ return "Original";
2710
+ }
2711
+ return selected_1.charAt(0).toUpperCase() + selected_1.slice(1);
2712
+ }
2713
+ function _temp4$2(selected_0) {
2714
+ if (!selected_0) {
2715
+ return "Cover";
2716
+ }
2717
+ return selected_0 === "contain" ? "Contain (fit within bounds)" : "Cover (fill bounds, may crop)";
2417
2718
  }
2418
2719
  function _temp3$4(selected) {
2419
2720
  if (!selected || selected.length === 0) {
@@ -2428,13 +2729,12 @@
2428
2729
  return fileTypes[v];
2429
2730
  }
2430
2731
  function editableProperty(property) {
2431
- if (core.isPropertyBuilder(property)) return false;
2432
- if (core.isPropertyBuilder(property)) return false;
2433
- else {
2434
- const eProperty = property;
2435
- if (eProperty.dataType === "array" && typeof eProperty.of === "function") return false;
2436
- else if (eProperty.dataType === "array" && Array.isArray(eProperty.of)) return false;
2437
- return Boolean(eProperty.editable);
2732
+ if (core.isPropertyBuilder(property)) {
2733
+ return false;
2734
+ } else {
2735
+ if (property.dataType === "array" && typeof property.of === "function") return false;
2736
+ else if (property.dataType === "array" && Array.isArray(property.of)) return false;
2737
+ return property.editable === void 0 ? true : Boolean(property.editable);
2438
2738
  }
2439
2739
  }
2440
2740
  function removeNonEditableProperties(properties) {
@@ -2513,7 +2813,7 @@
2513
2813
  } else {
2514
2814
  t6 = $[11];
2515
2815
  }
2516
- const t7 = includeName ? "body2" : "subtitle1";
2816
+ const t7 = includeName ? "body2" : "label";
2517
2817
  const t8 = propertyConfig?.name;
2518
2818
  let t9;
2519
2819
  if ($[12] !== t7 || $[13] !== t8) {
@@ -2665,7 +2965,7 @@
2665
2965
  const t10 = property?.name ? property.name : name;
2666
2966
  let t11;
2667
2967
  if ($[15] !== t10) {
2668
- t11 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body1", component: "span", className: "flex-grow pr-2", children: t10 });
2968
+ t11 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "label", component: "span", className: "flex-grow pr-2", children: t10 });
2669
2969
  $[15] = t10;
2670
2970
  $[16] = t11;
2671
2971
  } else {
@@ -5317,7 +5617,7 @@
5317
5617
  if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
5318
5618
  t12 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row text-surface-500", children: [
5319
5619
  /* @__PURE__ */ jsxRuntime.jsx(ui.CloudUploadIcon, {}),
5320
- /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "ml-2", children: "File upload config" })
5620
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "ml-4", children: "File upload config" })
5321
5621
  ] });
5322
5622
  $[26] = t12;
5323
5623
  } else {
@@ -5576,7 +5876,7 @@
5576
5876
  const initialValue = t2;
5577
5877
  let t3;
5578
5878
  if ($[1] !== collectionEditable || $[2] !== property) {
5579
- t3 = Boolean(property && !editableProperty(property)) && !collectionEditable;
5879
+ t3 = Boolean(property && !editableProperty(property)) || !collectionEditable;
5580
5880
  $[1] = collectionEditable;
5581
5881
  $[2] = property;
5582
5882
  $[3] = t3;
@@ -6300,9 +6600,11 @@
6300
6600
  t10 = disabled && /* @__PURE__ */ jsxRuntime.jsxs(ui.InfoLabel, { mode: "warn", children: [
6301
6601
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { children: "This property can't be edited" }),
6302
6602
  /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", children: [
6303
- "You may not have permission to edit it or it is defined in code with no ",
6603
+ "You may not have permission to edit it or it is defined in code with the ",
6304
6604
  /* @__PURE__ */ jsxRuntime.jsx("code", { children: "editable" }),
6305
- " flag"
6605
+ " flag set to ",
6606
+ /* @__PURE__ */ jsxRuntime.jsx("code", { children: "false" }),
6607
+ "."
6306
6608
  ] })
6307
6609
  ] });
6308
6610
  $[95] = disabled;
@@ -7163,13 +7465,6 @@
7163
7465
  setFieldValue(previousPropertyPath, void 0, false);
7164
7466
  setFieldTouched(previousPropertyPath, false, false);
7165
7467
  }
7166
- console.debug("onPropertyChanged", {
7167
- id: id_0,
7168
- property: property_0,
7169
- previousId,
7170
- namespace: namespace_3,
7171
- propertyPath
7172
- });
7173
7468
  if (propertyPath) {
7174
7469
  setFieldValue(propertyPath, property_0, false);
7175
7470
  setFieldTouched(propertyPath, true, false);
@@ -7289,7 +7584,7 @@
7289
7584
  }
7290
7585
  let t6;
7291
7586
  if ($[8] !== t4) {
7292
- t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { children: [
7587
+ t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { className: "mt-4", children: [
7293
7588
  t4,
7294
7589
  t5
7295
7590
  ] });
@@ -10206,7 +10501,7 @@
10206
10501
  currentPropertiesOrder,
10207
10502
  editedCollectionId,
10208
10503
  parentCollectionIds: parentCollectionIds_0,
10209
- collectionEditable: collection?.editable ?? false,
10504
+ collectionEditable: collection?.editable === void 0 || collection?.editable === true,
10210
10505
  existingEntities: existingEntities_0
10211
10506
  });
10212
10507
  };