@atlaskit/editor-plugin-synced-block 11.0.2 → 11.0.4

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/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/editor-plugin-synced-block
2
2
 
3
+ ## 11.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 11.0.3
10
+
11
+ ### Patch Changes
12
+
13
+ - [`7167e21d35f98`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/7167e21d35f98) -
14
+ Include the source block in synced location toolbar counts and explain the empty state in a
15
+ tooltip
16
+ - Updated dependencies
17
+
3
18
  ## 11.0.2
4
19
 
5
20
  ### Patch Changes
@@ -477,6 +477,13 @@ var SyncedLocationDropdownWithCount = exports.SyncedLocationDropdownWithCount =
477
477
  }),
478
478
  fetchStatus = _useReferenceData.fetchStatus,
479
479
  referenceData = _useReferenceData.referenceData;
480
+ var referenceCount = (0, _react.useMemo)(function () {
481
+ return referenceData.filter(function (_ref0) {
482
+ var isSourceItem = _ref0.isSource;
483
+ return !isSourceItem;
484
+ }).length;
485
+ }, [referenceData]);
486
+ var tooltipContent = !isOpen && fetchStatus === 'success' && referenceCount === 0 ? intl.formatMessage(_messages.syncBlockMessages.syncedLocationDropdownNoReferencesTooltip) : null;
480
487
  var content = isOpen ? /*#__PURE__*/React.createElement(DropdownContentWithReferenceData, {
481
488
  resourceId: resourceId,
482
489
  intl: intl,
@@ -514,13 +521,14 @@ var SyncedLocationDropdownWithCount = exports.SyncedLocationDropdownWithCount =
514
521
  size: "small"
515
522
  }),
516
523
  onClick: toggleOpen,
517
- ariaHasPopup: true
524
+ ariaHasPopup: true,
525
+ tooltipContent: tooltipContent !== null && tooltipContent !== void 0 ? tooltipContent : undefined
518
526
  }, /*#__PURE__*/React.createElement(SyncedLocationTriggerContent, {
519
527
  intl: intl,
520
528
  fetchStatus: fetchStatus,
521
- referenceData: referenceData
529
+ referenceCount: referenceCount
522
530
  }));
523
- }, [fetchStatus, intl, isOpen, referenceData, toggleOpen]);
531
+ }, [fetchStatus, intl, isOpen, referenceCount, toggleOpen, tooltipContent]);
524
532
  return /*#__PURE__*/React.createElement(_uiMenu.DropdownContainer, {
525
533
  alignX: "center",
526
534
  testId: SYNCED_LOCATIONS_DROPDOWN_TEST_ID,
@@ -538,13 +546,13 @@ var SyncedLocationDropdownWithCount = exports.SyncedLocationDropdownWithCount =
538
546
  }
539
547
  }, content);
540
548
  };
541
- var DropdownContent = function DropdownContent(_ref0) {
542
- var syncBlockStore = _ref0.syncBlockStore,
543
- resourceId = _ref0.resourceId,
544
- intl = _ref0.intl,
545
- isSource = _ref0.isSource,
546
- localId = _ref0.localId,
547
- api = _ref0.api;
549
+ var DropdownContent = function DropdownContent(_ref1) {
550
+ var syncBlockStore = _ref1.syncBlockStore,
551
+ resourceId = _ref1.resourceId,
552
+ intl = _ref1.intl,
553
+ isSource = _ref1.isSource,
554
+ localId = _ref1.localId,
555
+ api = _ref1.api;
548
556
  var _useState7 = (0, _react.useState)('none'),
549
557
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
550
558
  fetchStatus = _useState8[0],
@@ -556,7 +564,7 @@ var DropdownContent = function DropdownContent(_ref0) {
556
564
  (0, _react.useEffect)(function () {
557
565
  setFetchStatus('loading');
558
566
  var getReferenceData = /*#__PURE__*/function () {
559
- var _ref1 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
567
+ var _ref10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
560
568
  var response;
561
569
  return _regenerator.default.wrap(function (_context) {
562
570
  while (1) switch (_context.prev = _context.next) {
@@ -581,7 +589,7 @@ var DropdownContent = function DropdownContent(_ref0) {
581
589
  }, _callee);
582
590
  }));
583
591
  return function getReferenceData() {
584
- return _ref1.apply(this, arguments);
592
+ return _ref10.apply(this, arguments);
585
593
  };
586
594
  }();
587
595
  void getReferenceData();
@@ -594,12 +602,12 @@ var DropdownContent = function DropdownContent(_ref0) {
594
602
  referenceData: referenceData
595
603
  });
596
604
  };
597
- var useReferenceData = function useReferenceData(_ref10) {
598
- var syncBlockStore = _ref10.syncBlockStore,
599
- resourceId = _ref10.resourceId,
600
- intl = _ref10.intl,
601
- isSource = _ref10.isSource,
602
- localId = _ref10.localId;
605
+ var useReferenceData = function useReferenceData(_ref11) {
606
+ var syncBlockStore = _ref11.syncBlockStore,
607
+ resourceId = _ref11.resourceId,
608
+ intl = _ref11.intl,
609
+ isSource = _ref11.isSource,
610
+ localId = _ref11.localId;
603
611
  var _useState1 = (0, _react.useState)(function () {
604
612
  return isSource && syncBlockStore.sourceManager.isNewSourceBlock(resourceId);
605
613
  }),
@@ -621,7 +629,7 @@ var useReferenceData = function useReferenceData(_ref10) {
621
629
  referenceData: []
622
630
  });
623
631
  var getReferenceData = /*#__PURE__*/function () {
624
- var _ref11 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
632
+ var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
625
633
  var response;
626
634
  return _regenerator.default.wrap(function (_context2) {
627
635
  while (1) switch (_context2.prev = _context2.next) {
@@ -660,7 +668,7 @@ var useReferenceData = function useReferenceData(_ref10) {
660
668
  }, _callee2);
661
669
  }));
662
670
  return function getReferenceData() {
663
- return _ref11.apply(this, arguments);
671
+ return _ref12.apply(this, arguments);
664
672
  };
665
673
  }();
666
674
  void getReferenceData();
@@ -673,18 +681,13 @@ var useReferenceData = function useReferenceData(_ref10) {
673
681
  referenceData: state.referenceData
674
682
  };
675
683
  };
676
- var SyncedLocationTriggerContent = function SyncedLocationTriggerContent(_ref12) {
677
- var intl = _ref12.intl,
678
- fetchStatus = _ref12.fetchStatus,
679
- referenceData = _ref12.referenceData;
684
+ var SyncedLocationTriggerContent = function SyncedLocationTriggerContent(_ref13) {
685
+ var intl = _ref13.intl,
686
+ fetchStatus = _ref13.fetchStatus,
687
+ referenceCount = _ref13.referenceCount;
680
688
  var formatMessage = intl.formatMessage;
681
689
  var triggerTitle = formatMessage(_messages.syncBlockMessages.syncedLocationDropdownTitle);
682
- var referenceCount = (0, _react.useMemo)(function () {
683
- return referenceData.filter(function (_ref13) {
684
- var isSource = _ref13.isSource;
685
- return !isSource;
686
- }).length;
687
- }, [referenceData]);
690
+ var syncedLocationCount = referenceCount === 0 ? 0 : referenceCount + 1;
688
691
  switch (fetchStatus) {
689
692
  case 'loading':
690
693
  return /*#__PURE__*/React.createElement(_compiled.Inline, {
@@ -696,7 +699,7 @@ var SyncedLocationTriggerContent = function SyncedLocationTriggerContent(_ref12)
696
699
  }));
697
700
  case 'success':
698
701
  {
699
- var count = referenceCount > 99 ? '99+' : intl.formatNumber(referenceCount);
702
+ var count = syncedLocationCount > 99 ? '99+' : intl.formatNumber(syncedLocationCount);
700
703
  return formatMessage(_messages.syncBlockMessages.syncedLocationDropdownTitleWithCount, {
701
704
  count: count
702
705
  });
@@ -446,6 +446,10 @@ export const SyncedLocationDropdownWithCount = ({
446
446
  resourceId,
447
447
  syncBlockStore
448
448
  });
449
+ const referenceCount = useMemo(() => referenceData.filter(({
450
+ isSource: isSourceItem
451
+ }) => !isSourceItem).length, [referenceData]);
452
+ const tooltipContent = !isOpen && fetchStatus === 'success' && referenceCount === 0 ? intl.formatMessage(messages.syncedLocationDropdownNoReferencesTooltip) : null;
449
453
  const content = isOpen ? /*#__PURE__*/React.createElement(DropdownContentWithReferenceData, {
450
454
  resourceId: resourceId,
451
455
  intl: intl,
@@ -480,12 +484,13 @@ export const SyncedLocationDropdownWithCount = ({
480
484
  size: "small"
481
485
  }),
482
486
  onClick: toggleOpen,
483
- ariaHasPopup: true
487
+ ariaHasPopup: true,
488
+ tooltipContent: tooltipContent !== null && tooltipContent !== void 0 ? tooltipContent : undefined
484
489
  }, /*#__PURE__*/React.createElement(SyncedLocationTriggerContent, {
485
490
  intl: intl,
486
491
  fetchStatus: fetchStatus,
487
- referenceData: referenceData
488
- })), [fetchStatus, intl, isOpen, referenceData, toggleOpen]);
492
+ referenceCount: referenceCount
493
+ })), [fetchStatus, intl, isOpen, referenceCount, toggleOpen, tooltipContent]);
489
494
  return /*#__PURE__*/React.createElement(DropdownContainer, {
490
495
  alignX: "center",
491
496
  testId: SYNCED_LOCATIONS_DROPDOWN_TEST_ID,
@@ -585,15 +590,13 @@ const useReferenceData = ({
585
590
  const SyncedLocationTriggerContent = ({
586
591
  intl,
587
592
  fetchStatus,
588
- referenceData
593
+ referenceCount
589
594
  }) => {
590
595
  const {
591
596
  formatMessage
592
597
  } = intl;
593
598
  const triggerTitle = formatMessage(messages.syncedLocationDropdownTitle);
594
- const referenceCount = useMemo(() => referenceData.filter(({
595
- isSource
596
- }) => !isSource).length, [referenceData]);
599
+ const syncedLocationCount = referenceCount === 0 ? 0 : referenceCount + 1;
597
600
  switch (fetchStatus) {
598
601
  case 'loading':
599
602
  return /*#__PURE__*/React.createElement(Inline, {
@@ -605,7 +608,7 @@ const SyncedLocationTriggerContent = ({
605
608
  }));
606
609
  case 'success':
607
610
  {
608
- const count = referenceCount > 99 ? '99+' : intl.formatNumber(referenceCount);
611
+ const count = syncedLocationCount > 99 ? '99+' : intl.formatNumber(syncedLocationCount);
609
612
  return formatMessage(messages.syncedLocationDropdownTitleWithCount, {
610
613
  count
611
614
  });
@@ -469,6 +469,13 @@ export var SyncedLocationDropdownWithCount = function SyncedLocationDropdownWith
469
469
  }),
470
470
  fetchStatus = _useReferenceData.fetchStatus,
471
471
  referenceData = _useReferenceData.referenceData;
472
+ var referenceCount = useMemo(function () {
473
+ return referenceData.filter(function (_ref0) {
474
+ var isSourceItem = _ref0.isSource;
475
+ return !isSourceItem;
476
+ }).length;
477
+ }, [referenceData]);
478
+ var tooltipContent = !isOpen && fetchStatus === 'success' && referenceCount === 0 ? intl.formatMessage(messages.syncedLocationDropdownNoReferencesTooltip) : null;
472
479
  var content = isOpen ? /*#__PURE__*/React.createElement(DropdownContentWithReferenceData, {
473
480
  resourceId: resourceId,
474
481
  intl: intl,
@@ -506,13 +513,14 @@ export var SyncedLocationDropdownWithCount = function SyncedLocationDropdownWith
506
513
  size: "small"
507
514
  }),
508
515
  onClick: toggleOpen,
509
- ariaHasPopup: true
516
+ ariaHasPopup: true,
517
+ tooltipContent: tooltipContent !== null && tooltipContent !== void 0 ? tooltipContent : undefined
510
518
  }, /*#__PURE__*/React.createElement(SyncedLocationTriggerContent, {
511
519
  intl: intl,
512
520
  fetchStatus: fetchStatus,
513
- referenceData: referenceData
521
+ referenceCount: referenceCount
514
522
  }));
515
- }, [fetchStatus, intl, isOpen, referenceData, toggleOpen]);
523
+ }, [fetchStatus, intl, isOpen, referenceCount, toggleOpen, tooltipContent]);
516
524
  return /*#__PURE__*/React.createElement(DropdownContainer, {
517
525
  alignX: "center",
518
526
  testId: SYNCED_LOCATIONS_DROPDOWN_TEST_ID,
@@ -530,13 +538,13 @@ export var SyncedLocationDropdownWithCount = function SyncedLocationDropdownWith
530
538
  }
531
539
  }, content);
532
540
  };
533
- var DropdownContent = function DropdownContent(_ref0) {
534
- var syncBlockStore = _ref0.syncBlockStore,
535
- resourceId = _ref0.resourceId,
536
- intl = _ref0.intl,
537
- isSource = _ref0.isSource,
538
- localId = _ref0.localId,
539
- api = _ref0.api;
541
+ var DropdownContent = function DropdownContent(_ref1) {
542
+ var syncBlockStore = _ref1.syncBlockStore,
543
+ resourceId = _ref1.resourceId,
544
+ intl = _ref1.intl,
545
+ isSource = _ref1.isSource,
546
+ localId = _ref1.localId,
547
+ api = _ref1.api;
540
548
  var _useState7 = useState('none'),
541
549
  _useState8 = _slicedToArray(_useState7, 2),
542
550
  fetchStatus = _useState8[0],
@@ -548,7 +556,7 @@ var DropdownContent = function DropdownContent(_ref0) {
548
556
  useEffect(function () {
549
557
  setFetchStatus('loading');
550
558
  var getReferenceData = /*#__PURE__*/function () {
551
- var _ref1 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
559
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
552
560
  var response;
553
561
  return _regeneratorRuntime.wrap(function (_context) {
554
562
  while (1) switch (_context.prev = _context.next) {
@@ -573,7 +581,7 @@ var DropdownContent = function DropdownContent(_ref0) {
573
581
  }, _callee);
574
582
  }));
575
583
  return function getReferenceData() {
576
- return _ref1.apply(this, arguments);
584
+ return _ref10.apply(this, arguments);
577
585
  };
578
586
  }();
579
587
  void getReferenceData();
@@ -586,12 +594,12 @@ var DropdownContent = function DropdownContent(_ref0) {
586
594
  referenceData: referenceData
587
595
  });
588
596
  };
589
- var useReferenceData = function useReferenceData(_ref10) {
590
- var syncBlockStore = _ref10.syncBlockStore,
591
- resourceId = _ref10.resourceId,
592
- intl = _ref10.intl,
593
- isSource = _ref10.isSource,
594
- localId = _ref10.localId;
597
+ var useReferenceData = function useReferenceData(_ref11) {
598
+ var syncBlockStore = _ref11.syncBlockStore,
599
+ resourceId = _ref11.resourceId,
600
+ intl = _ref11.intl,
601
+ isSource = _ref11.isSource,
602
+ localId = _ref11.localId;
595
603
  var _useState1 = useState(function () {
596
604
  return isSource && syncBlockStore.sourceManager.isNewSourceBlock(resourceId);
597
605
  }),
@@ -613,7 +621,7 @@ var useReferenceData = function useReferenceData(_ref10) {
613
621
  referenceData: []
614
622
  });
615
623
  var getReferenceData = /*#__PURE__*/function () {
616
- var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
624
+ var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
617
625
  var response;
618
626
  return _regeneratorRuntime.wrap(function (_context2) {
619
627
  while (1) switch (_context2.prev = _context2.next) {
@@ -652,7 +660,7 @@ var useReferenceData = function useReferenceData(_ref10) {
652
660
  }, _callee2);
653
661
  }));
654
662
  return function getReferenceData() {
655
- return _ref11.apply(this, arguments);
663
+ return _ref12.apply(this, arguments);
656
664
  };
657
665
  }();
658
666
  void getReferenceData();
@@ -665,18 +673,13 @@ var useReferenceData = function useReferenceData(_ref10) {
665
673
  referenceData: state.referenceData
666
674
  };
667
675
  };
668
- var SyncedLocationTriggerContent = function SyncedLocationTriggerContent(_ref12) {
669
- var intl = _ref12.intl,
670
- fetchStatus = _ref12.fetchStatus,
671
- referenceData = _ref12.referenceData;
676
+ var SyncedLocationTriggerContent = function SyncedLocationTriggerContent(_ref13) {
677
+ var intl = _ref13.intl,
678
+ fetchStatus = _ref13.fetchStatus,
679
+ referenceCount = _ref13.referenceCount;
672
680
  var formatMessage = intl.formatMessage;
673
681
  var triggerTitle = formatMessage(messages.syncedLocationDropdownTitle);
674
- var referenceCount = useMemo(function () {
675
- return referenceData.filter(function (_ref13) {
676
- var isSource = _ref13.isSource;
677
- return !isSource;
678
- }).length;
679
- }, [referenceData]);
682
+ var syncedLocationCount = referenceCount === 0 ? 0 : referenceCount + 1;
680
683
  switch (fetchStatus) {
681
684
  case 'loading':
682
685
  return /*#__PURE__*/React.createElement(Inline, {
@@ -688,7 +691,7 @@ var SyncedLocationTriggerContent = function SyncedLocationTriggerContent(_ref12)
688
691
  }));
689
692
  case 'success':
690
693
  {
691
- var count = referenceCount > 99 ? '99+' : intl.formatNumber(referenceCount);
694
+ var count = syncedLocationCount > 99 ? '99+' : intl.formatNumber(syncedLocationCount);
692
695
  return formatMessage(messages.syncedLocationDropdownTitleWithCount, {
693
696
  count: count
694
697
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-synced-block",
3
- "version": "11.0.2",
3
+ "version": "11.0.4",
4
4
  "description": "SyncedBlock plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -38,8 +38,8 @@
38
38
  "@atlaskit/editor-synced-block-provider": "^9.0.0",
39
39
  "@atlaskit/editor-toolbar": "^2.4.0",
40
40
  "@atlaskit/flag": "^18.2.0",
41
- "@atlaskit/icon": "37.2.4",
42
- "@atlaskit/icon-lab": "^7.4.0",
41
+ "@atlaskit/icon": "37.3.0",
42
+ "@atlaskit/icon-lab": "^7.5.0",
43
43
  "@atlaskit/logo": "^21.4.0",
44
44
  "@atlaskit/lozenge": "^15.0.0",
45
45
  "@atlaskit/modal-dialog": "^16.2.0",
@@ -58,7 +58,7 @@
58
58
  "memoize-one": "^6.0.0"
59
59
  },
60
60
  "peerDependencies": {
61
- "@atlaskit/editor-common": "^117.1.0",
61
+ "@atlaskit/editor-common": "^117.2.0",
62
62
  "react": "^18.2.0 || ^19.2.0",
63
63
  "react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
64
64
  },