@contentful/field-editor-rich-text 2.1.1 → 2.2.0

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.
@@ -577,6 +577,10 @@ var useCommandList = function useCommandList(commandItems, container) {
577
577
  selectedItem = _React$useState[0],
578
578
  setSelectedItem = _React$useState[1];
579
579
 
580
+ var _React$useState2 = useState(commandItems.length > 0),
581
+ isOpen = _React$useState2[0],
582
+ setIsOpen = _React$useState2[1];
583
+
580
584
  useEffect(function () {
581
585
  if (!(container != null && container.current)) {
582
586
  return;
@@ -641,8 +645,21 @@ var useCommandList = function useCommandList(commandItems, container) {
641
645
  return window.removeEventListener('keydown', handleKeyDown);
642
646
  };
643
647
  }, [commandItems, container, selectedItem]);
648
+ useEffect(function () {
649
+ var handleClick = function handleClick(event) {
650
+ if (container.current && !container.current.contains(event.target)) {
651
+ setIsOpen(false);
652
+ }
653
+ };
654
+
655
+ document.addEventListener('click', handleClick);
656
+ return function () {
657
+ document.removeEventListener('click', handleClick);
658
+ };
659
+ }, [container]);
644
660
  return {
645
- selectedItem: selectedItem
661
+ selectedItem: selectedItem,
662
+ isOpen: isOpen
646
663
  };
647
664
  };
648
665
 
@@ -1585,6 +1602,9 @@ var useCommands = function useCommands(sdk, query, editor) {
1585
1602
  editor.insertSoftBreak();
1586
1603
  insertBlock(editor, BLOCKS.EMBEDDED_ENTRY, entry.entry);
1587
1604
  Transforms.select(editor, selection);
1605
+ editor.tracking.onCommandPaletteAction('insert', {
1606
+ nodeType: BLOCKS.EMBEDDED_ENTRY
1607
+ });
1588
1608
  }
1589
1609
  }
1590
1610
  };
@@ -1614,6 +1634,9 @@ var useCommands = function useCommands(sdk, query, editor) {
1614
1634
  removeCommand(editor);
1615
1635
  Transforms.insertNodes(editor, inlineNode);
1616
1636
  editor.insertText('');
1637
+ editor.tracking.onCommandPaletteAction('insert', {
1638
+ nodeType: INLINES.EMBEDDED_ENTRY
1639
+ });
1617
1640
  }
1618
1641
  };
1619
1642
  }));
@@ -1651,6 +1674,9 @@ var useCommands = function useCommands(sdk, query, editor) {
1651
1674
  editor.insertSoftBreak();
1652
1675
  insertBlock(editor, BLOCKS.EMBEDDED_ASSET, asset.entity);
1653
1676
  Transforms.select(editor, selection);
1677
+ editor.tracking.onCommandPaletteAction('insert', {
1678
+ nodeType: BLOCKS.EMBEDDED_ASSET
1679
+ });
1654
1680
  }
1655
1681
  }
1656
1682
  };
@@ -1851,11 +1877,8 @@ var CommandList = function CommandList(_ref5) {
1851
1877
  var commandItems = useCommands(sdk, query, editor);
1852
1878
 
1853
1879
  var _useCommandList = useCommandList(commandItems, container),
1854
- selectedItem = _useCommandList.selectedItem;
1855
-
1856
- if (commandItems.length === 0) {
1857
- return null;
1858
- }
1880
+ selectedItem = _useCommandList.selectedItem,
1881
+ isOpen = _useCommandList.isOpen;
1859
1882
 
1860
1883
  return /*#__PURE__*/createElement("div", {
1861
1884
  className: styles.container,
@@ -1867,7 +1890,7 @@ var CommandList = function CommandList(_ref5) {
1867
1890
  }, /*#__PURE__*/createElement(ScreenReaderOnly, null, "Richtext commands. Currently focused item: ", selectedItem, ". Press ", /*#__PURE__*/createElement("kbd", null, "enter"), " to select, ", /*#__PURE__*/createElement("kbd", null, "arrows"), " to navigate, ", /*#__PURE__*/createElement("kbd", null, "escape"), " to close.")), /*#__PURE__*/createElement("div", {
1868
1891
  "aria-hidden": true
1869
1892
  }, /*#__PURE__*/createElement(Popover, {
1870
- isOpen: true,
1893
+ isOpen: isOpen,
1871
1894
  usePortal: false,
1872
1895
 
1873
1896
  /* eslint-disable-next-line jsx-a11y/no-autofocus -- we want to keep focus on text input*/
@@ -1915,6 +1938,7 @@ var createOnKeyDown = function createOnKeyDown() {
1915
1938
  var _setMarks;
1916
1939
 
1917
1940
  setMarks(editor, (_setMarks = {}, _setMarks[COMMAND_PROMPT] = true, _setMarks));
1941
+ editor.tracking.onCommandPaletteAction('openRichTextCommandPalette');
1918
1942
  }
1919
1943
 
1920
1944
  var isActive = isMarkActive(editor, COMMAND_PROMPT);
@@ -1944,6 +1968,7 @@ var createOnKeyDown = function createOnKeyDown() {
1944
1968
  key: COMMAND_PROMPT,
1945
1969
  at: _range
1946
1970
  });
1971
+ editor.tracking.onCommandPaletteAction('cancelRichTextCommandPalette');
1947
1972
  }
1948
1973
  }
1949
1974
  };