@firecms/core 3.0.0-canary.178 → 3.0.0-canary.179

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
@@ -617,7 +617,7 @@
617
617
  return t6;
618
618
  }
619
619
  const LabelWithIcon = React.forwardRef((t0, ref) => {
620
- const $ = reactCompilerRuntime.c(8);
620
+ const $ = reactCompilerRuntime.c(11);
621
621
  const {
622
622
  icon,
623
623
  title,
@@ -625,33 +625,42 @@
625
625
  className,
626
626
  required
627
627
  } = t0;
628
- const t1 = `inline-flex items-center my-0.5 ${small ? "gap-1" : "gap-2"} ${className ?? ""}`;
629
- const t2 = `text-start font-medium text-${small ? "base" : "sm"} origin-top-left transform ${small ? "translate-x-2 scale-75" : ""}`;
630
- const t3 = (title ?? "") + (required ? " *" : "");
631
- let t4;
632
- if ($[0] !== t2 || $[1] !== t3) {
633
- t4 = /* @__PURE__ */ jsxRuntime.jsx("span", { className: t2, children: t3 });
634
- $[0] = t2;
635
- $[1] = t3;
636
- $[2] = t4;
628
+ const t1 = small ? "gap-1" : "gap-2";
629
+ let t2;
630
+ if ($[0] !== className || $[1] !== t1) {
631
+ t2 = ui.cls("inline-flex items-center my-0.5", t1, className);
632
+ $[0] = className;
633
+ $[1] = t1;
634
+ $[2] = t2;
637
635
  } else {
638
- t4 = $[2];
636
+ t2 = $[2];
639
637
  }
638
+ const t3 = `text-start font-medium text-${small ? "base" : "sm"} origin-top-left transform ${small ? "translate-x-2 scale-75" : ""}`;
639
+ const t4 = (title ?? "") + (required ? " *" : "");
640
640
  let t5;
641
- if ($[3] !== icon || $[4] !== ref || $[5] !== t1 || $[6] !== t4) {
642
- t5 = /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: t1, children: [
641
+ if ($[3] !== t3 || $[4] !== t4) {
642
+ t5 = /* @__PURE__ */ jsxRuntime.jsx("span", { className: t3, children: t4 });
643
+ $[3] = t3;
644
+ $[4] = t4;
645
+ $[5] = t5;
646
+ } else {
647
+ t5 = $[5];
648
+ }
649
+ let t6;
650
+ if ($[6] !== icon || $[7] !== ref || $[8] !== t2 || $[9] !== t5) {
651
+ t6 = /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: t2, children: [
643
652
  icon,
644
- t4
653
+ t5
645
654
  ] });
646
- $[3] = icon;
647
- $[4] = ref;
648
- $[5] = t1;
649
- $[6] = t4;
650
- $[7] = t5;
655
+ $[6] = icon;
656
+ $[7] = ref;
657
+ $[8] = t2;
658
+ $[9] = t5;
659
+ $[10] = t6;
651
660
  } else {
652
- t5 = $[7];
661
+ t6 = $[10];
653
662
  }
654
- return t5;
663
+ return t6;
655
664
  });
656
665
  LabelWithIcon.displayName = "LabelWithIcon";
657
666
  function PropertyIdCopyTooltip(t0) {
@@ -671,7 +680,7 @@
671
680
  }
672
681
  let t2;
673
682
  if ($[2] !== children || $[3] !== className || $[4] !== t1) {
674
- t2 = /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: t1, delayDuration: 800, side: "top", asChild: false, align: "start", sideOffset: 8, className, children });
683
+ t2 = /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: t1, delayDuration: 800, side: "top", align: "start", sideOffset: 8, className, children });
675
684
  $[2] = children;
676
685
  $[3] = className;
677
686
  $[4] = t1;
@@ -3378,6 +3387,7 @@
3378
3387
  });
3379
3388
  if (modifiedCollection) resultCollection = modifiedCollection;
3380
3389
  }
3390
+ resultCollection["merged"] = true;
3381
3391
  return resultCollection;
3382
3392
  }
3383
3393
  function mergePropertyOrBuilder(target, source) {
@@ -8037,15 +8047,26 @@
8037
8047
  return equal(a.rowData, b.rowData) && equal(a.column, b.column) && equal(a.cellData, b.cellData) && equal(a.rowIndex, b.rowIndex) && equal(a.cellRenderer, b.cellRenderer) && equal(a.columnIndex, b.columnIndex);
8038
8048
  });
8039
8049
  function useDebounceCallback(callback, delay) {
8050
+ const $ = reactCompilerRuntime.c(3);
8040
8051
  const timeoutRef = React.useRef(null);
8041
- const debouncedCallback = React.useCallback((...args) => {
8042
- if (timeoutRef.current !== null) {
8043
- clearTimeout(timeoutRef.current);
8044
- }
8045
- timeoutRef.current = window.setTimeout(() => {
8046
- callback?.(...args);
8047
- }, delay);
8048
- }, [callback, delay]);
8052
+ let t0;
8053
+ if ($[0] !== callback || $[1] !== delay) {
8054
+ t0 = (...t1) => {
8055
+ const args = t1;
8056
+ if (timeoutRef.current !== null) {
8057
+ clearTimeout(timeoutRef.current);
8058
+ }
8059
+ timeoutRef.current = window.setTimeout(() => {
8060
+ callback?.(...args);
8061
+ }, delay);
8062
+ };
8063
+ $[0] = callback;
8064
+ $[1] = delay;
8065
+ $[2] = t0;
8066
+ } else {
8067
+ t0 = $[2];
8068
+ }
8069
+ const debouncedCallback = t0;
8049
8070
  return debouncedCallback;
8050
8071
  }
8051
8072
  const VirtualListContext = React.createContext({});
@@ -9608,16 +9629,16 @@
9608
9629
  t12 = $[14];
9609
9630
  }
9610
9631
  const searchBlocked = t12;
9611
- let t22;
9632
+ let t2;
9612
9633
  if ($[15] !== customizationController.plugins || $[16] !== dataSource?.initTextSearch) {
9613
- t22 = Boolean(dataSource?.initTextSearch) || customizationController.plugins?.find(_temp$k);
9634
+ t2 = Boolean(dataSource?.initTextSearch) || customizationController.plugins?.find(_temp$k);
9614
9635
  $[15] = customizationController.plugins;
9615
9636
  $[16] = dataSource?.initTextSearch;
9616
- $[17] = t22;
9637
+ $[17] = t2;
9617
9638
  } else {
9618
- t22 = $[17];
9639
+ t2 = $[17];
9619
9640
  }
9620
- const addTextSearchClickListener = t22;
9641
+ const addTextSearchClickListener = t2;
9621
9642
  if (addTextSearchClickListener) {
9622
9643
  let t3;
9623
9644
  if ($[18] !== addTextSearchClickListener || $[19] !== collection || $[20] !== context || $[21] !== customizationController.plugins || $[22] !== dataSource || $[23] !== fullPath || $[24] !== parentCollectionIds || $[25] !== props || $[26] !== searchBlocked) {
@@ -9684,24 +9705,23 @@
9684
9705
  textSearchEnabled = $[6];
9685
9706
  onTextSearchClick = $[7];
9686
9707
  }
9687
- const t1 = textSearchEnabled;
9688
- let t2;
9689
- if ($[28] !== onTextSearchClick || $[29] !== t1 || $[30] !== textSearchInitialised || $[31] !== textSearchLoading) {
9690
- t2 = {
9708
+ let t1;
9709
+ if ($[28] !== onTextSearchClick || $[29] !== textSearchEnabled || $[30] !== textSearchInitialised || $[31] !== textSearchLoading) {
9710
+ t1 = {
9691
9711
  textSearchLoading,
9692
9712
  textSearchInitialised,
9693
9713
  onTextSearchClick,
9694
- textSearchEnabled: t1
9714
+ textSearchEnabled
9695
9715
  };
9696
9716
  $[28] = onTextSearchClick;
9697
- $[29] = t1;
9717
+ $[29] = textSearchEnabled;
9698
9718
  $[30] = textSearchInitialised;
9699
9719
  $[31] = textSearchLoading;
9700
- $[32] = t2;
9720
+ $[32] = t1;
9701
9721
  } else {
9702
- t2 = $[32];
9722
+ t1 = $[32];
9703
9723
  }
9704
- return t2;
9724
+ return t1;
9705
9725
  }
9706
9726
  function _temp$k(p_0) {
9707
9727
  return Boolean(p_0.collectionView?.onTextSearchClick);
@@ -11044,7 +11064,7 @@
11044
11064
  return e_0.item.url;
11045
11065
  }
11046
11066
  function EntityCollectionViewActions(t0) {
11047
- const $ = reactCompilerRuntime.c(39);
11067
+ const $ = reactCompilerRuntime.c(41);
11048
11068
  const {
11049
11069
  collection,
11050
11070
  relativePath,
@@ -11117,16 +11137,16 @@
11117
11137
  }
11118
11138
  const button = t42;
11119
11139
  const t52 = multipleDeleteEnabled ? "Delete" : "You have selected at least one entity you cannot delete";
11120
- let t6;
11140
+ let t62;
11121
11141
  if ($[17] !== button || $[18] !== t52) {
11122
- t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: t52, children: button });
11142
+ t62 = /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: t52, children: button });
11123
11143
  $[17] = button;
11124
11144
  $[18] = t52;
11125
- $[19] = t6;
11145
+ $[19] = t62;
11126
11146
  } else {
11127
- t6 = $[19];
11147
+ t62 = $[19];
11128
11148
  }
11129
- multipleDeleteButton = t6;
11149
+ multipleDeleteButton = t62;
11130
11150
  }
11131
11151
  let t4;
11132
11152
  if ($[20] !== collection || $[21] !== collectionEntitiesCount || $[22] !== context || $[23] !== parentCollectionIds || $[24] !== path || $[25] !== relativePath || $[26] !== selectionController || $[27] !== tableController) {
@@ -11179,20 +11199,28 @@
11179
11199
  actions = $[32];
11180
11200
  }
11181
11201
  let t5;
11182
- if ($[35] !== actions || $[36] !== addButton || $[37] !== multipleDeleteButton) {
11183
- t5 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11184
- actions,
11202
+ if ($[35] !== actions) {
11203
+ t5 = /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: actions });
11204
+ $[35] = actions;
11205
+ $[36] = t5;
11206
+ } else {
11207
+ t5 = $[36];
11208
+ }
11209
+ let t6;
11210
+ if ($[37] !== addButton || $[38] !== multipleDeleteButton || $[39] !== t5) {
11211
+ t6 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
11212
+ t5,
11185
11213
  multipleDeleteButton,
11186
11214
  addButton
11187
11215
  ] });
11188
- $[35] = actions;
11189
- $[36] = addButton;
11190
- $[37] = multipleDeleteButton;
11191
- $[38] = t5;
11216
+ $[37] = addButton;
11217
+ $[38] = multipleDeleteButton;
11218
+ $[39] = t5;
11219
+ $[40] = t6;
11192
11220
  } else {
11193
- t5 = $[38];
11221
+ t6 = $[40];
11194
11222
  }
11195
- return t5;
11223
+ return t6;
11196
11224
  }
11197
11225
  function useDraggable({
11198
11226
  containerRef,
@@ -11533,7 +11561,7 @@
11533
11561
  } = t0;
11534
11562
  let t1;
11535
11563
  if ($[0] !== className) {
11536
- t1 = ui.cls("relative flex flex-row max-w-4xl lg:max-w-3xl xl:max-w-5xl 2xl:max-w-7xl w-full h-fit", className);
11564
+ t1 = ui.cls("relative flex flex-row max-w-4xl lg:max-w-3xl xl:max-w-4xl 2xl:max-w-6xl w-full h-fit", className);
11537
11565
  $[0] = className;
11538
11566
  $[1] = t1;
11539
11567
  } else {
@@ -11599,7 +11627,6 @@
11599
11627
  if (collection.customId && collection.formAutoSave) {
11600
11628
  console.warn(`The collection ${collection.path} has customId and formAutoSave enabled. This is not supported and formAutoSave will be ignored`);
11601
11629
  }
11602
- const actionsAtTheBottom = !largeLayout || layout === "side_panel";
11603
11630
  const [saving, setSaving] = React.useState(false);
11604
11631
  const [valuesToBeSaved, setValuesToBeSaved] = React.useState(void 0);
11605
11632
  useDebouncedCallback(valuesToBeSaved, () => {
@@ -11662,19 +11689,19 @@
11662
11689
  const autoSave = collection.formAutoSave && !collection.customId;
11663
11690
  const hasAdditionalViews = customViewsCount > 0 || subcollectionsCount > 0;
11664
11691
  const [usedEntity, setUsedEntity] = React.useState(entity);
11665
- const [readOnly, setReadOnly] = React.useState(void 0);
11666
11692
  const baseDataSourceValuesRef = React.useRef(cachedDirtyValues ?? getDataSourceEntityValues(initialResolvedCollection, status, usedEntity));
11667
11693
  React.useEffect(() => {
11668
11694
  if (entity) setUsedEntity(entity);
11669
11695
  }, [entity]);
11670
- React.useEffect(() => {
11671
- if (status === "new") {
11672
- setReadOnly(false);
11696
+ const canEdit = React.useMemo(() => {
11697
+ if (status === "new" || status === "copy") {
11698
+ return true;
11673
11699
  } else {
11674
- const editEnabled = usedEntity ? canEditEntity(collection, authController, path, usedEntity ?? null) : false;
11675
- if (usedEntity) setReadOnly(!editEnabled);
11700
+ return usedEntity ? canEditEntity(collection, authController, path, usedEntity ?? null) : false;
11676
11701
  }
11677
11702
  }, [authController, usedEntity, status]);
11703
+ const readOnly = !canEdit;
11704
+ console.log("readOnly", readOnly);
11678
11705
  const onPreSaveHookError = React.useCallback((e) => {
11679
11706
  setSaving(false);
11680
11707
  snackbarController.open({
@@ -11866,7 +11893,8 @@
11866
11893
  };
11867
11894
  const resolvedEntityViews = customViews ? customViews.map((e_4) => resolveEntityView(e_4, customizationController.entityViews)).filter(Boolean) : [];
11868
11895
  const selectedEntityView = resolvedEntityViews.find((e_5) => e_5.key === selectedTab);
11869
- const shouldShowEntityActions = selectedTab === MAIN_TAB_VALUE || selectedEntityView?.includeActions;
11896
+ const shouldShowEntityActions = !readOnly && (selectedTab === MAIN_TAB_VALUE || selectedEntityView?.includeActions);
11897
+ const actionsAtTheBottom = !largeLayout || layout === "side_panel" || shouldShowEntityActions === "bottom";
11870
11898
  const secondaryForms = customViews && resolvedEntityViews.filter((e_6) => e_6.includeActions).map((customView, colIndex) => {
11871
11899
  if (!customView) return null;
11872
11900
  const Builder = customView.Builder;
@@ -11874,7 +11902,7 @@
11874
11902
  console.error("customView.Builder is not defined");
11875
11903
  return null;
11876
11904
  }
11877
- return /* @__PURE__ */ jsxRuntime.jsx(FormLayout, { className: selectedTab !== customView.key ? "hidden" : "", formex: formex$1, children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: formContext && /* @__PURE__ */ jsxRuntime.jsx(Builder, { collection, entity: usedEntity, modifiedValues: formex$1.values ?? usedEntity?.values, formContext }) }) }, `custom_view_${customView.key}`);
11905
+ return /* @__PURE__ */ jsxRuntime.jsx(FormLayout, { className: selectedTab !== customView.key ? "hidden" : "", formex: formex$1, children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(Builder, { collection, entity: usedEntity, modifiedValues: formex$1.values ?? usedEntity?.values, formContext }) }) }, `custom_view_${customView.key}`);
11878
11906
  }).filter(Boolean);
11879
11907
  const customViewsView = customViews && resolvedEntityViews.filter((e_7) => !e_7.includeActions).map((customView_0, colIndex_0) => {
11880
11908
  if (!customView_0) return null;
@@ -11883,16 +11911,16 @@
11883
11911
  console.error("customView.Builder is not defined");
11884
11912
  return null;
11885
11913
  }
11886
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cls(ui.defaultBorderMixin, "relative flex-grow w-full h-full overflow-auto", {
11914
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cls(ui.defaultBorderMixin, "relative flex-1 w-full h-full overflow-auto", {
11887
11915
  "hidden": selectedTab !== customView_0.key
11888
- }), role: "tabpanel", children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: formContext && /* @__PURE__ */ jsxRuntime.jsx(Builder_0, { collection, entity: usedEntity, modifiedValues: formex$1.values ?? usedEntity?.values, formContext }) }) }, `custom_view_${customView_0.key}`);
11916
+ }), role: "tabpanel", children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(Builder_0, { collection, entity: usedEntity, modifiedValues: formex$1.values ?? usedEntity?.values, formContext }) }) }, `custom_view_${customView_0.key}`);
11889
11917
  }).filter(Boolean);
11890
11918
  const globalLoading = dataLoading && !usedEntity || (!usedEntity || readOnly === void 0) && (status === "existing" || status === "copy");
11891
11919
  const subCollectionsViews = subcollections && subcollections.map((subcollection, colIndex_1) => {
11892
11920
  const subcollectionId = subcollection.id ?? subcollection.path;
11893
11921
  const fullPath = usedEntity ? `${path}/${usedEntity?.id}/${removeInitialAndTrailingSlashes(subcollectionId)}` : void 0;
11894
11922
  if (selectedTab !== subcollectionId) return null;
11895
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-grow h-full overflow-auto w-full", role: "tabpanel", children: [
11923
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-1 h-full overflow-auto w-full", role: "tabpanel", children: [
11896
11924
  globalLoading || saving && /* @__PURE__ */ jsxRuntime.jsx(CircularProgressCenter, {}),
11897
11925
  !globalLoading && (usedEntity && fullPath ? /* @__PURE__ */ jsxRuntime.jsx(EntityCollectionView, { fullPath, parentCollectionIds: [...parentCollectionIds, collection.id], isSubCollection: true, updateUrl: false, ...subcollection, openEntityMode: layout }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-center w-full h-full p-3", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "label", children: "You need to save your entity before adding additional collections" }) }))
11898
11926
  ] }, `subcol_${subcollectionId}`);
@@ -12007,15 +12035,18 @@
12007
12035
  });
12008
12036
  }
12009
12037
  }, [formex$1.isSubmitting, autoSave, underlyingChanges, entity, formex$1.values, formex$1.touched, formex$1.setFieldValue]);
12010
- const formFields = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: getFormFieldKeys(resolvedCollection).map((key_1) => {
12011
- const property_0 = resolvedCollection.properties[key_1];
12038
+ const formFieldKeys = getFormFieldKeys(resolvedCollection);
12039
+ formFieldKeys.map((key_1) => resolvedCollection.properties[key_1]);
12040
+ const formFields = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-x-4 w-full space-y-8", children: formFieldKeys.map((key_2) => {
12041
+ const property_0 = resolvedCollection.properties[key_2];
12012
12042
  if (property_0) {
12013
- const underlyingValueHasChanged = !!underlyingChanges && Object.keys(underlyingChanges).includes(key_1) && formex$1.touched[key_1];
12043
+ const underlyingValueHasChanged = !!underlyingChanges && Object.keys(underlyingChanges).includes(key_2) && formex$1.touched[key_2];
12014
12044
  const disabled = !autoSave && formex$1.isSubmitting || isReadOnly(property_0) || Boolean(property_0.disabled);
12015
12045
  const hidden = isHidden(property_0);
12016
12046
  if (hidden) return null;
12047
+ const widthPercentage = property_0.widthPercentage ?? 100;
12017
12048
  const cmsFormFieldProps = {
12018
- propertyKey: key_1,
12049
+ propertyKey: key_2,
12019
12050
  disabled,
12020
12051
  property: property_0,
12021
12052
  includeDescription: property_0.description || property_0.longDescription,
@@ -12025,24 +12056,26 @@
12025
12056
  minimalistView: false,
12026
12057
  autoFocus: false
12027
12058
  };
12028
- return /* @__PURE__ */ jsxRuntime.jsx("div", { id: `form_field_${key_1}`, children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyFieldBinding, { ...cmsFormFieldProps }) }) }, `field_${resolvedCollection.name}_${key_1}`);
12059
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { id: `form_field_${key_2}`, className: "relative", style: {
12060
+ width: widthPercentage === 100 ? "100%" : `calc(${widthPercentage}% - 8px)`
12061
+ }, children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyFieldBinding, { ...cmsFormFieldProps }) }) }, `field_${resolvedCollection.name}_${key_2}`);
12029
12062
  }
12030
- const additionalField = resolvedCollection.additionalFields?.find((f) => f.key === key_1);
12063
+ const additionalField = resolvedCollection.additionalFields?.find((f) => f.key === key_2);
12031
12064
  if (additionalField && entity) {
12032
12065
  const Builder_1 = additionalField.Builder;
12033
12066
  if (!Builder_1 && !additionalField.value) {
12034
12067
  throw new Error("When using additional fields you need to provide a Builder or a value");
12035
12068
  }
12036
- const child = Builder_1 ? /* @__PURE__ */ jsxRuntime.jsx(Builder_1, { entity, context }) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: additionalField.value?.({
12069
+ const child = Builder_1 ? /* @__PURE__ */ jsxRuntime.jsx(Builder_1, { entity, context }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: additionalField.value?.({
12037
12070
  entity,
12038
12071
  context
12039
12072
  })?.toString() });
12040
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
12041
- /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey: key_1, icon: /* @__PURE__ */ jsxRuntime.jsx(ui.NotesIcon, { size: "small" }), title: additionalField.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" }),
12042
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cls(ui.paperMixin, "min-h-14 p-4 md:p-6 overflow-x-scroll no-scrollbar"), children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: child }) })
12043
- ] }, `additional_${key_1}`);
12073
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
12074
+ /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey: key_2, icon: /* @__PURE__ */ jsxRuntime.jsx(ui.NotesIcon, { size: "small" }), title: additionalField.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" }),
12075
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cls(ui.paperMixin, "w-full min-h-14 p-4 md:p-6 overflow-x-scroll no-scrollbar"), children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: child }) })
12076
+ ] }, `additional_${key_2}`);
12044
12077
  }
12045
- console.warn(`Property ${key_1} not found in collection ${resolvedCollection.name} in properties or additional fields. Skipping.`);
12078
+ console.warn(`Property ${key_2} not found in collection ${resolvedCollection.name} in properties or additional fields. Skipping.`);
12046
12079
  return null;
12047
12080
  }).filter(Boolean) });
12048
12081
  const disabled_0 = formex$1.isSubmitting || !modified && status === "existing";
@@ -12084,7 +12117,7 @@
12084
12117
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full py-2 flex flex-col items-start mt-4 lg:mt-8 mb-8", children: [
12085
12118
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { className: "mt-4 flex-grow line-clamp-1 " + inputCollection.hideIdFromForm ? "mb-2" : "mb-0", variant: "h4", children: title ?? inputCollection.singularName ?? inputCollection.name }),
12086
12119
  /* @__PURE__ */ jsxRuntime.jsx(ui.Alert, { color: "base", className: "w-full", size: "small", children: /* @__PURE__ */ jsxRuntime.jsxs("code", { className: "text-xs select-all text-text-secondary dark:text-text-secondary-dark", children: [
12087
- path,
12120
+ entity?.path ?? path,
12088
12121
  "/",
12089
12122
  entityId
12090
12123
  ] }) })
@@ -12095,9 +12128,9 @@
12095
12128
  /* @__PURE__ */ jsxRuntime.jsx(ErrorFocus, { containerRef: formRef })
12096
12129
  ] }) }),
12097
12130
  actionsAtTheBottom && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-16" })
12098
- ] }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12131
+ ] }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
12099
12132
  /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { className: "mt-16 mb-8 mx-8", variant: "h4", children: collection.singularName ?? collection.name }),
12100
- /* @__PURE__ */ jsxRuntime.jsx(EntityView, { className: "px-12", entity: usedEntity, path, collection })
12133
+ /* @__PURE__ */ jsxRuntime.jsx(EntityView, { className: "px-8", entity: usedEntity, path, collection })
12101
12134
  ] });
12102
12135
  const subcollectionTabs = subcollections && subcollections.map((subcollection_0) => /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { className: "text-sm min-w-[120px]", value: subcollection_0.id, children: subcollection_0.name }, `entity_detail_collection_tab_${subcollection_0.name}`));
12103
12136
  const customViewTabs = resolvedEntityViews.map((view) => /* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { className: "text-sm min-w-[120px]", value: view.key, children: view.name }, `entity_detail_collection_tab_${view.name}`));
@@ -12105,6 +12138,7 @@
12105
12138
  if (entityId && onIdChange) onIdChange(entityId);
12106
12139
  }, [entityId, onIdChange]);
12107
12140
  const shouldShowTopBar = Boolean(barActions) || hasAdditionalViews;
12141
+ const shouldIncludeForm = selectedTab === MAIN_TAB_VALUE || selectedEntityView?.includeActions;
12108
12142
  let result = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col h-full w-full bg-white dark:bg-surface-900", children: [
12109
12143
  shouldShowTopBar && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cls("h-14 flex overflow-visible overflow-x-scroll w-full no-scrollbar h-14 border-b pl-2 pr-2 pt-1 flex items-end bg-surface-50 dark:bg-surface-900", ui.defaultBorderMixin), children: [
12110
12144
  barActions,
@@ -12124,7 +12158,7 @@
12124
12158
  values: getDataSourceEntityValues(initialResolvedCollection, status, entity)
12125
12159
  });
12126
12160
  return onDiscard();
12127
- }, noValidate: true, className: "flex-1 flex flex-row w-full overflow-y-auto justify-center", children: [
12161
+ }, noValidate: true, className: ui.cls("flex-1 flex flex-row w-full overflow-y-auto justify-center", shouldIncludeForm ? "" : "hidden"), children: [
12128
12162
  /* @__PURE__ */ jsxRuntime.jsx(FormLayout, { className: !mainViewVisible ? "hidden" : "", id: `form_${path}`, formex: formex$1, children: globalLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full pt-12 pb-16 px-4 sm:px-8 md:px-10", children: /* @__PURE__ */ jsxRuntime.jsx(CircularProgressCenter, {}) }) : entityView }),
12129
12163
  secondaryForms,
12130
12164
  shouldShowEntityActions && dialogActions
@@ -12183,6 +12217,7 @@
12183
12217
  pluginActions,
12184
12218
  layout
12185
12219
  }) {
12220
+ const canClose = layout === "side_panel";
12186
12221
  return /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogActions, { position: "absolute", children: [
12187
12222
  savingError && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { color: "error", children: savingError.message }) }),
12188
12223
  entity && formActions.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-grow flex overflow-auto no-scrollbar", children: formActions.map((action) => /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", onClick: (event) => {
@@ -12198,14 +12233,14 @@
12198
12233
  }, children: action.icon }, action.name)) }),
12199
12234
  pluginActions,
12200
12235
  /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", disabled: disabled || isSubmitting, type: "reset", children: status === "existing" ? "Discard" : "Clear" }),
12201
- /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", color: "primary", type: "submit", disabled: disabled || isSubmitting, onClick: () => {
12236
+ /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: canClose ? "text" : "filled", color: "primary", type: "submit", disabled: disabled || isSubmitting, onClick: () => {
12202
12237
  setPendingClose?.(false);
12203
12238
  }, children: [
12204
12239
  status === "existing" && "Save",
12205
12240
  status === "copy" && "Create copy",
12206
12241
  status === "new" && "Create"
12207
12242
  ] }),
12208
- /* @__PURE__ */ jsxRuntime.jsxs(ui.LoadingButton, { variant: "filled", color: "primary", type: "submit", loading: isSubmitting, disabled, onClick: () => {
12243
+ canClose && /* @__PURE__ */ jsxRuntime.jsxs(ui.LoadingButton, { variant: "filled", color: "primary", type: "submit", loading: isSubmitting, disabled, onClick: () => {
12209
12244
  setPendingClose?.(true);
12210
12245
  }, children: [
12211
12246
  status === "existing" && "Save and close",
@@ -12227,7 +12262,7 @@
12227
12262
  setPendingClose,
12228
12263
  pluginActions
12229
12264
  }) {
12230
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cls("overflow-auto h-full flex flex-col gap-2 w-80 xl:w-96 px-4 py-16 sticky top-0 border-l", ui.defaultBorderMixin), children: [
12265
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cls("overflow-auto h-full flex flex-col gap-2 w-80 2xl:w-96 px-4 py-16 sticky top-0 border-l", ui.defaultBorderMixin), children: [
12231
12266
  /* @__PURE__ */ jsxRuntime.jsxs(ui.LoadingButton, { fullWidth: true, variant: "filled", color: "primary", type: "submit", size: "large", disabled: disabled || isSubmitting, onClick: () => {
12232
12267
  setPendingClose?.(false);
12233
12268
  }, children: [
@@ -14069,7 +14104,7 @@
14069
14104
  ] });
14070
14105
  }
14071
14106
  const UPDATE_SEARCH_INDEX_WAIT_MS = 220;
14072
- if (iconSynonyms && process.env.NODE_ENV !== "production") {
14107
+ if (process.env.NODE_ENV !== "production") {
14073
14108
  Object.keys(iconSynonyms).forEach((icon) => {
14074
14109
  if (!ui.iconKeys.includes(icon)) {
14075
14110
  console.warn(`The icon ${icon} no longer exists. Remove it from \`iconSynonyms\``);
@@ -14287,9 +14322,8 @@
14287
14322
  const subpathCombination = subpathCombinations[i];
14288
14323
  const collection = collections && collections.find((entry) => entry.id === subpathCombination || entry.path === subpathCombination);
14289
14324
  if (collection) {
14290
- const path2 = collection.path;
14291
- const collectionPath = currentFullPath && currentFullPath.length > 0 ? currentFullPath + "/" + path2 : path2;
14292
- const restOfThePath = removeInitialAndTrailingSlashes(removeInitialAndTrailingSlashes(path2).replace(subpathCombination, ""));
14325
+ const collectionPath = currentFullPath && currentFullPath.length > 0 ? currentFullPath + "/" + collection.path : collection.path;
14326
+ const restOfThePath = removeInitialAndTrailingSlashes(removeInitialAndTrailingSlashes(path).replace(subpathCombination, ""));
14293
14327
  const nextSegments = restOfThePath.length > 0 ? restOfThePath.split("/") : [];
14294
14328
  if (nextSegments.length > 0) {
14295
14329
  const entityId = nextSegments[0];
@@ -16421,7 +16455,7 @@
16421
16455
  return t3;
16422
16456
  }
16423
16457
  function MapPropertyPreview(t0) {
16424
- const $ = reactCompilerRuntime.c(12);
16458
+ const $ = reactCompilerRuntime.c(15);
16425
16459
  const {
16426
16460
  value,
16427
16461
  property,
@@ -16446,53 +16480,50 @@
16446
16480
  return null;
16447
16481
  }
16448
16482
  let t1;
16449
- let t2;
16450
- let t3;
16451
- if ($[2] !== mapProperty.name || $[3] !== mapProperty.properties || $[4] !== size || $[5] !== value) {
16452
- t3 = Symbol.for("react.early_return_sentinel");
16453
- bb0: {
16454
- const mapPropertyKeys = Object.keys(mapProperty.properties);
16455
- if (size === "small") {
16456
- t3 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full flex flex-col space-y-1 md:space-y-2", children: mapPropertyKeys.map((key, index) => /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { propertyKey: key, value: value[key], property: mapProperty.properties[key], size }) }, "map_preview_" + mapProperty.name + key + index) }, `map_${key}`)) });
16457
- break bb0;
16458
- }
16459
- t1 = "flex flex-col gap-1 w-full";
16460
- t2 = mapPropertyKeys && mapPropertyKeys.map((key_0, index_0) => {
16461
- const childProperty = mapProperty.properties[key_0];
16462
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cls(ui.defaultBorderMixin, "last:border-b-0 border-b"), children: [
16463
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row pt-0.5 pb-0.5 gap-2", children: [
16464
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-[140px] w-[25%] py-1", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", className: "font-mono break-words", color: "secondary", children: childProperty.name }) }),
16465
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-grow max-w-[75%]", children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: !(childProperty.dataType === "map" || childProperty === "array") && /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { propertyKey: key_0, value: value[key_0], property: childProperty, size }) }) })
16466
- ] }),
16467
- (childProperty.dataType === "map" || childProperty === "array") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cls(ui.defaultBorderMixin, "border-l pl-4 ml-2 my-2"), children: /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { propertyKey: key_0, value: value[key_0], property: childProperty, size }) })
16468
- ] }, `map_preview_table_${key_0}}`);
16469
- });
16470
- }
16471
- $[2] = mapProperty.name;
16472
- $[3] = mapProperty.properties;
16473
- $[4] = size;
16474
- $[5] = value;
16475
- $[6] = t1;
16476
- $[7] = t2;
16477
- $[8] = t3;
16483
+ if ($[2] !== mapProperty.properties) {
16484
+ t1 = Object.keys(mapProperty.properties);
16485
+ $[2] = mapProperty.properties;
16486
+ $[3] = t1;
16478
16487
  } else {
16479
- t1 = $[6];
16480
- t2 = $[7];
16481
- t3 = $[8];
16488
+ t1 = $[3];
16482
16489
  }
16483
- if (t3 !== Symbol.for("react.early_return_sentinel")) {
16484
- return t3;
16490
+ const mapPropertyKeys = t1;
16491
+ if (size === "small") {
16492
+ let t22;
16493
+ if ($[4] !== mapProperty.name || $[5] !== mapProperty.properties || $[6] !== mapPropertyKeys || $[7] !== size || $[8] !== value) {
16494
+ t22 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full flex flex-col space-y-1 md:space-y-2", children: mapPropertyKeys.map((key, index) => /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { propertyKey: key, value: value[key], property: mapProperty.properties[key], size }) }, "map_preview_" + mapProperty.name + key + index) }, `map_${key}`)) });
16495
+ $[4] = mapProperty.name;
16496
+ $[5] = mapProperty.properties;
16497
+ $[6] = mapPropertyKeys;
16498
+ $[7] = size;
16499
+ $[8] = value;
16500
+ $[9] = t22;
16501
+ } else {
16502
+ t22 = $[9];
16503
+ }
16504
+ return t22;
16485
16505
  }
16486
- let t4;
16487
- if ($[9] !== t1 || $[10] !== t2) {
16488
- t4 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t1, children: t2 });
16489
- $[9] = t1;
16490
- $[10] = t2;
16491
- $[11] = t4;
16506
+ let t2;
16507
+ if ($[10] !== mapProperty.properties || $[11] !== mapPropertyKeys || $[12] !== size || $[13] !== value) {
16508
+ t2 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1 w-full", children: mapPropertyKeys && mapPropertyKeys.map((key_0, index_0) => {
16509
+ const childProperty = mapProperty.properties[key_0];
16510
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: ui.cls(ui.defaultBorderMixin, "last:border-b-0 border-b"), children: [
16511
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row pt-0.5 pb-0.5 gap-2", children: [
16512
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-[140px] w-[25%] py-1", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", className: "font-mono break-words", color: "secondary", children: childProperty.name }) }),
16513
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-grow max-w-[75%]", children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: !(childProperty.dataType === "map" || childProperty === "array") && /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { propertyKey: key_0, value: value[key_0], property: childProperty, size }) }) })
16514
+ ] }),
16515
+ (childProperty.dataType === "map" || childProperty === "array") && /* @__PURE__ */ jsxRuntime.jsx("div", { className: ui.cls(ui.defaultBorderMixin, "border-l pl-4 ml-2 my-2"), children: /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { propertyKey: key_0, value: value[key_0], property: childProperty, size }) })
16516
+ ] }, `map_preview_table_${key_0}}`);
16517
+ }) });
16518
+ $[10] = mapProperty.properties;
16519
+ $[11] = mapPropertyKeys;
16520
+ $[12] = size;
16521
+ $[13] = value;
16522
+ $[14] = t2;
16492
16523
  } else {
16493
- t4 = $[11];
16524
+ t2 = $[14];
16494
16525
  }
16495
- return t4;
16526
+ return t2;
16496
16527
  }
16497
16528
  function KeyValuePreview(t0) {
16498
16529
  const $ = reactCompilerRuntime.c(5);
@@ -17129,7 +17160,7 @@
17129
17160
  const t10 = property.validation?.required;
17130
17161
  let t11;
17131
17162
  if ($[13] !== property.name || $[14] !== t10 || $[15] !== t9) {
17132
- t11 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIcon, { icon: t9, required: t10, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" });
17163
+ t11 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIcon, { icon: t9, required: t10, title: property.name, className: "h-8 text-text-secondary dark:text-text-secondary-dark ml-3.5 my-0" });
17133
17164
  $[13] = property.name;
17134
17165
  $[14] = t10;
17135
17166
  $[15] = t9;
@@ -17260,7 +17291,7 @@
17260
17291
  ] }, enumKey);
17261
17292
  }, [enumValues, setValue, value]);
17262
17293
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17263
- /* @__PURE__ */ jsxRuntime.jsx(ui.MultiSelect, { className: "w-full mt-2", size: size === "medium" ? "medium" : "small", value: validValue ? value.map((v_0) => v_0.toString()) : [], disabled, modalPopover: true, label: /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" }), onValueChange: (updatedValue) => {
17294
+ /* @__PURE__ */ jsxRuntime.jsx(ui.MultiSelect, { className: "w-full mt-2", size: size === "medium" ? "medium" : "small", value: validValue ? value.map((v_0) => v_0.toString()) : [], disabled, modalPopover: true, label: /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "h-8 text-text-secondary dark:text-text-secondary-dark ml-3.5" }), onValueChange: (updatedValue) => {
17264
17295
  let newValue;
17265
17296
  if (of && of?.dataType === "number") {
17266
17297
  newValue = updatedValue ? updatedValue.map((e_1) => parseFloat(e_1)) : [];
@@ -17330,7 +17361,7 @@
17330
17361
  return /* @__PURE__ */ jsxRuntime.jsx(ReferencePreview, { disabled: !ofProperty.path, previewProperties: ofProperty.previewProperties, size: "medium", onClick: onEntryClick, hover: !disabled, reference: entryValue, includeId: ofProperty.includeId, includeEntityLink: ofProperty.includeEntityLink }, internalId);
17331
17362
  }, [ofProperty.path, ofProperty.previewProperties, value]);
17332
17363
  const title = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
17333
- /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "flex flex-grow text-text-secondary dark:text-text-secondary-dark" }),
17364
+ /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "h-8 flex flex-grow text-text-secondary dark:text-text-secondary-dark" }),
17334
17365
  Array.isArray(value) && /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "px-4", children: [
17335
17366
  "(",
17336
17367
  value.length,
@@ -17529,7 +17560,7 @@
17529
17560
  const resolvedProperty = t6;
17530
17561
  let t7;
17531
17562
  if ($[19] !== minimalistView || $[20] !== property || $[21] !== propertyKey) {
17532
- t7 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" });
17563
+ t7 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "h-8text-text-secondary dark:text-text-secondary-dark ml-3.5" });
17533
17564
  $[19] = minimalistView;
17534
17565
  $[20] = property;
17535
17566
  $[21] = propertyKey;
@@ -17891,7 +17922,7 @@
17891
17922
  } }) });
17892
17923
  }
17893
17924
  function TextFieldBinding(t0) {
17894
- const $ = reactCompilerRuntime.c(51);
17925
+ const $ = reactCompilerRuntime.c(52);
17895
17926
  const {
17896
17927
  propertyKey,
17897
17928
  value,
@@ -17972,26 +18003,26 @@
17972
18003
  isMultiline = $[10];
17973
18004
  onChange = $[11];
17974
18005
  }
17975
- let t4;
18006
+ const t4 = property.widthPercentage !== void 0 ? "mt-8" : void 0;
18007
+ let t5;
17976
18008
  if ($[12] !== property) {
17977
- t4 = getIconForProperty(property, "small");
18009
+ t5 = getIconForProperty(property, "small");
17978
18010
  $[12] = property;
17979
- $[13] = t4;
18011
+ $[13] = t5;
17980
18012
  } else {
17981
- t4 = $[13];
18013
+ t5 = $[13];
17982
18014
  }
17983
- const t5 = property.validation?.required;
17984
- let t6;
17985
- if ($[14] !== property.name || $[15] !== t4 || $[16] !== t5) {
17986
- t6 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIcon, { icon: t4, required: t5, title: property.name });
18015
+ const t6 = property.validation?.required;
18016
+ let t7;
18017
+ if ($[14] !== property.name || $[15] !== t5 || $[16] !== t6) {
18018
+ t7 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIcon, { icon: t5, required: t6, title: property.name });
17987
18019
  $[14] = property.name;
17988
- $[15] = t4;
17989
- $[16] = t5;
17990
- $[17] = t6;
18020
+ $[15] = t5;
18021
+ $[16] = t6;
18022
+ $[17] = t7;
17991
18023
  } else {
17992
- t6 = $[17];
18024
+ t7 = $[17];
17993
18025
  }
17994
- const t7 = inputType;
17995
18026
  let t8;
17996
18027
  if ($[18] !== handleClearClick || $[19] !== property.clearable) {
17997
18028
  t8 = property.clearable && /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { onClick: handleClearClick, children: /* @__PURE__ */ jsxRuntime.jsx(ui.CloseIcon, {}) });
@@ -18004,73 +18035,74 @@
18004
18035
  const t9 = showError ? error : void 0;
18005
18036
  const t10 = error ? "text-red-500 dark:text-red-600" : "";
18006
18037
  let t11;
18007
- if ($[21] !== autoFocus || $[22] !== disabled || $[23] !== isMultiline || $[24] !== onChange || $[25] !== size || $[26] !== t10 || $[27] !== t6 || $[28] !== t7 || $[29] !== t8 || $[30] !== t9 || $[31] !== value) {
18008
- t11 = /* @__PURE__ */ jsxRuntime.jsx(ui.TextField, { size, value, onChange, autoFocus, label: t6, type: t7, multiline: isMultiline, disabled, endAdornment: t8, error: t9, inputClassName: t10 });
18038
+ if ($[21] !== autoFocus || $[22] !== disabled || $[23] !== inputType || $[24] !== isMultiline || $[25] !== onChange || $[26] !== size || $[27] !== t10 || $[28] !== t4 || $[29] !== t7 || $[30] !== t8 || $[31] !== t9 || $[32] !== value) {
18039
+ t11 = /* @__PURE__ */ jsxRuntime.jsx(ui.TextField, { size, value, onChange, autoFocus, className: t4, label: t7, type: inputType, multiline: isMultiline, disabled, endAdornment: t8, error: t9, inputClassName: t10 });
18009
18040
  $[21] = autoFocus;
18010
18041
  $[22] = disabled;
18011
- $[23] = isMultiline;
18012
- $[24] = onChange;
18013
- $[25] = size;
18014
- $[26] = t10;
18015
- $[27] = t6;
18016
- $[28] = t7;
18017
- $[29] = t8;
18018
- $[30] = t9;
18019
- $[31] = value;
18020
- $[32] = t11;
18042
+ $[23] = inputType;
18043
+ $[24] = isMultiline;
18044
+ $[25] = onChange;
18045
+ $[26] = size;
18046
+ $[27] = t10;
18047
+ $[28] = t4;
18048
+ $[29] = t7;
18049
+ $[30] = t8;
18050
+ $[31] = t9;
18051
+ $[32] = value;
18052
+ $[33] = t11;
18021
18053
  } else {
18022
- t11 = $[32];
18054
+ t11 = $[33];
18023
18055
  }
18024
18056
  let t12;
18025
- if ($[33] !== propertyKey || $[34] !== t11) {
18057
+ if ($[34] !== propertyKey || $[35] !== t11) {
18026
18058
  t12 = /* @__PURE__ */ jsxRuntime.jsx(PropertyIdCopyTooltip, { propertyKey, children: t11 });
18027
- $[33] = propertyKey;
18028
- $[34] = t11;
18029
- $[35] = t12;
18059
+ $[34] = propertyKey;
18060
+ $[35] = t11;
18061
+ $[36] = t12;
18030
18062
  } else {
18031
- t12 = $[35];
18063
+ t12 = $[36];
18032
18064
  }
18033
18065
  let t13;
18034
- if ($[36] !== disabled || $[37] !== error || $[38] !== includeDescription || $[39] !== property || $[40] !== showError) {
18066
+ if ($[37] !== disabled || $[38] !== error || $[39] !== includeDescription || $[40] !== property || $[41] !== showError) {
18035
18067
  t13 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError, error, disabled, property });
18036
- $[36] = disabled;
18037
- $[37] = error;
18038
- $[38] = includeDescription;
18039
- $[39] = property;
18040
- $[40] = showError;
18041
- $[41] = t13;
18068
+ $[37] = disabled;
18069
+ $[38] = error;
18070
+ $[39] = includeDescription;
18071
+ $[40] = property;
18072
+ $[41] = showError;
18073
+ $[42] = t13;
18042
18074
  } else {
18043
- t13 = $[41];
18075
+ t13 = $[42];
18044
18076
  }
18045
18077
  let t14;
18046
- if ($[42] !== property || $[43] !== size || $[44] !== url || $[45] !== value) {
18078
+ if ($[43] !== property || $[44] !== size || $[45] !== url || $[46] !== value) {
18047
18079
  t14 = url && /* @__PURE__ */ jsxRuntime.jsx(ui.Collapse, { className: "mt-1 ml-1", in: Boolean(value), children: /* @__PURE__ */ jsxRuntime.jsx(PropertyPreview, { value, property, size }) });
18048
- $[42] = property;
18049
- $[43] = size;
18050
- $[44] = url;
18051
- $[45] = value;
18052
- $[46] = t14;
18080
+ $[43] = property;
18081
+ $[44] = size;
18082
+ $[45] = url;
18083
+ $[46] = value;
18084
+ $[47] = t14;
18053
18085
  } else {
18054
- t14 = $[46];
18086
+ t14 = $[47];
18055
18087
  }
18056
18088
  let t15;
18057
- if ($[47] !== t12 || $[48] !== t13 || $[49] !== t14) {
18089
+ if ($[48] !== t12 || $[49] !== t13 || $[50] !== t14) {
18058
18090
  t15 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18059
18091
  t12,
18060
18092
  t13,
18061
18093
  t14
18062
18094
  ] });
18063
- $[47] = t12;
18064
- $[48] = t13;
18065
- $[49] = t14;
18066
- $[50] = t15;
18095
+ $[48] = t12;
18096
+ $[49] = t13;
18097
+ $[50] = t14;
18098
+ $[51] = t15;
18067
18099
  } else {
18068
- t15 = $[50];
18100
+ t15 = $[51];
18069
18101
  }
18070
18102
  return t15;
18071
18103
  }
18072
18104
  const SwitchFieldBinding = function SwitchFieldBinding2(t0) {
18073
- const $ = reactCompilerRuntime.c(32);
18105
+ const $ = reactCompilerRuntime.c(33);
18074
18106
  const {
18075
18107
  propertyKey,
18076
18108
  value,
@@ -18107,73 +18139,75 @@
18107
18139
  } else {
18108
18140
  t3 = $[5];
18109
18141
  }
18110
- let t4;
18142
+ const t4 = property.widthPercentage !== void 0 ? "mt-8" : void 0;
18143
+ let t5;
18111
18144
  if ($[6] !== property) {
18112
- t4 = getIconForProperty(property, "small");
18145
+ t5 = getIconForProperty(property, "small");
18113
18146
  $[6] = property;
18114
- $[7] = t4;
18147
+ $[7] = t5;
18115
18148
  } else {
18116
- t4 = $[7];
18149
+ t5 = $[7];
18117
18150
  }
18118
- const t5 = property.validation?.required;
18119
- let t6;
18120
- if ($[8] !== property.name || $[9] !== t4 || $[10] !== t5) {
18121
- t6 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIcon, { icon: t4, required: t5, title: property.name });
18151
+ const t6 = property.validation?.required;
18152
+ let t7;
18153
+ if ($[8] !== property.name || $[9] !== t5 || $[10] !== t6) {
18154
+ t7 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIcon, { icon: t5, required: t6, title: property.name });
18122
18155
  $[8] = property.name;
18123
- $[9] = t4;
18124
- $[10] = t5;
18125
- $[11] = t6;
18156
+ $[9] = t5;
18157
+ $[10] = t6;
18158
+ $[11] = t7;
18126
18159
  } else {
18127
- t6 = $[11];
18160
+ t7 = $[11];
18128
18161
  }
18129
- let t7;
18130
- if ($[12] !== autoFocus || $[13] !== disabled || $[14] !== showError || $[15] !== size || $[16] !== t3 || $[17] !== t6 || $[18] !== value) {
18131
- t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { value, onValueChange: t3, error: showError, label: t6, disabled, autoFocus, size });
18162
+ let t8;
18163
+ if ($[12] !== autoFocus || $[13] !== disabled || $[14] !== showError || $[15] !== size || $[16] !== t3 || $[17] !== t4 || $[18] !== t7 || $[19] !== value) {
18164
+ t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.BooleanSwitchWithLabel, { value, onValueChange: t3, error: showError, className: t4, label: t7, disabled, autoFocus, size });
18132
18165
  $[12] = autoFocus;
18133
18166
  $[13] = disabled;
18134
18167
  $[14] = showError;
18135
18168
  $[15] = size;
18136
18169
  $[16] = t3;
18137
- $[17] = t6;
18138
- $[18] = value;
18139
- $[19] = t7;
18170
+ $[17] = t4;
18171
+ $[18] = t7;
18172
+ $[19] = value;
18173
+ $[20] = t8;
18140
18174
  } else {
18141
- t7 = $[19];
18175
+ t8 = $[20];
18142
18176
  }
18143
- let t8;
18144
- if ($[20] !== propertyKey || $[21] !== t7) {
18145
- t8 = /* @__PURE__ */ jsxRuntime.jsx(PropertyIdCopyTooltip, { propertyKey, children: t7 });
18146
- $[20] = propertyKey;
18147
- $[21] = t7;
18177
+ let t9;
18178
+ if ($[21] !== propertyKey || $[22] !== t8) {
18179
+ t9 = /* @__PURE__ */ jsxRuntime.jsx(PropertyIdCopyTooltip, { propertyKey, children: t8 });
18180
+ $[21] = propertyKey;
18148
18181
  $[22] = t8;
18182
+ $[23] = t9;
18149
18183
  } else {
18150
- t8 = $[22];
18184
+ t9 = $[23];
18151
18185
  }
18152
- let t9;
18153
- if ($[23] !== disabled || $[24] !== error || $[25] !== includeDescription || $[26] !== property || $[27] !== showError) {
18154
- t9 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError, error, disabled, property });
18155
- $[23] = disabled;
18156
- $[24] = error;
18157
- $[25] = includeDescription;
18158
- $[26] = property;
18159
- $[27] = showError;
18160
- $[28] = t9;
18186
+ let t10;
18187
+ if ($[24] !== disabled || $[25] !== error || $[26] !== includeDescription || $[27] !== property || $[28] !== showError) {
18188
+ t10 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError, error, disabled, property });
18189
+ $[24] = disabled;
18190
+ $[25] = error;
18191
+ $[26] = includeDescription;
18192
+ $[27] = property;
18193
+ $[28] = showError;
18194
+ $[29] = t10;
18161
18195
  } else {
18162
- t9 = $[28];
18196
+ t10 = $[29];
18163
18197
  }
18164
- let t10;
18165
- if ($[29] !== t8 || $[30] !== t9) {
18166
- t10 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18167
- t8,
18168
- t9
18198
+ let t11;
18199
+ if ($[30] !== t10 || $[31] !== t9) {
18200
+ t11 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18201
+ t9,
18202
+ t10
18169
18203
  ] });
18170
- $[29] = t8;
18171
- $[30] = t9;
18172
- $[31] = t10;
18204
+ $[30] = t10;
18205
+ $[31] = t9;
18206
+ $[32] = t11;
18173
18207
  } else {
18174
- t10 = $[31];
18208
+ t11 = $[32];
18175
18209
  }
18176
- return t10;
18210
+ return t11;
18177
18211
  };
18178
18212
  function DateTimeFieldBinding(t0) {
18179
18213
  const $ = reactCompilerRuntime.c(33);
@@ -18303,7 +18337,7 @@
18303
18337
  }
18304
18338
  let t1;
18305
18339
  if ($[0] !== minimalistView || $[1] !== property || $[2] !== propertyKey) {
18306
- t1 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" });
18340
+ t1 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "h-8 text-text-secondary dark:text-text-secondary-dark ml-3.5" });
18307
18341
  $[0] = minimalistView;
18308
18342
  $[1] = property;
18309
18343
  $[2] = propertyKey;
@@ -18313,7 +18347,7 @@
18313
18347
  }
18314
18348
  let t2;
18315
18349
  if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
18316
- t2 = ui.cls(ui.paperMixin, "min-h-14 p-4 md:p-6 overflow-x-scroll no-scrollbar");
18350
+ t2 = ui.cls(ui.paperMixin, "w-full min-h-14 p-4 md:p-6 overflow-x-scroll no-scrollbar");
18317
18351
  $[4] = t2;
18318
18352
  } else {
18319
18353
  t2 = $[4];
@@ -18425,7 +18459,7 @@
18425
18459
  referenceDialogController.open();
18426
18460
  };
18427
18461
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18428
- !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" }),
18462
+ !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "h-8 text-text-secondary dark:text-text-secondary-dark ml-3.5" }),
18429
18463
  !collection && /* @__PURE__ */ jsxRuntime.jsx(ErrorView, { error: "The specified collection does not exist. Check console" }),
18430
18464
  collection && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18431
18465
  value && /* @__PURE__ */ jsxRuntime.jsx(ReferencePreview, { disabled: !property.path, previewProperties: property.previewProperties, hover: !disabled, size, onClick: disabled || isSubmitting ? void 0 : onEntryClick, reference: value, includeEntityLink: property.includeEntityLink, includeId: property.includeId }),
@@ -18527,7 +18561,7 @@
18527
18561
  if (!Component) {
18528
18562
  console.warn(`No field component found for property ${propertyKey}`);
18529
18563
  console.warn("Property:", property);
18530
- return /* @__PURE__ */ jsxRuntime.jsx("div", { children: `Currently the field ${resolvedProperty.dataType} is not supported` });
18564
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: `Currently the field ${resolvedProperty.dataType} is not supported` });
18531
18565
  }
18532
18566
  const componentProps = {
18533
18567
  propertyKey,
@@ -18691,7 +18725,7 @@
18691
18725
  return wrapperRef.current;
18692
18726
  }
18693
18727
  function MapFieldBinding(t0) {
18694
- const $ = reactCompilerRuntime.c(48);
18728
+ const $ = reactCompilerRuntime.c(40);
18695
18729
  const {
18696
18730
  propertyKey,
18697
18731
  value,
@@ -18717,15 +18751,7 @@
18717
18751
  if (value) {
18718
18752
  let t12;
18719
18753
  if ($[0] !== property.properties || $[1] !== value) {
18720
- let t22;
18721
- if ($[3] !== property.properties) {
18722
- t22 = (key) => key in property.properties;
18723
- $[3] = property.properties;
18724
- $[4] = t22;
18725
- } else {
18726
- t22 = $[4];
18727
- }
18728
- t12 = pick(property.properties, ...Object.keys(value).filter(t22));
18754
+ t12 = pick(property.properties, ...Object.keys(value).filter((key) => key in property.properties));
18729
18755
  $[0] = property.properties;
18730
18756
  $[1] = value;
18731
18757
  $[2] = t12;
@@ -18735,11 +18761,11 @@
18735
18761
  mapProperties = t12;
18736
18762
  } else {
18737
18763
  let t12;
18738
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
18764
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
18739
18765
  t12 = {};
18740
- $[5] = t12;
18766
+ $[3] = t12;
18741
18767
  } else {
18742
- t12 = $[5];
18768
+ t12 = $[3];
18743
18769
  }
18744
18770
  mapProperties = t12;
18745
18771
  }
@@ -18747,9 +18773,9 @@
18747
18773
  mapProperties = property.properties;
18748
18774
  }
18749
18775
  let t1;
18750
- if ($[6] !== autoFocus || $[7] !== context || $[8] !== disabled || $[9] !== includeDescription || $[10] !== mapProperties || $[11] !== onPropertyChange || $[12] !== propertyKey || $[13] !== underlyingValueHasChanged) {
18776
+ if ($[4] !== autoFocus || $[5] !== context || $[6] !== disabled || $[7] !== includeDescription || $[8] !== mapProperties || $[9] !== onPropertyChange || $[10] !== propertyKey || $[11] !== underlyingValueHasChanged) {
18751
18777
  let t22;
18752
- if ($[15] !== autoFocus || $[16] !== context || $[17] !== disabled || $[18] !== includeDescription || $[19] !== onPropertyChange || $[20] !== propertyKey || $[21] !== underlyingValueHasChanged) {
18778
+ if ($[13] !== autoFocus || $[14] !== context || $[15] !== disabled || $[16] !== includeDescription || $[17] !== onPropertyChange || $[18] !== propertyKey || $[19] !== underlyingValueHasChanged) {
18753
18779
  t22 = (t32, index) => {
18754
18780
  const [entryKey, childProperty] = t32;
18755
18781
  const thisDisabled = isReadOnly(childProperty) || Boolean(childProperty.disabled);
@@ -18773,106 +18799,86 @@
18773
18799
  };
18774
18800
  return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyFieldBinding, { ...fieldBindingProps }) }) }, `map-${propertyKey}-${index}`);
18775
18801
  };
18776
- $[15] = autoFocus;
18777
- $[16] = context;
18778
- $[17] = disabled;
18779
- $[18] = includeDescription;
18780
- $[19] = onPropertyChange;
18781
- $[20] = propertyKey;
18782
- $[21] = underlyingValueHasChanged;
18783
- $[22] = t22;
18802
+ $[13] = autoFocus;
18803
+ $[14] = context;
18804
+ $[15] = disabled;
18805
+ $[16] = includeDescription;
18806
+ $[17] = onPropertyChange;
18807
+ $[18] = propertyKey;
18808
+ $[19] = underlyingValueHasChanged;
18809
+ $[20] = t22;
18784
18810
  } else {
18785
- t22 = $[22];
18811
+ t22 = $[20];
18786
18812
  }
18787
18813
  t1 = Object.entries(mapProperties).filter(_temp$7).map(t22);
18788
- $[6] = autoFocus;
18789
- $[7] = context;
18790
- $[8] = disabled;
18791
- $[9] = includeDescription;
18792
- $[10] = mapProperties;
18793
- $[11] = onPropertyChange;
18794
- $[12] = propertyKey;
18795
- $[13] = underlyingValueHasChanged;
18796
- $[14] = t1;
18814
+ $[4] = autoFocus;
18815
+ $[5] = context;
18816
+ $[6] = disabled;
18817
+ $[7] = includeDescription;
18818
+ $[8] = mapProperties;
18819
+ $[9] = onPropertyChange;
18820
+ $[10] = propertyKey;
18821
+ $[11] = underlyingValueHasChanged;
18822
+ $[12] = t1;
18797
18823
  } else {
18798
- t1 = $[14];
18824
+ t1 = $[12];
18799
18825
  }
18800
18826
  let t2;
18801
- if ($[23] !== t1) {
18827
+ if ($[21] !== t1) {
18802
18828
  t2 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "py-1 flex flex-col space-y-2", children: t1 }) });
18803
- $[23] = t1;
18804
- $[24] = t2;
18829
+ $[21] = t1;
18830
+ $[22] = t2;
18805
18831
  } else {
18806
- t2 = $[24];
18832
+ t2 = $[22];
18807
18833
  }
18808
18834
  const mapFormView = t2;
18809
18835
  let t3;
18810
- if ($[25] !== property) {
18811
- t3 = getIconForProperty(property, "small");
18812
- $[25] = property;
18813
- $[26] = t3;
18814
- } else {
18815
- t3 = $[26];
18816
- }
18817
- const t4 = property.validation?.required;
18818
- let t5;
18819
- if ($[27] !== property.name || $[28] !== propertyKey || $[29] !== t3 || $[30] !== t4) {
18820
- t5 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t3, required: t4, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark" });
18821
- $[27] = property.name;
18822
- $[28] = propertyKey;
18823
- $[29] = t3;
18824
- $[30] = t4;
18825
- $[31] = t5;
18826
- } else {
18827
- t5 = $[31];
18828
- }
18829
- const title = t5;
18830
- let t6;
18831
- if ($[32] !== expanded || $[33] !== mapFormView || $[34] !== minimalistView || $[35] !== onPropertyChange || $[36] !== title) {
18832
- t6 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(ui.ExpandablePanel, { initiallyExpanded: expanded, onExpandedChange: (expanded_0) => {
18836
+ if ($[23] !== expanded || $[24] !== mapFormView || $[25] !== minimalistView || $[26] !== onPropertyChange || $[27] !== property || $[28] !== propertyKey) {
18837
+ t3 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(ui.ExpandablePanel, { initiallyExpanded: expanded, onExpandedChange: (expanded_0) => {
18833
18838
  onPropertyChange?.({
18834
18839
  expanded: expanded_0
18835
18840
  });
18836
- }, innerClassName: "px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2 bg-white dark:bg-surface-900", title, children: mapFormView });
18837
- $[32] = expanded;
18838
- $[33] = mapFormView;
18839
- $[34] = minimalistView;
18840
- $[35] = onPropertyChange;
18841
- $[36] = title;
18842
- $[37] = t6;
18841
+ }, className: property.widthPercentage !== void 0 ? "mt-8" : void 0, innerClassName: "px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2 bg-white dark:bg-surface-900", title: /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: getIconForProperty(property, "small"), required: property.validation?.required, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark" }), children: mapFormView });
18842
+ $[23] = expanded;
18843
+ $[24] = mapFormView;
18844
+ $[25] = minimalistView;
18845
+ $[26] = onPropertyChange;
18846
+ $[27] = property;
18847
+ $[28] = propertyKey;
18848
+ $[29] = t3;
18843
18849
  } else {
18844
- t6 = $[37];
18850
+ t3 = $[29];
18845
18851
  }
18846
- const t7 = minimalistView && mapFormView;
18847
- const t8 = showError ?? false;
18848
- const t9 = error ? typeof error === "string" ? error : "A property of this map has an error" : void 0;
18849
- let t10;
18850
- if ($[38] !== disabled || $[39] !== includeDescription || $[40] !== property || $[41] !== t8 || $[42] !== t9) {
18851
- t10 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError: t8, error: t9, disabled, property });
18852
- $[38] = disabled;
18853
- $[39] = includeDescription;
18854
- $[40] = property;
18855
- $[41] = t8;
18856
- $[42] = t9;
18857
- $[43] = t10;
18852
+ const t4 = minimalistView && mapFormView;
18853
+ const t5 = showError ?? false;
18854
+ const t6 = error ? typeof error === "string" ? error : "A property of this map has an error" : void 0;
18855
+ let t7;
18856
+ if ($[30] !== disabled || $[31] !== includeDescription || $[32] !== property || $[33] !== t5 || $[34] !== t6) {
18857
+ t7 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError: t5, error: t6, disabled, property });
18858
+ $[30] = disabled;
18859
+ $[31] = includeDescription;
18860
+ $[32] = property;
18861
+ $[33] = t5;
18862
+ $[34] = t6;
18863
+ $[35] = t7;
18858
18864
  } else {
18859
- t10 = $[43];
18865
+ t7 = $[35];
18860
18866
  }
18861
- let t11;
18862
- if ($[44] !== t10 || $[45] !== t6 || $[46] !== t7) {
18863
- t11 = /* @__PURE__ */ jsxRuntime.jsxs(ErrorBoundary, { children: [
18864
- t6,
18865
- t7,
18866
- t10
18867
+ let t8;
18868
+ if ($[36] !== t3 || $[37] !== t4 || $[38] !== t7) {
18869
+ t8 = /* @__PURE__ */ jsxRuntime.jsxs(ErrorBoundary, { children: [
18870
+ t3,
18871
+ t4,
18872
+ t7
18867
18873
  ] });
18868
- $[44] = t10;
18869
- $[45] = t6;
18870
- $[46] = t7;
18871
- $[47] = t11;
18874
+ $[36] = t3;
18875
+ $[37] = t4;
18876
+ $[38] = t7;
18877
+ $[39] = t8;
18872
18878
  } else {
18873
- t11 = $[47];
18879
+ t8 = $[39];
18874
18880
  }
18875
- return t11;
18881
+ return t8;
18876
18882
  }
18877
18883
  function _temp$7(t0) {
18878
18884
  const [, property_0] = t0;
@@ -19624,7 +19630,7 @@
19624
19630
  return void 0;
19625
19631
  }
19626
19632
  function RepeatFieldBinding(t0) {
19627
- const $ = reactCompilerRuntime.c(69);
19633
+ const $ = reactCompilerRuntime.c(70);
19628
19634
  let context;
19629
19635
  let disabled;
19630
19636
  let error;
@@ -19641,7 +19647,7 @@
19641
19647
  let value;
19642
19648
  if ($[0] !== t0) {
19643
19649
  const {
19644
- propertyKey: t19,
19650
+ propertyKey: t110,
19645
19651
  value: t22,
19646
19652
  error: t32,
19647
19653
  showError: t42,
@@ -19655,7 +19661,7 @@
19655
19661
  context: t112,
19656
19662
  disabled: t122
19657
19663
  } = t0;
19658
- propertyKey = t19;
19664
+ propertyKey = t110;
19659
19665
  value = t22;
19660
19666
  error = t32;
19661
19667
  showError = t42;
@@ -19786,9 +19792,10 @@
19786
19792
  } else {
19787
19793
  t7 = $[32];
19788
19794
  }
19789
- let t8;
19790
- if ($[33] !== buildEntry || $[34] !== propertyKey || $[35] !== t3 || $[36] !== t4 || $[37] !== t5 || $[38] !== t6 || $[39] !== t7 || $[40] !== value) {
19791
- t8 = /* @__PURE__ */ jsxRuntime.jsx(ArrayContainer, { droppableId: propertyKey, addLabel: t3, value, buildEntry, onInternalIdAdded: setLastAddedId, disabled: t4, includeAddButton: t5, newDefaultEntry: t6, onValueChange: t7 });
19795
+ const t8 = property.widthPercentage !== void 0 ? "mt-8" : void 0;
19796
+ let t9;
19797
+ if ($[33] !== buildEntry || $[34] !== propertyKey || $[35] !== t3 || $[36] !== t4 || $[37] !== t5 || $[38] !== t6 || $[39] !== t7 || $[40] !== t8 || $[41] !== value) {
19798
+ t9 = /* @__PURE__ */ jsxRuntime.jsx(ArrayContainer, { droppableId: propertyKey, addLabel: t3, value, buildEntry, onInternalIdAdded: setLastAddedId, disabled: t4, includeAddButton: t5, newDefaultEntry: t6, onValueChange: t7, className: t8 });
19792
19799
  $[33] = buildEntry;
19793
19800
  $[34] = propertyKey;
19794
19801
  $[35] = t3;
@@ -19796,97 +19803,98 @@
19796
19803
  $[37] = t5;
19797
19804
  $[38] = t6;
19798
19805
  $[39] = t7;
19799
- $[40] = value;
19800
- $[41] = t8;
19806
+ $[40] = t8;
19807
+ $[41] = value;
19808
+ $[42] = t9;
19801
19809
  } else {
19802
- t8 = $[41];
19810
+ t9 = $[42];
19803
19811
  }
19804
- const arrayContainer = t8;
19805
- let t9;
19806
- if ($[42] !== property) {
19807
- t9 = getIconForProperty(property, "small");
19808
- $[42] = property;
19809
- $[43] = t9;
19812
+ const arrayContainer = t9;
19813
+ let t10;
19814
+ if ($[43] !== property) {
19815
+ t10 = getIconForProperty(property, "small");
19816
+ $[43] = property;
19817
+ $[44] = t10;
19810
19818
  } else {
19811
- t9 = $[43];
19819
+ t10 = $[44];
19812
19820
  }
19813
- const t10 = property.validation?.required;
19814
- let t11;
19815
- if ($[44] !== property.name || $[45] !== propertyKey || $[46] !== t10 || $[47] !== t9) {
19816
- t11 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t9, required: t10, title: property.name, className: "flex flex-grow text-text-secondary dark:text-text-secondary-dark" });
19817
- $[44] = property.name;
19818
- $[45] = propertyKey;
19819
- $[46] = t10;
19820
- $[47] = t9;
19821
+ const t11 = property.validation?.required;
19822
+ let t12;
19823
+ if ($[45] !== property.name || $[46] !== propertyKey || $[47] !== t10 || $[48] !== t11) {
19824
+ t12 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t10, required: t11, title: property.name, className: "h-8 flex flex-grow text-text-secondary dark:text-text-secondary-dark" });
19825
+ $[45] = property.name;
19826
+ $[46] = propertyKey;
19827
+ $[47] = t10;
19821
19828
  $[48] = t11;
19829
+ $[49] = t12;
19822
19830
  } else {
19823
- t11 = $[48];
19831
+ t12 = $[49];
19824
19832
  }
19825
- let t12;
19826
- if ($[49] !== value) {
19827
- t12 = Array.isArray(value) && /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "px-4", children: [
19833
+ let t13;
19834
+ if ($[50] !== value) {
19835
+ t13 = Array.isArray(value) && /* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "px-4", children: [
19828
19836
  "(",
19829
19837
  value.length,
19830
19838
  ")"
19831
19839
  ] });
19832
- $[49] = value;
19833
- $[50] = t12;
19840
+ $[50] = value;
19841
+ $[51] = t13;
19834
19842
  } else {
19835
- t12 = $[50];
19843
+ t13 = $[51];
19836
19844
  }
19837
- let t13;
19838
- if ($[51] !== t11 || $[52] !== t12) {
19839
- t13 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
19840
- t11,
19841
- t12
19845
+ let t14;
19846
+ if ($[52] !== t12 || $[53] !== t13) {
19847
+ t14 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
19848
+ t12,
19849
+ t13
19842
19850
  ] });
19843
- $[51] = t11;
19844
19851
  $[52] = t12;
19845
19852
  $[53] = t13;
19853
+ $[54] = t14;
19846
19854
  } else {
19847
- t13 = $[53];
19855
+ t14 = $[54];
19848
19856
  }
19849
- const title = t13;
19850
- let t14;
19851
- if ($[54] !== arrayContainer || $[55] !== expanded || $[56] !== minimalistView || $[57] !== title) {
19852
- t14 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(ui.ExpandablePanel, { initiallyExpanded: expanded, innerClassName: "px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2", title, children: arrayContainer });
19853
- $[54] = arrayContainer;
19854
- $[55] = expanded;
19855
- $[56] = minimalistView;
19856
- $[57] = title;
19857
- $[58] = t14;
19858
- } else {
19859
- t14 = $[58];
19860
- }
19861
- const t15 = minimalistView && arrayContainer;
19862
- const t16 = error ? typeof error === "string" ? error : "A property of this array/repeat has an error" : void 0;
19863
- let t17;
19864
- if ($[59] !== disabled || $[60] !== includeDescription || $[61] !== property || $[62] !== showError || $[63] !== t16) {
19865
- t17 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError, error: t16, disabled, property });
19866
- $[59] = disabled;
19867
- $[60] = includeDescription;
19868
- $[61] = property;
19869
- $[62] = showError;
19870
- $[63] = t16;
19857
+ const title = t14;
19858
+ let t15;
19859
+ if ($[55] !== arrayContainer || $[56] !== expanded || $[57] !== minimalistView || $[58] !== title) {
19860
+ t15 = !minimalistView && /* @__PURE__ */ jsxRuntime.jsx(ui.ExpandablePanel, { initiallyExpanded: expanded, innerClassName: "px-2 md:px-4 pb-2 md:pb-4 pt-1 md:pt-2", title, children: arrayContainer });
19861
+ $[55] = arrayContainer;
19862
+ $[56] = expanded;
19863
+ $[57] = minimalistView;
19864
+ $[58] = title;
19865
+ $[59] = t15;
19866
+ } else {
19867
+ t15 = $[59];
19868
+ }
19869
+ const t16 = minimalistView && arrayContainer;
19870
+ const t17 = error ? typeof error === "string" ? error : "A property of this array/repeat has an error" : void 0;
19871
+ let t18;
19872
+ if ($[60] !== disabled || $[61] !== includeDescription || $[62] !== property || $[63] !== showError || $[64] !== t17) {
19873
+ t18 = /* @__PURE__ */ jsxRuntime.jsx(FieldHelperText, { includeDescription, showError, error: t17, disabled, property });
19874
+ $[60] = disabled;
19875
+ $[61] = includeDescription;
19876
+ $[62] = property;
19877
+ $[63] = showError;
19871
19878
  $[64] = t17;
19879
+ $[65] = t18;
19872
19880
  } else {
19873
- t17 = $[64];
19881
+ t18 = $[65];
19874
19882
  }
19875
- let t18;
19876
- if ($[65] !== t14 || $[66] !== t15 || $[67] !== t17) {
19877
- t18 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
19878
- t14,
19883
+ let t19;
19884
+ if ($[66] !== t15 || $[67] !== t16 || $[68] !== t18) {
19885
+ t19 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
19879
19886
  t15,
19880
- t17
19887
+ t16,
19888
+ t18
19881
19889
  ] });
19882
- $[65] = t14;
19883
19890
  $[66] = t15;
19884
- $[67] = t17;
19891
+ $[67] = t16;
19885
19892
  $[68] = t18;
19893
+ $[69] = t19;
19886
19894
  } else {
19887
- t18 = $[68];
19895
+ t19 = $[69];
19888
19896
  }
19889
- return t18;
19897
+ return t19;
19890
19898
  }
19891
19899
  function BlockFieldBinding({
19892
19900
  propertyKey,
@@ -20282,7 +20290,7 @@
20282
20290
  const t12 = property.validation?.required;
20283
20291
  let t13;
20284
20292
  if ($[37] !== property.name || $[38] !== propertyKey || $[39] !== t11 || $[40] !== t12) {
20285
- t13 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t11, required: t12, title: property.name, className: "text-text-secondary dark:text-text-secondary-dark ml-3.5" });
20293
+ t13 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t11, required: t12, title: property.name, className: "h-8 text-text-secondary dark:text-text-secondary-dark ml-3.5" });
20286
20294
  $[37] = property.name;
20287
20295
  $[38] = propertyKey;
20288
20296
  $[39] = t11;
@@ -20395,7 +20403,7 @@
20395
20403
  const t3 = property.validation?.required;
20396
20404
  let t4;
20397
20405
  if ($[10] !== property.name || $[11] !== propertyKey || $[12] !== t2 || $[13] !== t3) {
20398
- t4 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t2, required: t3, title: property.name, className: "flex-grow text-text-secondary dark:text-text-secondary-dark" });
20406
+ t4 = /* @__PURE__ */ jsxRuntime.jsx(LabelWithIconAndTooltip, { propertyKey, icon: t2, required: t3, title: property.name, className: "h-8 flex-grow text-text-secondary dark:text-text-secondary-dark" });
20399
20407
  $[10] = property.name;
20400
20408
  $[11] = propertyKey;
20401
20409
  $[12] = t2;
@@ -22502,16 +22510,15 @@
22502
22510
  } else {
22503
22511
  childrenResult = $[4];
22504
22512
  }
22505
- const t1 = childrenResult;
22506
- let t2;
22507
- if ($[5] !== t1) {
22508
- t2 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: t1 });
22509
- $[5] = t1;
22510
- $[6] = t2;
22513
+ let t1;
22514
+ if ($[5] !== childrenResult) {
22515
+ t1 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: childrenResult });
22516
+ $[5] = childrenResult;
22517
+ $[6] = t1;
22511
22518
  } else {
22512
- t2 = $[6];
22519
+ t1 = $[6];
22513
22520
  }
22514
- return t2;
22521
+ return t1;
22515
22522
  }
22516
22523
  function DrawerNavigationItem(t0) {
22517
22524
  const $ = reactCompilerRuntime.c(24);