@contentful/field-editor-rich-text 2.0.0-next.43 → 2.0.0-next.44

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.
@@ -11,7 +11,7 @@ var fieldEditorShared = require('@contentful/field-editor-shared');
11
11
  var Contentful = require('@contentful/rich-text-types');
12
12
  var plateCore = require('@udecode/plate-core');
13
13
  var emotion = require('emotion');
14
- var deepEquals = _interopDefault(require('fast-deep-equal'));
14
+ var areEqual = _interopDefault(require('fast-deep-equal'));
15
15
  var noop = _interopDefault(require('lodash/noop'));
16
16
  var plateSerializerDocx = require('@udecode/plate-serializer-docx');
17
17
  var plateBreak = require('@udecode/plate-break');
@@ -21,12 +21,11 @@ var slate = require('slate');
21
21
  var Slate = require('slate-react');
22
22
  var constate = _interopDefault(require('constate'));
23
23
  var f36Components = require('@contentful/f36-components');
24
- var mimetype = _interopDefault(require('@contentful/mimetype'));
24
+ var find = _interopDefault(require('lodash/find'));
25
+ var flow = _interopDefault(require('lodash/flow'));
25
26
  var get = _interopDefault(require('lodash/get'));
26
27
  var f36Icons = require('@contentful/f36-icons');
27
28
  var tokens = _interopDefault(require('@contentful/f36-tokens'));
28
- var find = _interopDefault(require('lodash/find'));
29
- var flow = _interopDefault(require('lodash/flow'));
30
29
  var plateList = require('@udecode/plate-list');
31
30
  var castArray = _interopDefault(require('lodash/castArray'));
32
31
  var plateBasicMarks = require('@udecode/plate-basic-marks');
@@ -630,320 +629,108 @@ var _constate = /*#__PURE__*/constate(useSdk),
630
629
  SdkProvider = _constate[0],
631
630
  useSdkContext = _constate[1];
632
631
 
633
- var styles = {
634
- scheduleIcon: /*#__PURE__*/emotion.css({
635
- marginRight: tokens.spacing2Xs
636
- })
637
- };
638
- function EntityStatusIcon(_ref) {
639
- var entity = _ref.entity,
640
- entityType = _ref.entityType;
632
+ function useFetchedEntity(_ref) {
633
+ var type = _ref.type,
634
+ id = _ref.id,
635
+ onEntityFetchComplete = _ref.onEntityFetchComplete;
641
636
 
642
637
  var _useEntities = fieldEditorReference.useEntities(),
643
- loadEntityScheduledActions = _useEntities.loadEntityScheduledActions;
644
-
645
- return /*#__PURE__*/React.createElement(fieldEditorReference.ScheduledIconWithTooltip, {
646
- getEntityScheduledActions: loadEntityScheduledActions,
647
- entityType: entityType,
648
- entityId: entity.sys.id
649
- }, /*#__PURE__*/React.createElement(f36Icons.ClockIcon, {
650
- className: styles.scheduleIcon,
651
- size: "small",
652
- color: "muted",
653
- testId: "schedule-icon"
654
- }));
655
- }
656
-
657
- var styles$1 = {
658
- assetCard: /*#__PURE__*/emotion.css({
659
- cursor: 'pointer'
660
- }),
661
- cardDropdown: /*#__PURE__*/emotion.css({
662
- width: '300px'
663
- }),
664
- truncated: /*#__PURE__*/emotion.css({
665
- overflow: 'hidden',
666
- whiteSpace: 'nowrap',
667
- textOverflow: 'ellipsis'
668
- })
669
- };
638
+ entries = _useEntities.entries,
639
+ assets = _useEntities.assets,
640
+ getOrLoadEntry = _useEntities.getOrLoadEntry,
641
+ getOrLoadAsset = _useEntities.getOrLoadAsset;
670
642
 
671
- function downloadAsset(url, fileName) {
672
- // This method won't work if we have CORS disabled(asset not on the contentful server)
673
- fetch(url, {
674
- method: 'GET',
675
- headers: {}
676
- }).then(function (response) {
677
- response.arrayBuffer().then(function (buffer) {
678
- var url = window.URL.createObjectURL(new Blob([buffer]));
679
- var link = document.createElement('a');
680
- link.href = url;
681
- link.setAttribute('download', fileName); //or any other extension
682
-
683
- document.body.appendChild(link);
684
- link.click();
685
- document.body.removeChild(link);
686
- });
687
- })["catch"](function (err) {
688
- f36Components.Notification.error('Failed to download asset');
689
- console.log(err);
690
- });
691
- }
643
+ var store = type === 'Entry' ? entries : assets;
692
644
 
693
- function renderAssetInfo(props) {
694
- var entityFile = props.entityFile;
695
- var fileName = get(entityFile, 'fileName');
696
- var mimeType = get(entityFile, 'contentType');
697
- var fileSize = get(entityFile, 'details.size');
698
- var image = get(entityFile, 'details.image');
699
- return [/*#__PURE__*/React.createElement(f36Components.Menu.SectionTitle, {
700
- key: "file-section"
701
- }, "File info"), fileName && /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
702
- key: "file-name"
703
- }, /*#__PURE__*/React.createElement(f36Components.Text, {
704
- isTruncated: true
705
- }, fileName)), mimeType && /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
706
- key: "file-type"
707
- }, /*#__PURE__*/React.createElement(f36Components.Text, {
708
- isTruncated: true
709
- }, mimeType)), fileSize && /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
710
- key: "file-size"
711
- }, fieldEditorShared.shortenStorageUnit(fileSize, 'B')), image && /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
712
- key: "file-dimentions"
713
- }, image.width + " \xD7 " + image.height)].filter(function (item) {
714
- return item;
715
- });
716
- }
717
- function renderActions(props) {
718
- var entityFile = props.entityFile,
719
- isDisabled = props.isDisabled,
720
- onEdit = props.onEdit,
721
- onRemove = props.onRemove;
722
- return [/*#__PURE__*/React.createElement(f36Components.Menu.SectionTitle, {
723
- key: "section-title"
724
- }, "Actions"), onEdit ? /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
725
- key: "edit",
726
- onClick: onEdit,
727
- testId: "card-action-edit"
728
- }, "Edit") : null, entityFile ? /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
729
- key: "download",
730
- onClick: function onClick() {
731
- if (typeof entityFile.url === 'string') {
732
- downloadAsset(entityFile.url, get(entityFile, 'fileName'));
733
- }
734
- },
735
- testId: "card-action-download"
736
- }, "Download") : null, onRemove ? /*#__PURE__*/React.createElement(f36Components.Menu.Item, {
737
- key: "remove",
738
- disabled: isDisabled,
739
- onClick: onRemove,
740
- testId: "card-action-remove"
741
- }, "Remove") : null].filter(function (item) {
742
- return item;
743
- });
744
- }
745
- function FetchingWrappedAssetCard(props) {
746
- var _asset$fields;
645
+ var _useState = React.useState(store[id]),
646
+ entity = _useState[0],
647
+ setEntity = _useState[1]; // Deep compare the entity value to keep re-rendering to minimal
747
648
 
748
- var _useEntities = fieldEditorReference.useEntities(),
749
- getOrLoadAsset = _useEntities.getOrLoadAsset,
750
- assets = _useEntities.assets;
751
649
 
752
- var asset = assets[props.assetId];
753
- var defaultLocaleCode = props.sdk.locales["default"];
754
- var entityFile = asset != null && (_asset$fields = asset.fields) != null && _asset$fields.file ? asset.fields.file[props.locale] || asset.fields.file[defaultLocaleCode] : undefined;
755
- var onEntityFetchComplete = props.onEntityFetchComplete;
756
650
  React.useEffect(function () {
757
- getOrLoadAsset(props.assetId);
758
- }, [props.assetId]); // eslint-disable-line
651
+ var newValue = store[id];
759
652
 
760
- React.useEffect(function () {
761
- if (!asset) {
762
- return;
653
+ if (!areEqual(entity, newValue)) {
654
+ setEntity(newValue);
763
655
  }
656
+ }, [store, entity, id]); // Fetch the entity if needed
764
657
 
765
- onEntityFetchComplete == null ? void 0 : onEntityFetchComplete();
766
- }, [asset, onEntityFetchComplete]);
767
-
768
- function getAssetSrc() {
769
- if (!(entityFile != null && entityFile.url)) return '';
770
- return entityFile.url + "?h=300";
771
- }
772
-
773
- function getFileType() {
774
- var groupToIconMap = {
775
- image: 'image',
776
- video: 'video',
777
- audio: 'audio',
778
- richtext: 'richtext',
779
- presentation: 'presentation',
780
- spreadsheet: 'spreadsheet',
781
- pdfdocument: 'pdf',
782
- archive: 'archive',
783
- plaintext: 'plaintext',
784
- code: 'code',
785
- markup: 'markup'
786
- };
787
- var archive = groupToIconMap['archive'];
788
-
789
- if (!entityFile) {
790
- return archive;
658
+ React.useEffect(function () {
659
+ (type === 'Entry' ? getOrLoadEntry : getOrLoadAsset)(id); // "getOrLoadEntry" and "getOrLoadAsset" instances change with every
660
+ // entity store update causing page lag on initial load
661
+ // TODO: consider rewriting useEntities() hook to avoid that happening in
662
+ // first place.
663
+ // eslint-disable-next-line react-hooks/exhaustive-deps
664
+ }, [type, id]);
665
+ React.useEffect(function () {
666
+ if (entity) {
667
+ onEntityFetchComplete == null ? void 0 : onEntityFetchComplete();
791
668
  }
669
+ }, [onEntityFetchComplete, entity]);
670
+ return entity;
671
+ }
792
672
 
793
- var groupName = mimetype.getGroupLabel({
794
- type: entityFile.contentType,
795
- fallbackFileName: entityFile.fileName
796
- });
797
- return groupToIconMap[groupName] || archive;
798
- }
799
-
800
- if (asset === undefined) {
673
+ var InternalAssetCard = /*#__PURE__*/React.memo(function (props) {
674
+ if (props.asset === undefined) {
801
675
  return /*#__PURE__*/React.createElement(f36Components.AssetCard, {
802
- size: "small",
676
+ size: "default",
803
677
  isLoading: true
804
678
  });
805
679
  }
806
680
 
807
- if (asset === 'failed') {
808
- return /*#__PURE__*/React.createElement(fieldEditorReference.MissingEntityCard, {
809
- entityType: "Asset",
810
- isDisabled: props.isDisabled,
811
- onRemove: props.onRemove
812
- });
813
- }
814
-
815
- var status = asset ? fieldEditorShared.entityHelpers.getEntryStatus(asset.sys) : undefined;
816
-
817
- if (status === 'deleted') {
681
+ if (props.asset === 'failed') {
818
682
  return /*#__PURE__*/React.createElement(fieldEditorReference.MissingEntityCard, {
819
683
  entityType: "Asset",
820
- asSquare: true,
821
684
  isDisabled: props.isDisabled,
822
685
  onRemove: props.onRemove
823
686
  });
824
687
  }
825
688
 
826
- var entityTitle = fieldEditorShared.entityHelpers.getAssetTitle({
827
- asset: asset,
828
- localeCode: props.locale,
829
- defaultLocaleCode: defaultLocaleCode,
830
- defaultTitle: 'Untitled'
831
- });
832
- return /*#__PURE__*/React.createElement(f36Components.AssetCard, {
833
- title: entityTitle,
834
- isSelected: props.isSelected,
689
+ return /*#__PURE__*/React.createElement(fieldEditorReference.WrappedAssetCard, {
690
+ getEntityScheduledActions: props.loadEntityScheduledActions,
835
691
  size: "small",
836
- src: getAssetSrc(),
837
- type: getFileType(),
838
- status: status,
839
- icon: /*#__PURE__*/React.createElement(EntityStatusIcon, {
840
- entityType: "Asset",
841
- entity: asset
842
- }),
843
- className: styles$1.assetCard,
844
- actions: [renderActions({
845
- entityFile: entityFile,
846
- isDisabled: props.isDisabled,
847
- onEdit: props.onEdit,
848
- onRemove: props.onRemove
849
- }), entityFile ? renderAssetInfo({
850
- entityFile: entityFile
851
- }) : null].filter(function (item) {
852
- return item;
853
- })
692
+ isSelected: props.isSelected,
693
+ isDisabled: props.isDisabled,
694
+ localeCode: props.locale,
695
+ defaultLocaleCode: props.sdk.locales["default"],
696
+ asset: props.asset,
697
+ onEdit: props.onEdit,
698
+ onRemove: props.isDisabled ? undefined : props.onRemove,
699
+ isClickable: false
854
700
  });
855
- }
701
+ }, areEqual);
702
+ InternalAssetCard.displayName = 'InternalAssetCard';
703
+ function FetchingWrappedAssetCard(props) {
704
+ var onEntityFetchComplete = props.onEntityFetchComplete,
705
+ assetId = props.assetId;
856
706
 
857
- var styles$2 = {
858
- entryCard: /*#__PURE__*/emotion.css({
859
- cursor: 'pointer'
860
- })
861
- };
707
+ var _useEntities = fieldEditorReference.useEntities(),
708
+ loadEntityScheduledActions = _useEntities.loadEntityScheduledActions;
862
709
 
863
- function EntryThumbnail(_ref) {
864
- var file = _ref.file;
865
- if (!fieldEditorShared.isValidImage(file)) return null;
866
- return /*#__PURE__*/React.createElement(fieldEditorReference.AssetThumbnail, {
867
- file: file
710
+ var asset = useFetchedEntity({
711
+ type: 'Asset',
712
+ id: assetId,
713
+ onEntityFetchComplete: onEntityFetchComplete
714
+ });
715
+ return /*#__PURE__*/React.createElement(InternalAssetCard, {
716
+ asset: asset,
717
+ sdk: props.sdk,
718
+ isDisabled: props.isDisabled,
719
+ isSelected: props.isSelected,
720
+ loadEntityScheduledActions: loadEntityScheduledActions,
721
+ locale: props.locale,
722
+ onEdit: props.onEdit,
723
+ onRemove: props.onRemove
868
724
  });
869
725
  }
870
726
 
871
- function FetchingWrappedEntryCard(props) {
872
- var _useEntities = fieldEditorReference.useEntities(),
873
- getOrLoadEntry = _useEntities.getOrLoadEntry,
874
- entries = _useEntities.entries,
875
- getOrLoadAsset = _useEntities.getOrLoadAsset;
876
-
877
- var _React$useState = React.useState(null),
878
- file = _React$useState[0],
879
- setFile = _React$useState[1];
880
-
881
- var entry = entries[props.entryId];
882
- var contentType = React.useMemo(function () {
883
- if (!entry || entry === 'failed') {
884
- return undefined;
885
- }
886
-
887
- return props.sdk.space.getCachedContentTypes().find(function (contentType) {
888
- return contentType.sys.id === entry.sys.contentType.sys.id;
889
- });
890
- }, [props.sdk, entry]);
891
- var defaultLocaleCode = props.sdk.locales["default"];
892
- var onEntityFetchComplete = props.onEntityFetchComplete;
893
- React.useEffect(function () {
894
- if (!entry || entry === 'failed') return;
895
- var subscribed = true;
896
- fieldEditorShared.entityHelpers.getEntryImage({
897
- entry: entry,
898
- contentType: contentType,
899
- localeCode: props.locale,
900
- defaultLocaleCode: defaultLocaleCode
901
- }, getOrLoadAsset)["catch"](function () {
902
- return null;
903
- }).then(function (file) {
904
- if (subscribed) {
905
- setFile(file);
906
- }
907
- });
908
- return function () {
909
- subscribed = false;
910
- };
911
- }, [entry, contentType, props.locale, defaultLocaleCode, props.sdk, file, getOrLoadAsset]);
912
- React.useEffect(function () {
913
- getOrLoadEntry(props.entryId);
914
- }, [props.entryId]); // eslint-disable-line
915
-
916
- React.useEffect(function () {
917
- if (!entry) {
918
- return;
919
- }
920
-
921
- onEntityFetchComplete == null ? void 0 : onEntityFetchComplete();
922
- }, [entry, onEntityFetchComplete]);
923
-
924
- function renderDropdown() {
925
- if (!props.onEdit || !props.onRemove) return undefined;
926
- return [props.onEdit ? /*#__PURE__*/React.createElement(f36Components.MenuItem, {
927
- key: "edit",
928
- testId: "card-action-edit",
929
- onClick: function onClick() {
930
- props.onEdit && props.onEdit();
931
- }
932
- }, "Edit") : null, props.onRemove ? /*#__PURE__*/React.createElement(f36Components.MenuItem, {
933
- key: "delete",
934
- disabled: props.isDisabled,
935
- testId: "card-action-remove",
936
- onClick: function onClick() {
937
- props.onRemove && props.onRemove();
938
- }
939
- }, "Remove") : null].filter(function (item) {
940
- return item;
941
- });
942
- }
727
+ var InternalEntryCard = /*#__PURE__*/React.memo(function (props) {
728
+ var entry = props.entry,
729
+ sdk = props.sdk,
730
+ loadEntityScheduledActions = props.loadEntityScheduledActions;
943
731
 
944
732
  if (entry === undefined) {
945
733
  return /*#__PURE__*/React.createElement(f36Components.EntryCard, {
946
- size: "default",
947
734
  isLoading: true
948
735
  });
949
736
  }
@@ -956,50 +743,50 @@ function FetchingWrappedEntryCard(props) {
956
743
  });
957
744
  }
958
745
 
959
- var entryStatus = entry ? fieldEditorShared.entityHelpers.getEntryStatus(entry.sys) : undefined;
960
-
961
- if (entryStatus === 'deleted') {
962
- return /*#__PURE__*/React.createElement(fieldEditorReference.MissingEntityCard, {
963
- entityType: "Entry",
964
- isDisabled: props.isDisabled,
965
- onRemove: props.onRemove
966
- });
967
- }
968
-
969
- var title = fieldEditorShared.entityHelpers.getEntryTitle({
970
- entry: entry,
971
- contentType: contentType,
972
- localeCode: props.locale,
973
- defaultLocaleCode: defaultLocaleCode,
974
- defaultTitle: 'Untitled'
746
+ var contentType = sdk.space.getCachedContentTypes().find(function (contentType) {
747
+ return contentType.sys.id === entry.sys.contentType.sys.id;
975
748
  });
976
- var description = fieldEditorShared.entityHelpers.getEntityDescription({
977
- entity: entry,
978
- contentType: contentType,
749
+ return /*#__PURE__*/React.createElement(fieldEditorReference.WrappedEntryCard, {
750
+ size: "default",
751
+ getAsset: props.sdk.space.getAsset,
752
+ getEntityScheduledActions: loadEntityScheduledActions,
753
+ isSelected: props.isSelected,
754
+ isDisabled: props.isDisabled,
979
755
  localeCode: props.locale,
980
- defaultLocaleCode: defaultLocaleCode
756
+ defaultLocaleCode: props.sdk.locales["default"],
757
+ contentType: contentType,
758
+ entry: entry,
759
+ onEdit: props.onEdit,
760
+ onRemove: props.isDisabled ? undefined : props.onRemove,
761
+ isClickable: false
981
762
  });
982
- return /*#__PURE__*/React.createElement(f36Components.EntryCard, {
983
- contentType: contentType == null ? void 0 : contentType.name,
984
- title: title,
985
- description: description,
986
- size: "default",
763
+ }, areEqual);
764
+ InternalEntryCard.displayName = 'ReferenceCard';
765
+ var FetchingWrappedEntryCard = function FetchingWrappedEntryCard(props) {
766
+ var entryId = props.entryId,
767
+ onEntityFetchComplete = props.onEntityFetchComplete;
768
+
769
+ var _useEntities = fieldEditorReference.useEntities(),
770
+ loadEntityScheduledActions = _useEntities.loadEntityScheduledActions;
771
+
772
+ var entry = useFetchedEntity({
773
+ type: 'Entry',
774
+ id: entryId,
775
+ onEntityFetchComplete: onEntityFetchComplete
776
+ });
777
+ return /*#__PURE__*/React.createElement(InternalEntryCard, {
778
+ entry: entry,
779
+ sdk: props.sdk,
780
+ locale: props.locale,
781
+ isDisabled: props.isDisabled,
987
782
  isSelected: props.isSelected,
988
- status: entryStatus,
989
- className: styles$2.entryCard,
990
- thumbnailElement: file ? /*#__PURE__*/React.createElement(EntryThumbnail, {
991
- file: file
992
- }) : undefined,
993
- icon: /*#__PURE__*/React.createElement(EntityStatusIcon, {
994
- entityType: "Entry",
995
- entity: entry
996
- }),
997
- withDragHandle: false,
998
- actions: renderDropdown()
783
+ onEdit: props.onEdit,
784
+ onRemove: props.onRemove,
785
+ loadEntityScheduledActions: loadEntityScheduledActions
999
786
  });
1000
- }
787
+ };
1001
788
 
1002
- var styles$3 = {
789
+ var styles = {
1003
790
  root: /*#__PURE__*/emotion.css({
1004
791
  marginBottom: '1.25rem !important',
1005
792
  display: 'block'
@@ -1024,24 +811,21 @@ function LinkedEntityBlock(props) {
1024
811
  var _element$data$target$ = element.data.target.sys,
1025
812
  entityId = _element$data$target$.id,
1026
813
  entityType = _element$data$target$.linkType;
1027
-
1028
- var handleEditClick = function handleEditClick() {
814
+ var handleEditClick = React__default.useCallback(function () {
1029
815
  var openEntity = entityType === 'Asset' ? sdk.navigator.openAsset : sdk.navigator.openEntry;
1030
816
  return openEntity(entityId, {
1031
817
  slideIn: true
1032
818
  });
1033
- };
1034
-
1035
- var handleRemoveClick = function handleRemoveClick() {
819
+ }, [sdk, entityId, entityType]);
820
+ var handleRemoveClick = React__default.useCallback(function () {
1036
821
  if (!editor) return;
1037
822
  var pathToElement = Slate.ReactEditor.findPath(editor, element);
1038
823
  slate.Transforms.removeNodes(editor, {
1039
824
  at: pathToElement
1040
825
  });
1041
- };
1042
-
826
+ }, [editor, element]);
1043
827
  return /*#__PURE__*/React__default.createElement("div", Object.assign({}, attributes, {
1044
- className: styles$3.root,
828
+ className: styles.root,
1045
829
  "data-entity-type": entityType,
1046
830
  "data-entity-id": entityId,
1047
831
  // COMPAT: This makes copy & paste work for Firefox
@@ -1051,7 +835,7 @@ function LinkedEntityBlock(props) {
1051
835
  // COMPAT: This makes copy & paste work for Chromium/Blink browsers and Safari
1052
836
  contentEditable: IS_CHROME ? false : undefined,
1053
837
  draggable: IS_CHROME ? true : undefined,
1054
- className: styles$3.container
838
+ className: styles.container
1055
839
  }, entityType === 'Entry' && /*#__PURE__*/React__default.createElement(FetchingWrappedEntryCard, {
1056
840
  sdk: sdk,
1057
841
  entryId: entityId,
@@ -1999,7 +1783,7 @@ function insertBlock(editor, nodeType, entity) {
1999
1783
  focus(editor);
2000
1784
  }
2001
1785
 
2002
- var styles$4 = {
1786
+ var styles$1 = {
2003
1787
  icon: /*#__PURE__*/emotion.css({
2004
1788
  marginRight: '10px'
2005
1789
  })
@@ -2047,7 +1831,7 @@ function EmbeddedEntityBlockToolbarIcon(_ref) {
2047
1831
  flexDirection: "row"
2048
1832
  }, /*#__PURE__*/React__default.createElement(f36Components.Icon, {
2049
1833
  as: type === 'Asset' ? f36Icons.AssetIcon : f36Icons.EmbeddedEntryBlockIcon,
2050
- className: "rich-text__embedded-entry-list-icon " + styles$4.icon,
1834
+ className: "rich-text__embedded-entry-list-icon " + styles$1.icon,
2051
1835
  variant: "secondary"
2052
1836
  }), /*#__PURE__*/React__default.createElement("span", null, type)));
2053
1837
  }
@@ -2146,7 +1930,7 @@ var createEmbeddedAssetBlockPlugin = /*#__PURE__*/createEmbeddedEntityPlugin(Con
2146
1930
 
2147
1931
  var getEntryTitle = fieldEditorShared.entityHelpers.getEntryTitle,
2148
1932
  getEntryStatus = fieldEditorShared.entityHelpers.getEntryStatus;
2149
- var styles$5 = {
1933
+ var styles$2 = {
2150
1934
  scheduledIcon: /*#__PURE__*/emotion.css({
2151
1935
  verticalAlign: 'text-bottom',
2152
1936
  marginRight: tokens.spacing2Xs
@@ -2217,7 +2001,7 @@ function FetchingWrappedInlineEntryCard(props) {
2217
2001
  actions: [/*#__PURE__*/React__default.createElement(f36Components.MenuItem, {
2218
2002
  key: "remove",
2219
2003
  onClick: props.onRemove,
2220
- testId: "card-action-remove"
2004
+ testId: "delete"
2221
2005
  }, "Remove")]
2222
2006
  });
2223
2007
  }
@@ -2234,14 +2018,14 @@ function FetchingWrappedInlineEntryCard(props) {
2234
2018
  key: "remove",
2235
2019
  onClick: props.onRemove,
2236
2020
  disabled: props.isDisabled,
2237
- testId: "card-action-remove"
2021
+ testId: "delete"
2238
2022
  }, "Remove")]
2239
2023
  }, /*#__PURE__*/React__default.createElement(fieldEditorReference.ScheduledIconWithTooltip, {
2240
2024
  getEntityScheduledActions: loadEntityScheduledActions,
2241
2025
  entityType: "Entry",
2242
2026
  entityId: entry.sys.id
2243
2027
  }, /*#__PURE__*/React__default.createElement(f36Icons.ClockIcon, {
2244
- className: styles$5.scheduledIcon,
2028
+ className: styles$2.scheduledIcon,
2245
2029
  variant: "muted",
2246
2030
  testId: "scheduled-icon"
2247
2031
  })), /*#__PURE__*/React__default.createElement(f36Components.Text, null, title));
@@ -2265,7 +2049,7 @@ function createInlineEntryNode(id) {
2265
2049
  };
2266
2050
  }
2267
2051
 
2268
- var styles$6 = {
2052
+ var styles$3 = {
2269
2053
  icon: /*#__PURE__*/emotion.css({
2270
2054
  marginRight: '10px'
2271
2055
  }),
@@ -2301,7 +2085,7 @@ function EmbeddedEntityInline(props) {
2301
2085
  }
2302
2086
 
2303
2087
  return /*#__PURE__*/React.createElement("span", Object.assign({}, props.attributes, {
2304
- className: styles$6.root,
2088
+ className: styles$3.root,
2305
2089
  "data-embedded-entity-inline-id": entryId,
2306
2090
  // COMPAT: This makes copy & paste work for Firefox
2307
2091
  contentEditable: IS_CHROME ? undefined : false,
@@ -2431,7 +2215,7 @@ function ToolbarEmbeddedEntityInlineButton(props) {
2431
2215
  flexDirection: "row"
2432
2216
  }, /*#__PURE__*/React.createElement(f36Icons.EmbeddedEntryInlineIcon, {
2433
2217
  variant: "secondary",
2434
- className: "rich-text__embedded-entry-list-icon " + styles$6.icon
2218
+ className: "rich-text__embedded-entry-list-icon " + styles$3.icon
2435
2219
  }), /*#__PURE__*/React.createElement("span", null, "Inline entry")));
2436
2220
  }
2437
2221
  function createEmbeddedEntityInlinePlugin(sdk) {
@@ -2507,7 +2291,7 @@ var isMarkEnabled = function isMarkEnabled(field, mark) {
2507
2291
  };
2508
2292
 
2509
2293
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _dropdown, _LABELS;
2510
- var styles$7 = {
2294
+ var styles$4 = {
2511
2295
  dropdown: (_dropdown = {
2512
2296
  root: /*#__PURE__*/emotion.css(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-weight: ", ";\n "])), tokens.fontWeightDemiBold)
2513
2297
  }, _dropdown[Contentful.BLOCKS.PARAGRAPH] = /*#__PURE__*/emotion.css(_templateObject2 || (_templateObject2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: ", ";\n "])), tokens.fontSizeL), _dropdown[Contentful.BLOCKS.HEADING_1] = /*#__PURE__*/emotion.css(_templateObject3 || (_templateObject3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.625rem;\n "]))), _dropdown[Contentful.BLOCKS.HEADING_2] = /*#__PURE__*/emotion.css(_templateObject4 || (_templateObject4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.4375rem;\n "]))), _dropdown[Contentful.BLOCKS.HEADING_3] = /*#__PURE__*/emotion.css(_templateObject5 || (_templateObject5 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.25rem;\n "]))), _dropdown[Contentful.BLOCKS.HEADING_4] = /*#__PURE__*/emotion.css(_templateObject6 || (_templateObject6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.125rem;\n "]))), _dropdown[Contentful.BLOCKS.HEADING_5] = /*#__PURE__*/emotion.css(_templateObject7 || (_templateObject7 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1rem;\n "]))), _dropdown[Contentful.BLOCKS.HEADING_6] = /*#__PURE__*/emotion.css(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.875rem;\n "]))), _dropdown)
@@ -2602,7 +2386,7 @@ function ToolbarHeadingButton(props) {
2602
2386
  testId: "dropdown-option-" + nodeType,
2603
2387
  disabled: props.isDisabled
2604
2388
  }, /*#__PURE__*/React.createElement("span", {
2605
- className: emotion.cx(styles$7.dropdown.root, styles$7.dropdown[nodeType])
2389
+ className: emotion.cx(styles$4.dropdown.root, styles$4.dropdown[nodeType])
2606
2390
  }, LABELS[nodeType]));
2607
2391
  }).filter(Boolean)));
2608
2392
  }
@@ -2672,7 +2456,7 @@ var transformLift = function transformLift(editor, _ref4) {
2672
2456
  };
2673
2457
 
2674
2458
  var _templateObject$1, _templateObject2$1, _templateObject3$1, _templateObject4$1, _templateObject5$1, _templateObject6$1, _templateObject7$1, _templateObject8$1, _dropdown$1, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _headings, _HeadingComponents;
2675
- var styles$8 = {
2459
+ var styles$5 = {
2676
2460
  dropdown: (_dropdown$1 = {
2677
2461
  root: /*#__PURE__*/emotion.css(_templateObject$1 || (_templateObject$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-weight: ", ";\n "])), tokens.fontWeightDemiBold)
2678
2462
  }, _dropdown$1[Contentful.BLOCKS.PARAGRAPH] = /*#__PURE__*/emotion.css(_templateObject2$1 || (_templateObject2$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: ", ";\n "])), tokens.fontSizeL), _dropdown$1[Contentful.BLOCKS.HEADING_1] = /*#__PURE__*/emotion.css(_templateObject3$1 || (_templateObject3$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.625rem;\n "]))), _dropdown$1[Contentful.BLOCKS.HEADING_2] = /*#__PURE__*/emotion.css(_templateObject4$1 || (_templateObject4$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.4375rem;\n "]))), _dropdown$1[Contentful.BLOCKS.HEADING_3] = /*#__PURE__*/emotion.css(_templateObject5$1 || (_templateObject5$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.25rem;\n "]))), _dropdown$1[Contentful.BLOCKS.HEADING_4] = /*#__PURE__*/emotion.css(_templateObject6$1 || (_templateObject6$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1.125rem;\n "]))), _dropdown$1[Contentful.BLOCKS.HEADING_5] = /*#__PURE__*/emotion.css(_templateObject7$1 || (_templateObject7$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 1rem;\n "]))), _dropdown$1[Contentful.BLOCKS.HEADING_6] = /*#__PURE__*/emotion.css(_templateObject8$1 || (_templateObject8$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 0.875rem;\n "]))), _dropdown$1),
@@ -2684,7 +2468,7 @@ var styles$8 = {
2684
2468
  function createHeading(Tag, block) {
2685
2469
  return function Heading(props) {
2686
2470
  return /*#__PURE__*/React.createElement(Tag, Object.assign({}, props.attributes, {
2687
- className: emotion.cx(styles$8.headings.root, styles$8.headings[block])
2471
+ className: emotion.cx(styles$5.headings.root, styles$5.headings[block])
2688
2472
  }), props.children);
2689
2473
  };
2690
2474
  }
@@ -2780,7 +2564,7 @@ var createHeadingPlugin = function createHeadingPlugin() {
2780
2564
  };
2781
2565
  };
2782
2566
 
2783
- var styles$9 = {
2567
+ var styles$6 = {
2784
2568
  button: /*#__PURE__*/emotion.css({
2785
2569
  height: '30px',
2786
2570
  width: '30px',
@@ -2806,7 +2590,7 @@ function ToolbarButton(props) {
2806
2590
  };
2807
2591
 
2808
2592
  var button = /*#__PURE__*/React__default.createElement(f36Components.Button, {
2809
- className: emotion.cx(styles$9.button, className),
2593
+ className: emotion.cx(styles$6.button, className),
2810
2594
  isDisabled: isDisabled,
2811
2595
  startIcon: children,
2812
2596
  onClick: handleClick,
@@ -2817,7 +2601,7 @@ function ToolbarButton(props) {
2817
2601
 
2818
2602
  if (title) {
2819
2603
  return /*#__PURE__*/React__default.createElement(f36Components.Tooltip, {
2820
- className: styles$9.tooltip,
2604
+ className: styles$6.tooltip,
2821
2605
  placement: "bottom",
2822
2606
  content: title
2823
2607
  }, button);
@@ -2827,7 +2611,7 @@ function ToolbarButton(props) {
2827
2611
  }
2828
2612
 
2829
2613
  var _templateObject$2, _templateObject2$2, _templateObject3$2;
2830
- var styles$a = {
2614
+ var styles$7 = {
2831
2615
  container: /*#__PURE__*/emotion.css(_templateObject$2 || (_templateObject$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0 0 ", ";\n "])), tokens.spacingL),
2832
2616
  hr: /*#__PURE__*/emotion.css(_templateObject2$2 || (_templateObject2$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin: 0;\n height: ", ";\n background: transparent;\n position: relative;\n border: 0;\n user-select: none;\n &:hover {\n cursor: pointer;\n }\n &::after {\n content: '';\n position: absolute;\n width: 100%;\n height: 1px;\n background: ", ";\n top: 50%;\n }\n "])), tokens.spacingM, tokens.gray300),
2833
2617
  hrSelected: /*#__PURE__*/emotion.css(_templateObject3$2 || (_templateObject3$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n &::after {\n background: ", ";\n -webkit-box-shadow: 0px 0px 5px ", ";\n box-shadow: 0px 0px 5px ", ";\n }\n "])), tokens.colorPrimary, tokens.colorPrimary, tokens.colorPrimary)
@@ -2885,14 +2669,14 @@ function Hr(props) {
2885
2669
  var isSelected = Slate.useSelected();
2886
2670
  var isFocused = Slate.useFocused();
2887
2671
  return /*#__PURE__*/React.createElement("div", Object.assign({}, props.attributes, {
2888
- className: styles$a.container,
2672
+ className: styles$7.container,
2889
2673
  "data-void-element": Contentful.BLOCKS.HR
2890
2674
  }), /*#__PURE__*/React.createElement("div", {
2891
2675
  draggable: true,
2892
2676
  // Moving `contentEditable` to this div makes it to be selectable when being the first void element, e.g pressing ctrl + a to select everything
2893
2677
  contentEditable: false
2894
2678
  }, /*#__PURE__*/React.createElement("hr", {
2895
- className: emotion.cx(styles$a.hr, isSelected && isFocused ? styles$a.hrSelected : undefined)
2679
+ className: emotion.cx(styles$7.hr, isSelected && isFocused ? styles$7.hrSelected : undefined)
2896
2680
  })), props.children);
2897
2681
  }
2898
2682
  var createHrPlugin = function createHrPlugin() {
@@ -2919,7 +2703,7 @@ var createHrPlugin = function createHrPlugin() {
2919
2703
  };
2920
2704
 
2921
2705
  var _templateObject$3, _SYS_LINK_TYPES, _LINK_TYPE_SELECTION_;
2922
- var styles$b = {
2706
+ var styles$8 = {
2923
2707
  removeSelectionLabel: /*#__PURE__*/emotion.css(_templateObject$3 || (_templateObject$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n margin-left: ", ";\n "])), tokens.spacingS)
2924
2708
  };
2925
2709
  var SYS_LINK_TYPES = (_SYS_LINK_TYPES = {}, _SYS_LINK_TYPES[Contentful.INLINES.ENTRY_HYPERLINK] = 'Entry', _SYS_LINK_TYPES[Contentful.INLINES.ASSET_HYPERLINK] = 'Asset', _SYS_LINK_TYPES);
@@ -3102,7 +2886,7 @@ function HyperlinkModal(props) {
3102
2886
  }, "Link target", ' '), linkEntity && linkEntity.sys.linkType === SYS_LINK_TYPES[linkType] ? /*#__PURE__*/React.createElement(React.Fragment, null, !props.readonly && /*#__PURE__*/React.createElement(f36Components.TextLink, {
3103
2887
  testId: "entity-selection-link",
3104
2888
  onClick: resetLinkEntity,
3105
- className: styles$b.removeSelectionLabel
2889
+ className: styles$8.removeSelectionLabel
3106
2890
  }, "Remove selection"), /*#__PURE__*/React.createElement("div", null, linkType === Contentful.INLINES.ENTRY_HYPERLINK && /*#__PURE__*/React.createElement(FetchingWrappedEntryCard, {
3107
2891
  sdk: props.sdk,
3108
2892
  locale: props.sdk.field.locale,
@@ -3443,7 +3227,7 @@ function useEntityInfo(props) {
3443
3227
  return getEntityInfo(status.data);
3444
3228
  }
3445
3229
 
3446
- var styles$c = {
3230
+ var styles$9 = {
3447
3231
  hyperlinkWrapper: /*#__PURE__*/emotion.css({
3448
3232
  display: 'inline',
3449
3233
  position: 'static',
@@ -3488,13 +3272,13 @@ function EntityHyperlink(props) {
3488
3272
 
3489
3273
  return /*#__PURE__*/React.createElement(f36Components.Tooltip, {
3490
3274
  content: tooltipContent,
3491
- targetWrapperClassName: styles$c.hyperlinkWrapper,
3275
+ targetWrapperClassName: styles$9.hyperlinkWrapper,
3492
3276
  placement: "bottom",
3493
3277
  maxWidth: "auto"
3494
3278
  }, /*#__PURE__*/React.createElement(f36Components.TextLink, {
3495
3279
  as: "a",
3496
3280
  onClick: handleClick,
3497
- className: styles$c.hyperlink,
3281
+ className: styles$9.hyperlink,
3498
3282
  "data-link-type": target.sys.linkType,
3499
3283
  "data-link-id": target.sys.id
3500
3284
  }, props.children));
@@ -3518,7 +3302,7 @@ function UrlHyperlink(props) {
3518
3302
 
3519
3303
  return /*#__PURE__*/React.createElement(f36Components.Tooltip, {
3520
3304
  content: uri,
3521
- targetWrapperClassName: styles$c.hyperlinkWrapper,
3305
+ targetWrapperClassName: styles$9.hyperlinkWrapper,
3522
3306
  placement: "bottom",
3523
3307
  maxWidth: "auto"
3524
3308
  }, /*#__PURE__*/React.createElement(f36Components.TextLink, {
@@ -3526,7 +3310,7 @@ function UrlHyperlink(props) {
3526
3310
  href: uri,
3527
3311
  rel: "noopener noreferrer",
3528
3312
  onClick: handleClick,
3529
- className: styles$c.hyperlink
3313
+ className: styles$9.hyperlink
3530
3314
  }, props.children));
3531
3315
  }
3532
3316
 
@@ -3652,12 +3436,12 @@ var createHyperlinkPlugin = function createHyperlinkPlugin(sdk) {
3652
3436
 
3653
3437
  var _templateObject$4, _templateObject2$3, _templateObject3$3, _styles;
3654
3438
  var baseStyle = /*#__PURE__*/emotion.css(_templateObject$4 || (_templateObject$4 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n padding: 0;\n margin: 0 0 1.25rem 1.25rem;\n\n div:first-child {\n margin: 0;\n line-height: ", ";\n }\n"])), tokens.lineHeightDefault);
3655
- var styles$d = (_styles = {}, _styles[Contentful.BLOCKS.UL_LIST] = /*#__PURE__*/emotion.css(_templateObject2$3 || (_templateObject2$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n list-style-type: disc;\n ul {\n list-style-type: circle;\n ul {\n list-style-type: square;\n }\n }\n "]))), _styles[Contentful.BLOCKS.OL_LIST] = /*#__PURE__*/emotion.css(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n list-style-type: decimal;\n ol {\n list-style-type: upper-alpha;\n ol {\n list-style-type: lower-roman;\n ol {\n list-style-type: lower-alpha;\n }\n }\n }\n "]))), _styles);
3439
+ var styles$a = (_styles = {}, _styles[Contentful.BLOCKS.UL_LIST] = /*#__PURE__*/emotion.css(_templateObject2$3 || (_templateObject2$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n list-style-type: disc;\n ul {\n list-style-type: circle;\n ul {\n list-style-type: square;\n }\n }\n "]))), _styles[Contentful.BLOCKS.OL_LIST] = /*#__PURE__*/emotion.css(_templateObject3$3 || (_templateObject3$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n list-style-type: decimal;\n ol {\n list-style-type: upper-alpha;\n ol {\n list-style-type: lower-roman;\n ol {\n list-style-type: lower-alpha;\n }\n }\n }\n "]))), _styles);
3656
3440
 
3657
3441
  function createList(Tag, block) {
3658
3442
  return function List(props) {
3659
3443
  return /*#__PURE__*/React.createElement(Tag, Object.assign({}, props.attributes, {
3660
- className: emotion.cx(baseStyle, styles$d[block])
3444
+ className: emotion.cx(baseStyle, styles$a[block])
3661
3445
  }), props.children);
3662
3446
  };
3663
3447
  }
@@ -4638,14 +4422,14 @@ var ToolbarBoldButton = /*#__PURE__*/createMarkToolbarButton({
4638
4422
  mark: Contentful.MARKS.BOLD,
4639
4423
  icon: /*#__PURE__*/React.createElement(f36Icons.FormatBoldIcon, null)
4640
4424
  });
4641
- var styles$e = {
4425
+ var styles$b = {
4642
4426
  bold: /*#__PURE__*/emotion.css({
4643
4427
  fontWeight: 600
4644
4428
  })
4645
4429
  };
4646
4430
  function Bold(props) {
4647
4431
  return /*#__PURE__*/React.createElement("strong", Object.assign({}, props.attributes, {
4648
- className: styles$e.bold
4432
+ className: styles$b.bold
4649
4433
  }), props.children);
4650
4434
  }
4651
4435
 
@@ -4685,7 +4469,7 @@ var ToolbarCodeButton = /*#__PURE__*/createMarkToolbarButton({
4685
4469
  mark: Contentful.MARKS.CODE,
4686
4470
  icon: /*#__PURE__*/React.createElement(f36Icons.CodeIcon, null)
4687
4471
  });
4688
- var styles$f = {
4472
+ var styles$c = {
4689
4473
  code: /*#__PURE__*/emotion.css({
4690
4474
  fontFamily: 'monospace',
4691
4475
  fontSize: '.9em'
@@ -4693,7 +4477,7 @@ var styles$f = {
4693
4477
  };
4694
4478
  function Code(props) {
4695
4479
  return /*#__PURE__*/React.createElement("code", Object.assign({}, props.attributes, {
4696
- className: styles$f.code
4480
+ className: styles$c.code
4697
4481
  }), props.children);
4698
4482
  }
4699
4483
  var createCodePlugin = function createCodePlugin() {
@@ -4723,14 +4507,14 @@ var ToolbarItalicButton = /*#__PURE__*/createMarkToolbarButton({
4723
4507
  mark: Contentful.MARKS.ITALIC,
4724
4508
  icon: /*#__PURE__*/React.createElement(f36Icons.FormatItalicIcon, null)
4725
4509
  });
4726
- var styles$g = {
4510
+ var styles$d = {
4727
4511
  italic: /*#__PURE__*/emotion.css({
4728
4512
  fontStyle: 'italic'
4729
4513
  })
4730
4514
  };
4731
4515
  function Italic(props) {
4732
4516
  return /*#__PURE__*/React.createElement("em", Object.assign({}, props.attributes, {
4733
- className: styles$g.italic
4517
+ className: styles$d.italic
4734
4518
  }), props.children);
4735
4519
  }
4736
4520
  var createItalicPlugin = function createItalicPlugin() {
@@ -5006,10 +4790,10 @@ var createNormalizerPlugin = function createNormalizerPlugin() {
5006
4790
  };
5007
4791
 
5008
4792
  var _templateObject$6, _styles$1;
5009
- var styles$h = (_styles$1 = {}, _styles$1[Contentful.BLOCKS.PARAGRAPH] = /*#__PURE__*/emotion.css(_templateObject$6 || (_templateObject$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n line-height: ", ";\n margin-bottom: 1.5em;\n "])), tokens.lineHeightDefault), _styles$1);
4793
+ var styles$e = (_styles$1 = {}, _styles$1[Contentful.BLOCKS.PARAGRAPH] = /*#__PURE__*/emotion.css(_templateObject$6 || (_templateObject$6 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n line-height: ", ";\n margin-bottom: 1.5em;\n "])), tokens.lineHeightDefault), _styles$1);
5010
4794
  function Paragraph(props) {
5011
4795
  return /*#__PURE__*/React.createElement("div", Object.assign({}, props.attributes, {
5012
- className: styles$h[Contentful.BLOCKS.PARAGRAPH]
4796
+ className: styles$e[Contentful.BLOCKS.PARAGRAPH]
5013
4797
  }), props.children);
5014
4798
  }
5015
4799
 
@@ -5830,7 +5614,7 @@ var isTable = function isTable(node) {
5830
5614
  return slate.Element.isElement(node) && node.type === Contentful.BLOCKS.TABLE;
5831
5615
  };
5832
5616
 
5833
- var styles$i = {
5617
+ var styles$f = {
5834
5618
  topRight: /*#__PURE__*/emotion.css({
5835
5619
  position: 'absolute',
5836
5620
  top: '6px',
@@ -5919,7 +5703,7 @@ var TableActions = function TableActions() {
5919
5703
  size: "small",
5920
5704
  variant: "transparent",
5921
5705
  tabIndex: -1,
5922
- className: styles$i.topRight,
5706
+ className: styles$f.topRight,
5923
5707
  icon: /*#__PURE__*/React__default.createElement(f36Icons.ChevronDownIcon, null),
5924
5708
  "aria-label": "Open table menu",
5925
5709
  testId: "cf-table-actions-button"
@@ -6853,7 +6637,7 @@ var normalizeEditorValue = function normalizeEditorValue(value, options) {
6853
6637
  };
6854
6638
 
6855
6639
  var STYLE_EDITOR_BORDER = "1px solid " + tokens.gray400;
6856
- var styles$j = {
6640
+ var styles$g = {
6857
6641
  root: /*#__PURE__*/emotion.css({
6858
6642
  position: 'relative'
6859
6643
  }),
@@ -6969,7 +6753,7 @@ var EmbedEntityWidget = function EmbedEntityWidget(_ref) {
6969
6753
  }, actions);
6970
6754
  };
6971
6755
 
6972
- var styles$k = {
6756
+ var styles$h = {
6973
6757
  toolbar: /*#__PURE__*/emotion.css({
6974
6758
  border: "1px solid " + tokens.gray400,
6975
6759
  backgroundColor: tokens.gray100,
@@ -7014,14 +6798,14 @@ var Toolbar = function Toolbar(_ref) {
7014
6798
  var shouldDisableTables = isDisabled || !canInsertBlocks || isListSelected || isBlockquoteSelected;
7015
6799
  return /*#__PURE__*/React__default.createElement(f36Components.Flex, {
7016
6800
  testId: "toolbar",
7017
- className: styles$k.toolbar,
6801
+ className: styles$h.toolbar,
7018
6802
  alignItems: "center"
7019
6803
  }, /*#__PURE__*/React__default.createElement("div", {
7020
- className: styles$k.formattingOptionsWrapper
6804
+ className: styles$h.formattingOptionsWrapper
7021
6805
  }, /*#__PURE__*/React__default.createElement(ToolbarHeadingButton, {
7022
6806
  isDisabled: isDisabled || !canInsertBlocks
7023
6807
  }), validationInfo.isAnyMarkEnabled && /*#__PURE__*/React__default.createElement("span", {
7024
- className: styles$k.divider
6808
+ className: styles$h.divider
7025
6809
  }), isMarkEnabled(sdk.field, Contentful.MARKS.BOLD) && /*#__PURE__*/React__default.createElement(ToolbarBoldButton, {
7026
6810
  isDisabled: isDisabled
7027
6811
  }), isMarkEnabled(sdk.field, Contentful.MARKS.ITALIC) && /*#__PURE__*/React__default.createElement(ToolbarItalicButton, {
@@ -7031,11 +6815,11 @@ var Toolbar = function Toolbar(_ref) {
7031
6815
  }), isMarkEnabled(sdk.field, Contentful.MARKS.CODE) && /*#__PURE__*/React__default.createElement(ToolbarCodeButton, {
7032
6816
  isDisabled: isDisabled
7033
6817
  }), validationInfo.isAnyHyperlinkEnabled && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("span", {
7034
- className: styles$k.divider
6818
+ className: styles$h.divider
7035
6819
  }), /*#__PURE__*/React__default.createElement(ToolbarHyperlinkButton, {
7036
6820
  isDisabled: isDisabled
7037
6821
  })), validationInfo.isAnyBlockFormattingEnabled && /*#__PURE__*/React__default.createElement("span", {
7038
- className: styles$k.divider
6822
+ className: styles$h.divider
7039
6823
  }), /*#__PURE__*/React__default.createElement(ToolbarListButton, {
7040
6824
  isDisabled: isDisabled || !canInsertBlocks
7041
6825
  }), isNodeTypeEnabled(sdk.field, Contentful.BLOCKS.QUOTE) && /*#__PURE__*/React__default.createElement(ToolbarQuoteButton, {
@@ -7045,7 +6829,7 @@ var Toolbar = function Toolbar(_ref) {
7045
6829
  }), isNodeTypeEnabled(sdk.field, Contentful.BLOCKS.TABLE) && /*#__PURE__*/React__default.createElement(ToolbarTableButton, {
7046
6830
  isDisabled: shouldDisableTables
7047
6831
  })), /*#__PURE__*/React__default.createElement("div", {
7048
- className: styles$k.embedActionsWrapper
6832
+ className: styles$h.embedActionsWrapper
7049
6833
  }, /*#__PURE__*/React__default.createElement(EmbedEntityWidget, {
7050
6834
  isDisabled: isDisabled,
7051
6835
  canInsertBlocks: canInsertBlocks
@@ -7070,7 +6854,7 @@ function getValidationInfo(field) {
7070
6854
  }
7071
6855
 
7072
6856
  var _templateObject$b;
7073
- var styles$l = {
6857
+ var styles$i = {
7074
6858
  nativeSticky: /*#__PURE__*/emotion.css(_templateObject$b || (_templateObject$b = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n position: -webkit-sticky;\n position: sticky;\n top: -1px;\n z-index: 2;\n "])))
7075
6859
  };
7076
6860
 
@@ -7078,7 +6862,7 @@ var StickyToolbarWrapper = function StickyToolbarWrapper(_ref) {
7078
6862
  var isDisabled = _ref.isDisabled,
7079
6863
  children = _ref.children;
7080
6864
  return /*#__PURE__*/React__default.createElement("div", {
7081
- className: isDisabled ? '' : styles$l.nativeSticky
6865
+ className: isDisabled ? '' : styles$i.nativeSticky
7082
6866
  }, children);
7083
6867
  };
7084
6868
 
@@ -7173,9 +6957,9 @@ var ConnectedRichTextEditor = function ConnectedRichTextEditor(props) {
7173
6957
  setPendingExternalUpdate(true);
7174
6958
  setEditorContent(editor, documentToEditorValue(props.value));
7175
6959
  }, [props.value, id]);
7176
- var classNames = emotion.cx(styles$j.editor, props.minHeight !== undefined ? emotion.css({
6960
+ var classNames = emotion.cx(styles$g.editor, props.minHeight !== undefined ? emotion.css({
7177
6961
  minHeight: props.minHeight
7178
- }) : undefined, props.isDisabled ? styles$j.disabled : styles$j.enabled, props.isToolbarHidden && styles$j.hiddenToolbar);
6962
+ }) : undefined, props.isDisabled ? styles$g.disabled : styles$g.enabled, props.isToolbarHidden && styles$g.hiddenToolbar);
7179
6963
  React.useEffect(function () {
7180
6964
  if (!isFirstRender) {
7181
6965
  return;
@@ -7191,7 +6975,7 @@ var ConnectedRichTextEditor = function ConnectedRichTextEditor(props) {
7191
6975
  }, /*#__PURE__*/React__default.createElement(ContentfulEditorIdProvider, {
7192
6976
  value: id
7193
6977
  }, /*#__PURE__*/React__default.createElement("div", {
7194
- className: styles$j.root,
6978
+ className: styles$g.root,
7195
6979
  "data-test-id": "rich-text-editor"
7196
6980
  }, /*#__PURE__*/React__default.createElement(plateCore.Plate, {
7197
6981
  id: id,
@@ -7218,7 +7002,7 @@ var RichTextEditor = function RichTextEditor(props) {
7218
7002
  otherProps = _objectWithoutPropertiesLoose(props, _excluded);
7219
7003
 
7220
7004
  var isEmptyValue = React.useCallback(function (value) {
7221
- return !value || deepEquals(value, Contentful.EMPTY_DOCUMENT);
7005
+ return !value || areEqual(value, Contentful.EMPTY_DOCUMENT);
7222
7006
  }, []);
7223
7007
  var id = getContentfulEditorId(props.sdk);
7224
7008
  return /*#__PURE__*/React__default.createElement(fieldEditorReference.EntityProvider, {
@@ -7228,7 +7012,7 @@ var RichTextEditor = function RichTextEditor(props) {
7228
7012
  field: sdk.field,
7229
7013
  isInitiallyDisabled: isInitiallyDisabled,
7230
7014
  isEmptyValue: isEmptyValue,
7231
- isEqualValues: deepEquals
7015
+ isEqualValues: areEqual
7232
7016
  }, function (_ref) {
7233
7017
  var lastRemoteValue = _ref.lastRemoteValue,
7234
7018
  disabled = _ref.disabled,