@firecms/collection_editor 3.0.0-canary.258 → 3.0.0-canary.259

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
@@ -708,14 +708,14 @@
708
708
  const t76 = values.defaultSize ?? "";
709
709
  let t77;
710
710
  if ($[119] === Symbol.for("react.memo_cache_sentinel")) {
711
- t77 = ["xs", "s", "m", "l", "xl"].map(_temp2$7);
711
+ t77 = ["xs", "s", "m", "l", "xl"].map(_temp2$8);
712
712
  $[119] = t77;
713
713
  } else {
714
714
  t77 = $[119];
715
715
  }
716
716
  let t78;
717
717
  if ($[120] !== handleChange || $[121] !== t76) {
718
- t78 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Select, { name: "defaultSize", size: "large", fullWidth: true, label: "Default row size", position: "item-aligned", onChange: handleChange, value: t76, renderValue: _temp$b, children: t77 }) });
718
+ t78 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Select, { name: "defaultSize", size: "large", fullWidth: true, label: "Default row size", position: "item-aligned", onChange: handleChange, value: t76, renderValue: _temp$c, children: t77 }) });
719
719
  $[120] = handleChange;
720
720
  $[121] = t76;
721
721
  $[122] = t78;
@@ -792,7 +792,7 @@
792
792
  }
793
793
  let t91;
794
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$4, children: [
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: [
796
796
  t88,
797
797
  t89,
798
798
  t90
@@ -997,7 +997,7 @@
997
997
  }
998
998
  return t111;
999
999
  }
1000
- function _temp3$4(value_3) {
1000
+ function _temp3$5(value_3) {
1001
1001
  if (value_3 === "code_defined") {
1002
1002
  return "Code defined";
1003
1003
  } else {
@@ -1012,10 +1012,10 @@
1012
1012
  }
1013
1013
  }
1014
1014
  }
1015
- function _temp2$7(value_2) {
1015
+ function _temp2$8(value_2) {
1016
1016
  return /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: value_2, children: value_2.toUpperCase() }, `size-select-${value_2}`);
1017
1017
  }
1018
- function _temp$b(value_1) {
1018
+ function _temp$c(value_1) {
1019
1019
  return value_1.toUpperCase();
1020
1020
  }
1021
1021
  function DefaultDatabaseField(t0) {
@@ -1240,7 +1240,7 @@
1240
1240
  inferredValues.add(enumValue_0.id);
1241
1241
  });
1242
1242
  setFieldValue(enumValuesPath, [...newEnumValues, ...currentEnumValues], true);
1243
- }).catch(_temp$a).finally(() => setInferring(false));
1243
+ }).catch(_temp$b).finally(() => setInferring(false));
1244
1244
  };
1245
1245
  $[8] = enumValuesPath;
1246
1246
  $[9] = getData;
@@ -1363,7 +1363,7 @@
1363
1363
  }
1364
1364
  return t15;
1365
1365
  }
1366
- function _temp$a(e) {
1366
+ function _temp$b(e) {
1367
1367
  console.error(e);
1368
1368
  }
1369
1369
  const EnumEntry = React.memo(function EnumEntryInternal(t0) {
@@ -2152,7 +2152,7 @@
2152
2152
  t192 = $[42];
2153
2153
  }
2154
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$3, children: 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
2156
  $[43] = acceptedFiles;
2157
2157
  $[44] = disabled;
2158
2158
  $[45] = handleTypesChange;
@@ -2415,16 +2415,16 @@
2415
2415
  }
2416
2416
  return t24;
2417
2417
  }
2418
- function _temp3$3(selected) {
2418
+ function _temp3$4(selected) {
2419
2419
  if (!selected || selected.length === 0) {
2420
2420
  return "All file types allowed";
2421
2421
  }
2422
- return selected.map(_temp$9).filter(_temp2$6).join(", ");
2422
+ return selected.map(_temp$a).filter(_temp2$7).join(", ");
2423
2423
  }
2424
- function _temp2$6(v_0) {
2424
+ function _temp2$7(v_0) {
2425
2425
  return Boolean(v_0);
2426
2426
  }
2427
- function _temp$9(v) {
2427
+ function _temp$a(v) {
2428
2428
  return fileTypes[v];
2429
2429
  }
2430
2430
  function editableProperty(property) {
@@ -4500,8 +4500,8 @@
4500
4500
  const collections = t1;
4501
4501
  let t2;
4502
4502
  if ($[10] !== collections || $[11] !== disabled || $[12] !== error || $[13] !== handleChange || $[14] !== pathPath || $[15] !== props || $[16] !== value) {
4503
- const groups = Array.from(new Set(Object.values(collections).map(_temp$8).filter(Boolean)).values());
4504
- const ungroupedCollections = collections.filter(_temp2$5);
4503
+ const groups = Array.from(new Set(Object.values(collections).map(_temp$9).filter(Boolean)).values());
4504
+ const ungroupedCollections = collections.filter(_temp2$6);
4505
4505
  let t32;
4506
4506
  if ($[18] !== collections) {
4507
4507
  t32 = (selected) => {
@@ -4532,7 +4532,7 @@
4532
4532
  }
4533
4533
  t2 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { error: Boolean(error), disabled, value: value ?? "", position: "item-aligned", name: pathPath, size: "large", fullWidth: true, onChange: handleChange, label: "Target collection", renderValue: t32, ...props, children: [
4534
4534
  groups.flatMap(t42),
4535
- ungroupedCollections && /* @__PURE__ */ jsxRuntime.jsx(ui.SelectGroup, { label: "Views", children: ungroupedCollections.map(_temp3$2) })
4535
+ ungroupedCollections && /* @__PURE__ */ jsxRuntime.jsx(ui.SelectGroup, { label: "Views", children: ungroupedCollections.map(_temp3$3) })
4536
4536
  ] });
4537
4537
  $[10] = collections;
4538
4538
  $[11] = disabled;
@@ -4565,16 +4565,16 @@
4565
4565
  }
4566
4566
  return t4;
4567
4567
  }
4568
- function _temp3$2(collection_2) {
4568
+ function _temp3$3(collection_2) {
4569
4569
  return /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: collection_2.id ?? collection_2.path, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row", children: [
4570
4570
  /* @__PURE__ */ jsxRuntime.jsx(core.IconForView, { collectionOrView: collection_2 }),
4571
4571
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "font-medium ml-4", children: collection_2?.name.toUpperCase() })
4572
4572
  ] }) }, collection_2.id ?? collection_2.path);
4573
4573
  }
4574
- function _temp2$5(col) {
4574
+ function _temp2$6(col) {
4575
4575
  return !col.group;
4576
4576
  }
4577
- function _temp$8(e) {
4577
+ function _temp$9(e) {
4578
4578
  return e.group;
4579
4579
  }
4580
4580
  function DateTimePropertyField(t0) {
@@ -4649,7 +4649,7 @@
4649
4649
  }
4650
4650
  let t10;
4651
4651
  if ($[14] !== disabled || $[15] !== t5 || $[16] !== t6 || $[17] !== t7) {
4652
- t10 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "mode", value: t5, error: t6, size: "large", onValueChange: t7, label: "Mode", fullWidth: true, renderValue: _temp$7, disabled, children: [
4652
+ t10 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "mode", value: t5, error: t6, size: "large", onValueChange: t7, label: "Mode", fullWidth: true, renderValue: _temp$8, disabled, children: [
4653
4653
  t8,
4654
4654
  t9
4655
4655
  ] });
@@ -4710,7 +4710,7 @@
4710
4710
  }
4711
4711
  let t20;
4712
4712
  if ($[30] !== disabled || $[31] !== t14 || $[32] !== t15 || $[33] !== t16) {
4713
- t20 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "autoValue", disabled, size: "large", fullWidth: true, value: t14, onValueChange: t15, renderValue: _temp2$4, error: t16, label: "Automatic value", children: [
4713
+ t20 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "autoValue", disabled, size: "large", fullWidth: true, value: t14, onValueChange: t15, renderValue: _temp2$5, error: t16, label: "Automatic value", children: [
4714
4714
  t17,
4715
4715
  t18,
4716
4716
  t19
@@ -4780,7 +4780,7 @@
4780
4780
  }
4781
4781
  return t27;
4782
4782
  }
4783
- function _temp2$4(v_2) {
4783
+ function _temp2$5(v_2) {
4784
4784
  switch (v_2) {
4785
4785
  case "on_create": {
4786
4786
  return "On create";
@@ -4793,7 +4793,7 @@
4793
4793
  }
4794
4794
  }
4795
4795
  }
4796
- function _temp$7(v_0) {
4796
+ function _temp$8(v_0) {
4797
4797
  switch (v_0) {
4798
4798
  case "date_time": {
4799
4799
  return "Date/Time";
@@ -5124,7 +5124,7 @@
5124
5124
  }
5125
5125
  let t8;
5126
5126
  if ($[8] !== disabled || $[9] !== t2 || $[10] !== t3) {
5127
- t8 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { disabled, position: "item-aligned", fullWidth: true, onValueChange: t2, label: "Preview type", renderValue: _temp$6, value: t3, children: [
5127
+ t8 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { disabled, position: "item-aligned", fullWidth: true, onValueChange: t2, label: "Preview type", renderValue: _temp$7, value: t3, children: [
5128
5128
  t4,
5129
5129
  t5,
5130
5130
  t6,
@@ -5190,7 +5190,7 @@
5190
5190
  }
5191
5191
  return t13;
5192
5192
  }
5193
- function _temp$6(value_0) {
5193
+ function _temp$7(value_0) {
5194
5194
  switch (value_0) {
5195
5195
  case "image": {
5196
5196
  return "Image";
@@ -5830,7 +5830,7 @@
5830
5830
  }
5831
5831
  let t7;
5832
5832
  if ($[20] !== onCancel) {
5833
- t7 = onCancel && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => {
5833
+ t7 = onCancel && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", color: "primary", onClick: () => {
5834
5834
  onCancel();
5835
5835
  formexRef.current?.resetForm();
5836
5836
  }, children: "Cancel" });
@@ -6486,7 +6486,7 @@
6486
6486
  let t6;
6487
6487
  if ($[0] !== disabled || $[1] !== existing || $[2] !== inArray || $[3] !== initialProperty || $[4] !== onOpenChange || $[5] !== onValueChange || $[6] !== open || $[7] !== propertyConfigs || $[8] !== value) {
6488
6488
  const allSupportedFields = Object.entries(supportedFields).concat(Object.entries(propertyConfigs));
6489
- const displayedWidgets = (inArray ? allSupportedFields.filter(_temp$5) : allSupportedFields).map(_temp2$3).reduce(_temp3$1, {});
6489
+ const displayedWidgets = (inArray ? allSupportedFields.filter(_temp$6) : allSupportedFields).map(_temp2$4).reduce(_temp3$2, {});
6490
6490
  const key_0 = value;
6491
6491
  const propertyConfig_1 = key_0 ? core.DEFAULT_FIELD_CONFIGS[key_0] ?? propertyConfigs[key_0] : void 0;
6492
6492
  const baseProperty = propertyConfig_1?.property;
@@ -6668,19 +6668,19 @@
6668
6668
  }
6669
6669
  return "Custom/Other";
6670
6670
  }
6671
- function _temp3$1(a, b) {
6671
+ function _temp3$2(a, b) {
6672
6672
  return {
6673
6673
  ...a,
6674
6674
  ...b
6675
6675
  };
6676
6676
  }
6677
- function _temp2$3(t0) {
6677
+ function _temp2$4(t0) {
6678
6678
  const [key, propertyConfig_0] = t0;
6679
6679
  return {
6680
6680
  [key]: propertyConfig_0
6681
6681
  };
6682
6682
  }
6683
- function _temp$5(t0) {
6683
+ function _temp$6(t0) {
6684
6684
  const [, propertyConfig] = t0;
6685
6685
  return !core.isPropertyBuilder(propertyConfig.property) && propertyConfig.property?.dataType !== "array";
6686
6686
  }
@@ -6828,7 +6828,7 @@
6828
6828
  if ($[3] !== code) {
6829
6829
  t3 = /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { children: [
6830
6830
  t2,
6831
- /* @__PURE__ */ jsxRuntime.jsx(prismReactRenderer.Highlight, { theme: prismReactRenderer.themes.vsDark, code, language: "typescript", children: _temp$4 })
6831
+ /* @__PURE__ */ jsxRuntime.jsx(prismReactRenderer.Highlight, { theme: prismReactRenderer.themes.vsDark, code, language: "typescript", children: _temp$5 })
6832
6832
  ] });
6833
6833
  $[3] = code;
6834
6834
  $[4] = t3;
@@ -6842,7 +6842,7 @@
6842
6842
  e.preventDefault();
6843
6843
  snackbarController.open({
6844
6844
  type: "success",
6845
- message: `Copied`
6845
+ message: "Copied"
6846
6846
  });
6847
6847
  return navigator.clipboard.writeText(code);
6848
6848
  };
@@ -6861,7 +6861,7 @@
6861
6861
  }
6862
6862
  let t6;
6863
6863
  if ($[9] !== t4) {
6864
- t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", size: "small", onClick: t4, children: [
6864
+ t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", size: "small", color: "primary", onClick: t4, children: [
6865
6865
  t5,
6866
6866
  "Copy to clipboard"
6867
6867
  ] });
@@ -6908,7 +6908,7 @@
6908
6908
  }
6909
6909
  return t9;
6910
6910
  }
6911
- function _temp$4(t0) {
6911
+ function _temp$5(t0) {
6912
6912
  const {
6913
6913
  style,
6914
6914
  tokens,
@@ -7021,6 +7021,7 @@
7021
7021
  const inferPropertiesFromData = doCollectionInference ? () => {
7022
7022
  if (!doCollectionInference) return;
7023
7023
  setInferringProperties(true);
7024
+ console.debug("CollectionEditor: inferring properties from data", doCollectionInference, values);
7024
7025
  doCollectionInference(values).then((newCollection) => {
7025
7026
  if (newCollection) core.makePropertiesEditable(newCollection.properties);
7026
7027
  if (!newCollection) {
@@ -7177,7 +7178,7 @@
7177
7178
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-1 mt-2 flex flex-row gap-2", children: [
7178
7179
  /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Get the code for this collection", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { variant: "filled", disabled: inferringProperties, onClick: () => setCodeDialogOpen(true), children: /* @__PURE__ */ jsxRuntime.jsx(ui.CodeIcon, {}) }) }),
7179
7180
  inferPropertiesFromData && /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Add new properties based on data", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { variant: "filled", disabled: inferringProperties, onClick: inferPropertiesFromData, children: inferringProperties ? /* @__PURE__ */ jsxRuntime.jsx(ui.CircularProgress, { size: "small" }) : /* @__PURE__ */ jsxRuntime.jsx(ui.AutorenewIcon, {}) }) }),
7180
- /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Add new property", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", onClick: () => setNewPropertyDialogOpen(true), children: /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}) }) })
7181
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Add new property", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", color: "primary", onClick: () => setNewPropertyDialogOpen(true), children: /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}) }) })
7181
7182
  ] })
7182
7183
  ] }),
7183
7184
  /* @__PURE__ */ jsxRuntime.jsx(core.ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyTree, { className: "pl-8", inferredPropertyKeys, selectedPropertyKey: selectedPropertyKey ? getFullId(selectedPropertyKey, selectedPropertyNamespace) : void 0, properties: values.properties, additionalFields: values.additionalFields, propertiesOrder: usedPropertiesOrder, onPropertyClick, onPropertyMove, onPropertyRemove: isNewCollection ? deleteProperty : void 0, collectionEditable, errors }) }),
@@ -7187,7 +7188,7 @@
7187
7188
  selectedPropertyFullId && selectedProperty && !core.isPropertyBuilder(selectedProperty) && /* @__PURE__ */ jsxRuntime.jsx(PropertyForm, { inArray: false, existingProperty: !isNewCollection, autoUpdateId: false, allowDataInference: !isNewCollection, autoOpenTypeSelect: false, propertyKey: selectedPropertyKey, propertyNamespace: selectedPropertyNamespace, property: selectedProperty, onPropertyChanged, onDelete: deleteProperty, onError: onPropertyErrorInternal, forceShowErrors: showErrors, initialErrors, getData, propertyConfigs, collectionEditable }, `edit_view_${selectedPropertyIndex}`),
7188
7189
  !selectedProperty && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex flex-col items-center justify-center h-full gap-4", children: [
7189
7190
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "label", className: "", children: emptyCollection ? "Now you can add your first property" : "Select a property to edit it" }),
7190
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "outlined", onClick: () => setNewPropertyDialogOpen(true), children: [
7191
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "outlined", color: "primary", onClick: () => setNewPropertyDialogOpen(true), children: [
7191
7192
  /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}),
7192
7193
  "Add new property"
7193
7194
  ] })
@@ -7257,7 +7258,7 @@
7257
7258
  }
7258
7259
  let t7;
7259
7260
  if ($[10] !== handleCancel) {
7260
- t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: handleCancel, autoFocus: true, children: " Cancel " });
7261
+ t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", color: "primary", onClick: handleCancel, autoFocus: true, children: " Cancel " });
7261
7262
  $[10] = handleCancel;
7262
7263
  $[11] = t7;
7263
7264
  } else {
@@ -7265,7 +7266,7 @@
7265
7266
  }
7266
7267
  let t8;
7267
7268
  if ($[12] !== handleOk) {
7268
- t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: handleOk, children: " Ok " });
7269
+ t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { color: "primary", onClick: handleOk, children: " Ok " });
7269
7270
  $[12] = handleOk;
7270
7271
  $[13] = t8;
7271
7272
  } else {
@@ -7333,7 +7334,7 @@
7333
7334
  }
7334
7335
  let t3;
7335
7336
  if ($[4] !== entityViews) {
7336
- t3 = (entityViews ?? []).length === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body2", children: "No custom views defined" });
7337
+ t3 = (entityViews ?? []).length === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body2", children: "No custom views defined. Define your custom views in the customization settings, before using this dialog." });
7337
7338
  $[4] = entityViews;
7338
7339
  $[5] = t3;
7339
7340
  } else {
@@ -7353,7 +7354,7 @@
7353
7354
  }
7354
7355
  let t5;
7355
7356
  if ($[9] !== onClose) {
7356
- t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", onClick: () => onClose(), children: "Cancel" }) });
7357
+ t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", color: "primary", onClick: () => onClose(), children: "Cancel" }) });
7357
7358
  $[9] = onClose;
7358
7359
  $[10] = t5;
7359
7360
  } else {
@@ -7420,8 +7421,8 @@
7420
7421
  let t8;
7421
7422
  let t9;
7422
7423
  if ($[2] !== collection.entityViews || $[3] !== contextEntityViews || $[4] !== subcollections || $[5] !== values.entityViews || $[6] !== values.name) {
7423
- const resolvedEntityViews = values.entityViews?.filter(_temp$3).map((e_0) => core.resolveEntityView(e_0, contextEntityViews)).filter(Boolean) ?? [];
7424
- const hardCodedEntityViews = collection.entityViews?.filter(_temp2$2) ?? [];
7424
+ const resolvedEntityViews = values.entityViews?.filter(_temp$4).map((e_0) => core.resolveEntityView(e_0, contextEntityViews)).filter(Boolean) ?? [];
7425
+ const hardCodedEntityViews = collection.entityViews?.filter(_temp2$3) ?? [];
7425
7426
  const totalEntityViews = resolvedEntityViews.length + hardCodedEntityViews.length;
7426
7427
  t12 = "overflow-auto my-auto";
7427
7428
  T3 = ui.Container;
@@ -7530,7 +7531,7 @@
7530
7531
  t182 = $[36];
7531
7532
  }
7532
7533
  t2 = resolvedEntityViews.map(t182);
7533
- t3 = hardCodedEntityViews.map(_temp3);
7534
+ t3 = hardCodedEntityViews.map(_temp3$1);
7534
7535
  $[2] = collection.entityViews;
7535
7536
  $[3] = contextEntityViews;
7536
7537
  $[4] = subcollections;
@@ -7804,7 +7805,7 @@
7804
7805
  function _temp4(e_6) {
7805
7806
  return e_6.id;
7806
7807
  }
7807
- function _temp3(view_0) {
7808
+ function _temp3$1(view_0) {
7808
7809
  return /* @__PURE__ */ jsxRuntime.jsx(ui.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsxs(ui.TableCell, { align: "left", children: [
7809
7810
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "flex-grow", children: view_0.name }),
7810
7811
  /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "flex-grow", children: [
@@ -7813,10 +7814,10 @@
7813
7814
  ] })
7814
7815
  ] }) }, view_0.key);
7815
7816
  }
7816
- function _temp2$2(e_1) {
7817
+ function _temp2$3(e_1) {
7817
7818
  return typeof e_1 !== "string";
7818
7819
  }
7819
- function _temp$3(e) {
7820
+ function _temp$4(e) {
7820
7821
  return typeof e === "string";
7821
7822
  }
7822
7823
  const productsCollectionTemplate = {
@@ -8258,7 +8259,7 @@
8258
8259
  }
8259
8260
  };
8260
8261
  function CollectionEditorWelcomeView(t0) {
8261
- const $ = reactCompilerRuntime.c(52);
8262
+ const $ = reactCompilerRuntime.c(56);
8262
8263
  const {
8263
8264
  path,
8264
8265
  pathSuggestions,
@@ -8350,162 +8351,173 @@
8350
8351
  t7 = $[15];
8351
8352
  }
8352
8353
  let t8;
8353
- if ($[16] !== t6 || $[17] !== t7) {
8354
- t8 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-2", children: [
8355
- t5,
8356
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-x-2 gap-y-1 items-center my-2 min-h-7", children: [
8357
- t6,
8358
- t7
8359
- ] })
8360
- ] });
8361
- $[16] = t6;
8362
- $[17] = t7;
8354
+ if ($[16] !== filteredPathSuggestions || $[17] !== loadingPathSuggestions) {
8355
+ t8 = (filteredPathSuggestions ?? []).length === 0 && !loadingPathSuggestions && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", children: "No existing paths found" });
8356
+ $[16] = filteredPathSuggestions;
8357
+ $[17] = loadingPathSuggestions;
8363
8358
  $[18] = t8;
8364
8359
  } else {
8365
8360
  t8 = $[18];
8366
8361
  }
8367
8362
  let t9;
8368
- if ($[19] === Symbol.for("react.memo_cache_sentinel")) {
8369
- t9 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", children: "● Select a template:" });
8370
- $[19] = t9;
8363
+ if ($[19] !== t6 || $[20] !== t7 || $[21] !== t8) {
8364
+ t9 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-2", children: [
8365
+ t5,
8366
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-x-2 gap-y-1 items-center my-2 min-h-7", children: [
8367
+ t6,
8368
+ t7,
8369
+ t8
8370
+ ] })
8371
+ ] });
8372
+ $[19] = t6;
8373
+ $[20] = t7;
8374
+ $[21] = t8;
8375
+ $[22] = t9;
8371
8376
  } else {
8372
- t9 = $[19];
8377
+ t9 = $[22];
8373
8378
  }
8374
8379
  let t10;
8375
- if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
8376
- t10 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: productsCollectionTemplate.icon });
8377
- $[20] = t10;
8380
+ if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
8381
+ t10 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", children: "● Select a template:" });
8382
+ $[23] = t10;
8378
8383
  } else {
8379
- t10 = $[20];
8384
+ t10 = $[23];
8380
8385
  }
8381
8386
  let t11;
8382
- if ($[21] !== onContinue || $[22] !== setValues) {
8383
- t11 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Products", subtitle: "A collection of products with images, prices and stock", icon: t10, onClick: () => {
8384
- setValues(productsCollectionTemplate);
8385
- onContinue();
8386
- } });
8387
- $[21] = onContinue;
8388
- $[22] = setValues;
8389
- $[23] = t11;
8390
- } else {
8391
- t11 = $[23];
8392
- }
8393
- let t12;
8394
8387
  if ($[24] === Symbol.for("react.memo_cache_sentinel")) {
8395
- t12 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: usersCollectionTemplate.icon });
8396
- $[24] = t12;
8388
+ t11 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: productsCollectionTemplate.icon });
8389
+ $[24] = t11;
8397
8390
  } else {
8398
- t12 = $[24];
8391
+ t11 = $[24];
8399
8392
  }
8400
- let t13;
8393
+ let t12;
8401
8394
  if ($[25] !== onContinue || $[26] !== setValues) {
8402
- t13 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Users", subtitle: "A collection of users with emails, names and roles", icon: t12, onClick: () => {
8403
- setValues(usersCollectionTemplate);
8395
+ t12 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Products", subtitle: "A collection of products with images, prices and stock", icon: t11, onClick: () => {
8396
+ setValues(productsCollectionTemplate);
8404
8397
  onContinue();
8405
8398
  } });
8406
8399
  $[25] = onContinue;
8407
8400
  $[26] = setValues;
8408
- $[27] = t13;
8401
+ $[27] = t12;
8409
8402
  } else {
8410
- t13 = $[27];
8403
+ t12 = $[27];
8411
8404
  }
8412
- let t14;
8405
+ let t13;
8413
8406
  if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
8414
- t14 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: blogCollectionTemplate.icon });
8415
- $[28] = t14;
8407
+ t13 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: usersCollectionTemplate.icon });
8408
+ $[28] = t13;
8416
8409
  } else {
8417
- t14 = $[28];
8410
+ t13 = $[28];
8418
8411
  }
8419
- let t15;
8412
+ let t14;
8420
8413
  if ($[29] !== onContinue || $[30] !== setValues) {
8421
- t15 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Blog posts", subtitle: "A collection of blog posts with images, authors and complex content", icon: t14, onClick: () => {
8422
- setValues(blogCollectionTemplate);
8414
+ t14 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Users", subtitle: "A collection of users with emails, names and roles", icon: t13, onClick: () => {
8415
+ setValues(usersCollectionTemplate);
8423
8416
  onContinue();
8424
8417
  } });
8425
8418
  $[29] = onContinue;
8426
8419
  $[30] = setValues;
8427
- $[31] = t15;
8420
+ $[31] = t14;
8428
8421
  } else {
8429
- t15 = $[31];
8422
+ t14 = $[31];
8430
8423
  }
8431
- let t16;
8424
+ let t15;
8432
8425
  if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
8433
- t16 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: pagesCollectionTemplate.icon });
8434
- $[32] = t16;
8426
+ t15 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: blogCollectionTemplate.icon });
8427
+ $[32] = t15;
8435
8428
  } else {
8436
- t16 = $[32];
8429
+ t15 = $[32];
8437
8430
  }
8438
- let t17;
8431
+ let t16;
8439
8432
  if ($[33] !== onContinue || $[34] !== setValues) {
8440
- t17 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Pages", subtitle: "A collection of pages with images, authors and complex content", icon: t16, onClick: () => {
8441
- setValues(pagesCollectionTemplate);
8433
+ t16 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Blog posts", subtitle: "A collection of blog posts with images, authors and complex content", icon: t15, onClick: () => {
8434
+ setValues(blogCollectionTemplate);
8442
8435
  onContinue();
8443
8436
  } });
8444
8437
  $[33] = onContinue;
8445
8438
  $[34] = setValues;
8446
- $[35] = t17;
8439
+ $[35] = t16;
8440
+ } else {
8441
+ t16 = $[35];
8442
+ }
8443
+ let t17;
8444
+ if ($[36] === Symbol.for("react.memo_cache_sentinel")) {
8445
+ t17 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: pagesCollectionTemplate.icon });
8446
+ $[36] = t17;
8447
8447
  } else {
8448
- t17 = $[35];
8448
+ t17 = $[36];
8449
8449
  }
8450
8450
  let t18;
8451
- if ($[36] !== t11 || $[37] !== t13 || $[38] !== t15 || $[39] !== t17) {
8452
- t18 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-2", children: [
8453
- t9,
8451
+ if ($[37] !== onContinue || $[38] !== setValues) {
8452
+ t18 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Pages", subtitle: "A collection of pages with images, authors and complex content", icon: t17, onClick: () => {
8453
+ setValues(pagesCollectionTemplate);
8454
+ onContinue();
8455
+ } });
8456
+ $[37] = onContinue;
8457
+ $[38] = setValues;
8458
+ $[39] = t18;
8459
+ } else {
8460
+ t18 = $[39];
8461
+ }
8462
+ let t19;
8463
+ if ($[40] !== t12 || $[41] !== t14 || $[42] !== t16 || $[43] !== t18) {
8464
+ t19 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-2", children: [
8465
+ t10,
8454
8466
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
8455
- t11,
8456
- t13,
8457
- t15,
8458
- t17
8467
+ t12,
8468
+ t14,
8469
+ t16,
8470
+ t18
8459
8471
  ] })
8460
8472
  ] });
8461
- $[36] = t11;
8462
- $[37] = t13;
8463
- $[38] = t15;
8464
- $[39] = t17;
8465
- $[40] = t18;
8473
+ $[40] = t12;
8474
+ $[41] = t14;
8475
+ $[42] = t16;
8476
+ $[43] = t18;
8477
+ $[44] = t19;
8466
8478
  } else {
8467
- t18 = $[40];
8479
+ t19 = $[44];
8468
8480
  }
8469
- let t19;
8470
- if ($[41] !== onContinue || $[42] !== parentCollection) {
8471
- t19 = !parentCollection && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8481
+ let t20;
8482
+ if ($[45] !== onContinue || $[46] !== parentCollection) {
8483
+ t20 = !parentCollection && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8472
8484
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", className: "mb-2", children: "● Create a collection from a file (csv, json, xls, xslx...)" }),
8473
8485
  /* @__PURE__ */ jsxRuntime.jsx(data_import_export.ImportFileUpload, { onDataAdded: (data, propertiesOrder) => onContinue(data, propertiesOrder) })
8474
8486
  ] });
8475
- $[41] = onContinue;
8476
- $[42] = parentCollection;
8477
- $[43] = t19;
8487
+ $[45] = onContinue;
8488
+ $[46] = parentCollection;
8489
+ $[47] = t20;
8478
8490
  } else {
8479
- t19 = $[43];
8491
+ t20 = $[47];
8480
8492
  }
8481
- let t20;
8482
- if ($[44] !== onContinue) {
8483
- t20 = /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => onContinue(), className: "my-2", children: "Continue from scratch" }) });
8484
- $[44] = onContinue;
8485
- $[45] = t20;
8493
+ let t21;
8494
+ if ($[48] !== onContinue) {
8495
+ t21 = /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => onContinue(), className: "my-2", children: "Continue from scratch" }) });
8496
+ $[48] = onContinue;
8497
+ $[49] = t21;
8486
8498
  } else {
8487
- t20 = $[45];
8499
+ t21 = $[49];
8488
8500
  }
8489
- let t21;
8490
- if ($[46] !== t18 || $[47] !== t19 || $[48] !== t20 || $[49] !== t4 || $[50] !== t8) {
8491
- t21 = /* @__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: [
8501
+ let t22;
8502
+ if ($[50] !== t19 || $[51] !== t20 || $[52] !== t21 || $[53] !== t4 || $[54] !== t9) {
8503
+ t22 = /* @__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: [
8492
8504
  t3,
8493
8505
  t4,
8494
- t8,
8495
- t18,
8506
+ t9,
8496
8507
  t19,
8497
- t20
8508
+ t20,
8509
+ t21
8498
8510
  ] }) });
8499
- $[46] = t18;
8500
- $[47] = t19;
8501
- $[48] = t20;
8502
- $[49] = t4;
8503
- $[50] = t8;
8504
- $[51] = t21;
8511
+ $[50] = t19;
8512
+ $[51] = t20;
8513
+ $[52] = t21;
8514
+ $[53] = t4;
8515
+ $[54] = t9;
8516
+ $[55] = t22;
8505
8517
  } else {
8506
- t21 = $[51];
8518
+ t22 = $[55];
8507
8519
  }
8508
- return t21;
8520
+ return t22;
8509
8521
  }
8510
8522
  function TemplateButton(t0) {
8511
8523
  const $ = reactCompilerRuntime.c(10);
@@ -8606,7 +8618,7 @@
8606
8618
  const previousFullId = getFullId(previousId, namespace);
8607
8619
  const previousPropertyPath = idToPropertiesPath(previousFullId);
8608
8620
  const currentPropertiesOrder = getCurrentPropertiesOrder(namespace);
8609
- const newPropertiesOrder_0 = currentPropertiesOrder.map((p) => p === previousId ? id : p).filter(_temp$2);
8621
+ const newPropertiesOrder_0 = currentPropertiesOrder.map((p) => p === previousId ? id : p).filter(_temp$3);
8610
8622
  updatePropertiesOrder(newPropertiesOrder_0, namespace);
8611
8623
  const newHeadersMapping = {
8612
8624
  ...importConfig.headersMapping
@@ -8772,7 +8784,7 @@
8772
8784
  }
8773
8785
  return t13;
8774
8786
  }
8775
- function _temp$2(p_0) {
8787
+ function _temp$3(p_0) {
8776
8788
  return p_0 !== void 0;
8777
8789
  }
8778
8790
  function PropertySelect(t0) {
@@ -8845,7 +8857,7 @@
8845
8857
  }
8846
8858
  let t9;
8847
8859
  if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
8848
- t9 = Object.entries(supportedFields).map(_temp2$1);
8860
+ t9 = Object.entries(supportedFields).map(_temp2$2);
8849
8861
  $[12] = t9;
8850
8862
  } else {
8851
8863
  t9 = $[12];
@@ -8875,7 +8887,7 @@
8875
8887
  }
8876
8888
  return t11;
8877
8889
  }
8878
- function _temp2$1(t0) {
8890
+ function _temp2$2(t0) {
8879
8891
  const [key, widget_0] = t0;
8880
8892
  return /* @__PURE__ */ jsxRuntime.jsx(PropertySelectItem, { value: key, optionDisabled: false, propertyConfig: widget_0, existing: false }, key);
8881
8893
  }
@@ -9041,7 +9053,7 @@
9041
9053
  }
9042
9054
  let t7;
9043
9055
  if ($[12] !== propertiesOrder) {
9044
- t7 = propertiesOrder.map(_temp$1);
9056
+ t7 = propertiesOrder.map(_temp$2);
9045
9057
  $[12] = propertiesOrder;
9046
9058
  $[13] = t7;
9047
9059
  } else {
@@ -9060,7 +9072,7 @@
9060
9072
  }
9061
9073
  return t8;
9062
9074
  }
9063
- function _temp$1(p) {
9075
+ function _temp$2(p) {
9064
9076
  return {
9065
9077
  key: p,
9066
9078
  disabled: false
@@ -9114,6 +9126,355 @@
9114
9126
  idColumn
9115
9127
  };
9116
9128
  }
9129
+ function EntityActionsSelectDialog(t0) {
9130
+ const $ = reactCompilerRuntime.c(15);
9131
+ const {
9132
+ open,
9133
+ onClose
9134
+ } = t0;
9135
+ const {
9136
+ entityActions
9137
+ } = core.useCustomizationController();
9138
+ let t1;
9139
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
9140
+ t1 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Select custom action" });
9141
+ $[0] = t1;
9142
+ } else {
9143
+ t1 = $[0];
9144
+ }
9145
+ let t2;
9146
+ if ($[1] !== entityActions || $[2] !== onClose) {
9147
+ t2 = entityActions?.map((action) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { onClick: () => onClose(action.key), fullWidth: true, variant: "text", children: [
9148
+ action.name,
9149
+ " (",
9150
+ action.key,
9151
+ ")"
9152
+ ] }, action.key));
9153
+ $[1] = entityActions;
9154
+ $[2] = onClose;
9155
+ $[3] = t2;
9156
+ } else {
9157
+ t2 = $[3];
9158
+ }
9159
+ let t3;
9160
+ if ($[4] !== entityActions) {
9161
+ t3 = (entityActions ?? []).length === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body2", children: "No custom actions defined. Define your custom actions in the customization settings, before using this dialog." });
9162
+ $[4] = entityActions;
9163
+ $[5] = t3;
9164
+ } else {
9165
+ t3 = $[5];
9166
+ }
9167
+ let t4;
9168
+ if ($[6] !== t2 || $[7] !== t3) {
9169
+ t4 = /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { className: "flex flex-col gap-4", children: [
9170
+ t2,
9171
+ t3
9172
+ ] });
9173
+ $[6] = t2;
9174
+ $[7] = t3;
9175
+ $[8] = t4;
9176
+ } else {
9177
+ t4 = $[8];
9178
+ }
9179
+ let t5;
9180
+ if ($[9] !== onClose) {
9181
+ t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", color: "primary", onClick: () => onClose(), children: "Cancel" }) });
9182
+ $[9] = onClose;
9183
+ $[10] = t5;
9184
+ } else {
9185
+ t5 = $[10];
9186
+ }
9187
+ let t6;
9188
+ if ($[11] !== open || $[12] !== t4 || $[13] !== t5) {
9189
+ t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Dialog, { maxWidth: "md", open, children: [
9190
+ t1,
9191
+ t4,
9192
+ t5
9193
+ ] });
9194
+ $[11] = open;
9195
+ $[12] = t4;
9196
+ $[13] = t5;
9197
+ $[14] = t6;
9198
+ } else {
9199
+ t6 = $[14];
9200
+ }
9201
+ return t6;
9202
+ }
9203
+ function EntityActionsEditTab(t0) {
9204
+ const $ = reactCompilerRuntime.c(64);
9205
+ const {
9206
+ collection
9207
+ } = t0;
9208
+ const {
9209
+ entityActions: contextEntityActions
9210
+ } = core.useCustomizationController();
9211
+ const [addEntityActionDialogOpen, setAddEntityActionDialogOpen] = React.useState(false);
9212
+ const [actionToDelete, setActionToDelete] = React.useState();
9213
+ const {
9214
+ values,
9215
+ setFieldValue
9216
+ } = formex.useFormex();
9217
+ let T0;
9218
+ let T1;
9219
+ let T2;
9220
+ let T3;
9221
+ let t1;
9222
+ let t10;
9223
+ let t2;
9224
+ let t3;
9225
+ let t4;
9226
+ let t5;
9227
+ let t6;
9228
+ let t7;
9229
+ let t8;
9230
+ let t9;
9231
+ if ($[0] !== collection.entityActions || $[1] !== contextEntityActions || $[2] !== values.entityActions) {
9232
+ const resolvedEntityActions = values.entityActions?.filter(_temp$1).map((e_0) => core.resolveEntityAction(e_0, contextEntityActions)).filter(Boolean) ?? [];
9233
+ const hardCodedEntityActions = collection.entityActions?.filter(_temp2$1) ?? [];
9234
+ const totalEntityActions = resolvedEntityActions.length + hardCodedEntityActions.length;
9235
+ t10 = "overflow-auto my-auto";
9236
+ T3 = ui.Container;
9237
+ t8 = "2xl";
9238
+ t9 = "flex flex-col gap-4 p-8 m-auto";
9239
+ t7 = "flex flex-col gap-16";
9240
+ t4 = "flex-grow flex flex-col gap-4 items-start";
9241
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
9242
+ t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "h5", children: "Custom actions" });
9243
+ $[17] = t5;
9244
+ } else {
9245
+ t5 = $[17];
9246
+ }
9247
+ if ($[18] !== totalEntityActions) {
9248
+ t6 = totalEntityActions === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Alert, { action: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", size: "small", href: "https://firecms.co/docs/custom_actions", component: "a", rel: "noopener noreferrer", target: "_blank", children: "More info" }), children: "Define your own custom actions by uploading them with the CLI." });
9249
+ $[18] = totalEntityActions;
9250
+ $[19] = t6;
9251
+ } else {
9252
+ t6 = $[19];
9253
+ }
9254
+ T2 = ui.Paper;
9255
+ t3 = "flex flex-col gap-4 p-2 w-full";
9256
+ T1 = ui.Table;
9257
+ T0 = ui.TableBody;
9258
+ let t112;
9259
+ if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
9260
+ t112 = (action) => /* @__PURE__ */ jsxRuntime.jsxs(ui.TableRow, { children: [
9261
+ /* @__PURE__ */ jsxRuntime.jsx(ui.TableCell, { align: "left", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "flex-grow", children: action.name }) }),
9262
+ /* @__PURE__ */ jsxRuntime.jsx(ui.TableCell, { align: "right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Remove", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { size: "small", onClick: (e_2) => {
9263
+ e_2.preventDefault();
9264
+ e_2.stopPropagation();
9265
+ setActionToDelete(action.key);
9266
+ }, color: "inherit", children: /* @__PURE__ */ jsxRuntime.jsx(ui.DeleteIcon, { size: "small" }) }) }) })
9267
+ ] }, action.key);
9268
+ $[20] = t112;
9269
+ } else {
9270
+ t112 = $[20];
9271
+ }
9272
+ t1 = resolvedEntityActions.map(t112);
9273
+ t2 = hardCodedEntityActions.map(_temp3);
9274
+ $[0] = collection.entityActions;
9275
+ $[1] = contextEntityActions;
9276
+ $[2] = values.entityActions;
9277
+ $[3] = T0;
9278
+ $[4] = T1;
9279
+ $[5] = T2;
9280
+ $[6] = T3;
9281
+ $[7] = t1;
9282
+ $[8] = t10;
9283
+ $[9] = t2;
9284
+ $[10] = t3;
9285
+ $[11] = t4;
9286
+ $[12] = t5;
9287
+ $[13] = t6;
9288
+ $[14] = t7;
9289
+ $[15] = t8;
9290
+ $[16] = t9;
9291
+ } else {
9292
+ T0 = $[3];
9293
+ T1 = $[4];
9294
+ T2 = $[5];
9295
+ T3 = $[6];
9296
+ t1 = $[7];
9297
+ t10 = $[8];
9298
+ t2 = $[9];
9299
+ t3 = $[10];
9300
+ t4 = $[11];
9301
+ t5 = $[12];
9302
+ t6 = $[13];
9303
+ t7 = $[14];
9304
+ t8 = $[15];
9305
+ t9 = $[16];
9306
+ }
9307
+ let t11;
9308
+ if ($[21] !== T0 || $[22] !== t1 || $[23] !== t2) {
9309
+ t11 = /* @__PURE__ */ jsxRuntime.jsxs(T0, { children: [
9310
+ t1,
9311
+ t2
9312
+ ] });
9313
+ $[21] = T0;
9314
+ $[22] = t1;
9315
+ $[23] = t2;
9316
+ $[24] = t11;
9317
+ } else {
9318
+ t11 = $[24];
9319
+ }
9320
+ let t12;
9321
+ if ($[25] !== T1 || $[26] !== t11) {
9322
+ t12 = /* @__PURE__ */ jsxRuntime.jsx(T1, { children: t11 });
9323
+ $[25] = T1;
9324
+ $[26] = t11;
9325
+ $[27] = t12;
9326
+ } else {
9327
+ t12 = $[27];
9328
+ }
9329
+ let t13;
9330
+ if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
9331
+ t13 = () => {
9332
+ setAddEntityActionDialogOpen(true);
9333
+ };
9334
+ $[28] = t13;
9335
+ } else {
9336
+ t13 = $[28];
9337
+ }
9338
+ let t14;
9339
+ if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
9340
+ t14 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: t13, variant: "text", startIcon: /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}), children: "Add custom entity action" });
9341
+ $[29] = t14;
9342
+ } else {
9343
+ t14 = $[29];
9344
+ }
9345
+ let t15;
9346
+ if ($[30] !== T2 || $[31] !== t12 || $[32] !== t3) {
9347
+ t15 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(T2, { className: t3, children: [
9348
+ t12,
9349
+ t14
9350
+ ] }) });
9351
+ $[30] = T2;
9352
+ $[31] = t12;
9353
+ $[32] = t3;
9354
+ $[33] = t15;
9355
+ } else {
9356
+ t15 = $[33];
9357
+ }
9358
+ let t16;
9359
+ if ($[34] !== t15 || $[35] !== t4 || $[36] !== t5 || $[37] !== t6) {
9360
+ t16 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t4, children: [
9361
+ t5,
9362
+ t6,
9363
+ t15
9364
+ ] });
9365
+ $[34] = t15;
9366
+ $[35] = t4;
9367
+ $[36] = t5;
9368
+ $[37] = t6;
9369
+ $[38] = t16;
9370
+ } else {
9371
+ t16 = $[38];
9372
+ }
9373
+ let t17;
9374
+ if ($[39] !== t16 || $[40] !== t7) {
9375
+ t17 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t7, children: t16 });
9376
+ $[39] = t16;
9377
+ $[40] = t7;
9378
+ $[41] = t17;
9379
+ } else {
9380
+ t17 = $[41];
9381
+ }
9382
+ let t18;
9383
+ if ($[42] !== T3 || $[43] !== t17 || $[44] !== t8 || $[45] !== t9) {
9384
+ t18 = /* @__PURE__ */ jsxRuntime.jsx(T3, { maxWidth: t8, className: t9, children: t17 });
9385
+ $[42] = T3;
9386
+ $[43] = t17;
9387
+ $[44] = t8;
9388
+ $[45] = t9;
9389
+ $[46] = t18;
9390
+ } else {
9391
+ t18 = $[46];
9392
+ }
9393
+ let t19;
9394
+ if ($[47] === Symbol.for("react.memo_cache_sentinel")) {
9395
+ t19 = /* @__PURE__ */ jsxRuntime.jsx("div", { style: {
9396
+ height: "52px"
9397
+ } });
9398
+ $[47] = t19;
9399
+ } else {
9400
+ t19 = $[47];
9401
+ }
9402
+ let t20;
9403
+ if ($[48] !== actionToDelete || $[49] !== setFieldValue || $[50] !== values.entityActions) {
9404
+ t20 = actionToDelete && /* @__PURE__ */ jsxRuntime.jsx(core.ConfirmationDialog, { open: Boolean(actionToDelete), onAccept: () => {
9405
+ setFieldValue("entityActions", values.entityActions?.filter((e_3) => e_3 !== actionToDelete));
9406
+ setActionToDelete(void 0);
9407
+ }, onCancel: () => setActionToDelete(void 0), title: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: "Remove this action?" }), body: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
9408
+ "This will ",
9409
+ /* @__PURE__ */ jsxRuntime.jsx("b", { children: "not delete any data" }),
9410
+ ", only the action in the CMS"
9411
+ ] }) });
9412
+ $[48] = actionToDelete;
9413
+ $[49] = setFieldValue;
9414
+ $[50] = values.entityActions;
9415
+ $[51] = t20;
9416
+ } else {
9417
+ t20 = $[51];
9418
+ }
9419
+ let t21;
9420
+ if ($[52] !== contextEntityActions || $[53] !== setFieldValue || $[54] !== values.entityActions) {
9421
+ t21 = (selectedActionKey) => {
9422
+ if (selectedActionKey) {
9423
+ console.log("Selected action key:", selectedActionKey);
9424
+ const value = [...values.entityActions ?? [], selectedActionKey].filter((e_4) => typeof e_4 === "string" && (contextEntityActions ?? []).some((action_1) => action_1.key === e_4));
9425
+ setFieldValue("entityActions", value);
9426
+ }
9427
+ setAddEntityActionDialogOpen(false);
9428
+ };
9429
+ $[52] = contextEntityActions;
9430
+ $[53] = setFieldValue;
9431
+ $[54] = values.entityActions;
9432
+ $[55] = t21;
9433
+ } else {
9434
+ t21 = $[55];
9435
+ }
9436
+ let t22;
9437
+ if ($[56] !== addEntityActionDialogOpen || $[57] !== t21) {
9438
+ t22 = /* @__PURE__ */ jsxRuntime.jsx(EntityActionsSelectDialog, { open: addEntityActionDialogOpen, onClose: t21 });
9439
+ $[56] = addEntityActionDialogOpen;
9440
+ $[57] = t21;
9441
+ $[58] = t22;
9442
+ } else {
9443
+ t22 = $[58];
9444
+ }
9445
+ let t23;
9446
+ if ($[59] !== t10 || $[60] !== t18 || $[61] !== t20 || $[62] !== t22) {
9447
+ t23 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t10, children: [
9448
+ t18,
9449
+ t19,
9450
+ t20,
9451
+ t22
9452
+ ] });
9453
+ $[59] = t10;
9454
+ $[60] = t18;
9455
+ $[61] = t20;
9456
+ $[62] = t22;
9457
+ $[63] = t23;
9458
+ } else {
9459
+ t23 = $[63];
9460
+ }
9461
+ return t23;
9462
+ }
9463
+ function _temp3(action_0) {
9464
+ return /* @__PURE__ */ jsxRuntime.jsx(ui.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsxs(ui.TableCell, { align: "left", children: [
9465
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "flex-grow", children: action_0.name }),
9466
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "flex-grow", children: [
9467
+ "This action is defined in code with key ",
9468
+ /* @__PURE__ */ jsxRuntime.jsx("code", { children: action_0.key })
9469
+ ] })
9470
+ ] }) }, action_0.key);
9471
+ }
9472
+ function _temp2$1(e_1) {
9473
+ return typeof e_1 !== "string";
9474
+ }
9475
+ function _temp$1(e) {
9476
+ return typeof e === "string";
9477
+ }
9117
9478
  function CollectionEditorDialog(props) {
9118
9479
  const $ = reactCompilerRuntime.c(24);
9119
9480
  const open = props.open;
@@ -9352,10 +9713,10 @@
9352
9713
  setCurrentView("details");
9353
9714
  }
9354
9715
  };
9355
- const doCollectionInference = (collection_0) => {
9716
+ const doCollectionInference = collectionInference ? (collection_0) => {
9356
9717
  if (!collectionInference) return void 0;
9357
9718
  return collectionInference?.(collection_0.path, collection_0.collectionGroup ?? false, parentPaths ?? []);
9358
- };
9719
+ } : void 0;
9359
9720
  const inferCollectionFromData = async (newCollection) => {
9360
9721
  try {
9361
9722
  if (!doCollectionInference) {
@@ -9574,7 +9935,8 @@
9574
9935
  !isNewCollection && /* @__PURE__ */ jsxRuntime.jsxs(ui.Tabs, { value: currentView, innerClassName: ui.cls(ui.defaultBorderMixin, "px-4 h-14 w-full justify-end bg-surface-50 dark:bg-surface-950 border-b"), onValueChange: (v) => setCurrentView(v), children: [
9575
9936
  /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "details", children: "Details" }),
9576
9937
  /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "properties", children: "Properties" }),
9577
- /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "subcollections", children: "Additional views" })
9938
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "subcollections", children: "Additional views" }),
9939
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "custom_actions", children: "Custom actions" })
9578
9940
  ] }),
9579
9941
  /* @__PURE__ */ jsxRuntime.jsxs("form", { noValidate: true, onSubmit: formController.handleSubmit, className: ui.cls(isNewCollection ? "h-full" : "h-[calc(100%-48px)]", "flex-grow flex flex-col relative"), children: [
9580
9942
  currentView === "loading" && /* @__PURE__ */ jsxRuntime.jsx(core.CircularProgressCenter, {}),
@@ -9603,6 +9965,7 @@
9603
9965
  setDeleteRequested(true);
9604
9966
  }, children: "Reset to code" })
9605
9967
  ] }) }),
9968
+ currentView === "custom_actions" && collection && /* @__PURE__ */ jsxRuntime.jsx(EntityActionsEditTab, { collection }),
9606
9969
  currentView === "subcollections" && collection && /* @__PURE__ */ jsxRuntime.jsx(SubcollectionsEditTab, { parentCollection, configController, getUser, collectionInference, parentCollectionIds, collection }),
9607
9970
  currentView === "properties" && /* @__PURE__ */ jsxRuntime.jsx(CollectionPropertiesEditorForm, { showErrors: submitCount > 0, isNewCollection, reservedGroups, onPropertyError: (propertyKey, namespace, error_0) => {
9608
9971
  const current = core.removeUndefined({
@@ -9614,28 +9977,28 @@
9614
9977
  }, getUser, getData: getDataWithPath, doCollectionInference, propertyConfigs, collectionEditable, extraIcon: extraView?.icon && /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", onClick: () => setCurrentView("extra_view"), children: extraView.icon }) }),
9615
9978
  currentView !== "welcome" && /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogActions, { position: "absolute", children: [
9616
9979
  error && /* @__PURE__ */ jsxRuntime.jsx(core.ErrorView, { error }),
9617
- isNewCollection && includeTemplates && currentView === "import_data_mapping" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => {
9980
+ isNewCollection && includeTemplates && currentView === "import_data_mapping" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", color: "primary", onClick: () => {
9618
9981
  importConfig.setInUse(false);
9619
9982
  return setCurrentView("welcome");
9620
9983
  }, children: [
9621
9984
  /* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
9622
9985
  "Back"
9623
9986
  ] }),
9624
- isNewCollection && includeTemplates && currentView === "import_data_preview" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => {
9987
+ isNewCollection && includeTemplates && currentView === "import_data_preview" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", color: "primary", onClick: () => {
9625
9988
  setCurrentView("import_data_mapping");
9626
9989
  }, children: [
9627
9990
  /* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
9628
9991
  "Back"
9629
9992
  ] }),
9630
- isNewCollection && includeTemplates && currentView === "details" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => setCurrentView("welcome"), children: [
9993
+ isNewCollection && includeTemplates && currentView === "details" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", color: "primary", type: "button", onClick: () => setCurrentView("welcome"), children: [
9631
9994
  /* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
9632
9995
  "Back"
9633
9996
  ] }),
9634
- isNewCollection && currentView === "properties" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => setCurrentView("details"), children: [
9997
+ isNewCollection && currentView === "properties" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", color: "primary", onClick: () => setCurrentView("details"), children: [
9635
9998
  /* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
9636
9999
  "Back"
9637
10000
  ] }),
9638
- /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => {
10001
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", color: "primary", onClick: () => {
9639
10002
  handleCancel();
9640
10003
  }, children: "Cancel" }),
9641
10004
  isNewCollection && currentView === "import_data_mapping" && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "filled", color: "primary", onClick: onImportMappingComplete, children: "Next" }),
@@ -10128,14 +10491,14 @@
10128
10491
  }
10129
10492
  let t6;
10130
10493
  if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
10131
- t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.SettingsIcon, {});
10494
+ t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.SettingsIcon, { size: "small" });
10132
10495
  $[15] = t6;
10133
10496
  } else {
10134
10497
  t6 = $[15];
10135
10498
  }
10136
10499
  let t7;
10137
10500
  if ($[16] !== t4 || $[17] !== t5) {
10138
- t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", disabled: t4, onClick: t5, children: t6 });
10501
+ t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { size: "small", color: "primary", disabled: t4, onClick: t5, children: t6 });
10139
10502
  $[16] = t4;
10140
10503
  $[17] = t5;
10141
10504
  $[18] = t7;
@@ -10670,8 +11033,100 @@
10670
11033
  }
10671
11034
  return t8;
10672
11035
  }
11036
+ function EditorEntityAction(t0) {
11037
+ const $ = reactCompilerRuntime.c(23);
11038
+ const {
11039
+ path: fullPath,
11040
+ parentCollectionIds,
11041
+ collection,
11042
+ formContext
11043
+ } = t0;
11044
+ const authController = core.useAuthController();
11045
+ const navigationController = core.useNavigationController();
11046
+ const collectionEditorController = useCollectionEditorController();
11047
+ let t1;
11048
+ if ($[0] !== navigationController || $[1] !== parentCollectionIds) {
11049
+ t1 = navigationController.getCollectionFromIds(parentCollectionIds);
11050
+ $[0] = navigationController;
11051
+ $[1] = parentCollectionIds;
11052
+ $[2] = t1;
11053
+ } else {
11054
+ t1 = $[2];
11055
+ }
11056
+ const parentCollection = t1;
11057
+ let t2;
11058
+ if ($[3] !== authController || $[4] !== collection || $[5] !== collectionEditorController) {
11059
+ t2 = collectionEditorController.configPermissions ? collectionEditorController.configPermissions({
11060
+ user: authController.user,
11061
+ collection
11062
+ }).editCollections : true;
11063
+ $[3] = authController;
11064
+ $[4] = collection;
11065
+ $[5] = collectionEditorController;
11066
+ $[6] = t2;
11067
+ } else {
11068
+ t2 = $[6];
11069
+ }
11070
+ const canEditCollection = t2;
11071
+ const isDirty = formContext?.formex.dirty ?? false;
11072
+ const t3 = canEditCollection ? isDirty ? "You need to save the document before changing the schema" : "Edit schema for this form" : "You don't have permissions to edit this collection";
11073
+ const t4 = !canEditCollection || isDirty;
11074
+ let t5;
11075
+ if ($[7] !== canEditCollection || $[8] !== collection || $[9] !== collectionEditorController || $[10] !== fullPath || $[11] !== parentCollection || $[12] !== parentCollectionIds) {
11076
+ t5 = canEditCollection ? () => collectionEditorController?.editCollection({
11077
+ id: collection.id,
11078
+ fullPath,
11079
+ parentCollectionIds,
11080
+ parentCollection
11081
+ }) : void 0;
11082
+ $[7] = canEditCollection;
11083
+ $[8] = collection;
11084
+ $[9] = collectionEditorController;
11085
+ $[10] = fullPath;
11086
+ $[11] = parentCollection;
11087
+ $[12] = parentCollectionIds;
11088
+ $[13] = t5;
11089
+ } else {
11090
+ t5 = $[13];
11091
+ }
11092
+ let t6;
11093
+ if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
11094
+ t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.SettingsIcon, { size: "small" });
11095
+ $[14] = t6;
11096
+ } else {
11097
+ t6 = $[14];
11098
+ }
11099
+ let t7;
11100
+ if ($[15] !== t4 || $[16] !== t5) {
11101
+ t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", disabled: t4, onClick: t5, children: t6 });
11102
+ $[15] = t4;
11103
+ $[16] = t5;
11104
+ $[17] = t7;
11105
+ } else {
11106
+ t7 = $[17];
11107
+ }
11108
+ let t8;
11109
+ if ($[18] !== t3 || $[19] !== t7) {
11110
+ t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { asChild: true, title: t3, children: t7 });
11111
+ $[18] = t3;
11112
+ $[19] = t7;
11113
+ $[20] = t8;
11114
+ } else {
11115
+ t8 = $[20];
11116
+ }
11117
+ const editorButton = t8;
11118
+ let t9;
11119
+ if ($[21] !== editorButton) {
11120
+ t9 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: editorButton });
11121
+ $[21] = editorButton;
11122
+ $[22] = t9;
11123
+ } else {
11124
+ t9 = $[22];
11125
+ }
11126
+ return t9;
11127
+ }
10673
11128
  function useCollectionEditorPlugin(t0) {
10674
- const $ = reactCompilerRuntime.c(21);
11129
+ const $ = reactCompilerRuntime.c(22);
10675
11130
  const {
10676
11131
  collectionConfigController,
10677
11132
  configPermissions,
@@ -10745,6 +11200,7 @@
10745
11200
  t5 = $[15];
10746
11201
  }
10747
11202
  let t6;
11203
+ let t7;
10748
11204
  if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
10749
11205
  t6 = {
10750
11206
  CollectionActionsStart: EditorCollectionActionStart,
@@ -10752,27 +11208,33 @@
10752
11208
  HeaderAction: CollectionViewHeaderAction,
10753
11209
  AddColumnComponent: PropertyAddColumnComponent
10754
11210
  };
11211
+ t7 = {
11212
+ ActionsTop: EditorEntityAction
11213
+ };
10755
11214
  $[16] = t6;
11215
+ $[17] = t7;
10756
11216
  } else {
10757
11217
  t6 = $[16];
11218
+ t7 = $[17];
10758
11219
  }
10759
- let t7;
10760
- if ($[17] !== collectionConfigController.loading || $[18] !== t2 || $[19] !== t5) {
10761
- t7 = {
11220
+ let t8;
11221
+ if ($[18] !== collectionConfigController.loading || $[19] !== t2 || $[20] !== t5) {
11222
+ t8 = {
10762
11223
  key: "collection_editor",
10763
11224
  loading: collectionConfigController.loading,
10764
11225
  provider: t2,
10765
11226
  homePage: t5,
10766
- collectionView: t6
11227
+ collectionView: t6,
11228
+ form: t7
10767
11229
  };
10768
- $[17] = collectionConfigController.loading;
10769
- $[18] = t2;
10770
- $[19] = t5;
10771
- $[20] = t7;
11230
+ $[18] = collectionConfigController.loading;
11231
+ $[19] = t2;
11232
+ $[20] = t5;
11233
+ $[21] = t8;
10772
11234
  } else {
10773
- t7 = $[20];
11235
+ t8 = $[21];
10774
11236
  }
10775
- return t7;
11237
+ return t8;
10776
11238
  }
10777
11239
  function IntroWidget() {
10778
11240
  const $ = reactCompilerRuntime.c(11);