@atlaskit/link-picker 1.16.9 → 1.16.10

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.
Files changed (153) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/analytics.codegen.js +1 -2
  3. package/dist/cjs/common/analytics/context.js +11 -36
  4. package/dist/cjs/common/analytics/experiences.js +0 -13
  5. package/dist/cjs/common/analytics/index.js +0 -2
  6. package/dist/cjs/common/analytics/input-field-tracking.js +16 -35
  7. package/dist/cjs/common/generic-error-svg/index.js +1 -7
  8. package/dist/cjs/common/generic-error-svg/styled.js +0 -6
  9. package/dist/cjs/common/utils/errors.js +0 -15
  10. package/dist/cjs/controllers/session-provider/index.js +1 -17
  11. package/dist/cjs/controllers/use-fix-height/index.js +0 -3
  12. package/dist/cjs/i18n/cs.js +0 -1
  13. package/dist/cjs/i18n/da.js +0 -1
  14. package/dist/cjs/i18n/de.js +0 -1
  15. package/dist/cjs/i18n/en.js +0 -1
  16. package/dist/cjs/i18n/en_GB.js +0 -1
  17. package/dist/cjs/i18n/es.js +0 -1
  18. package/dist/cjs/i18n/fi.js +0 -1
  19. package/dist/cjs/i18n/fr.js +0 -1
  20. package/dist/cjs/i18n/hu.js +0 -1
  21. package/dist/cjs/i18n/it.js +0 -1
  22. package/dist/cjs/i18n/ja.js +0 -1
  23. package/dist/cjs/i18n/ko.js +0 -1
  24. package/dist/cjs/i18n/nb.js +0 -1
  25. package/dist/cjs/i18n/nl.js +0 -1
  26. package/dist/cjs/i18n/pl.js +0 -1
  27. package/dist/cjs/i18n/pt_BR.js +0 -1
  28. package/dist/cjs/i18n/ru.js +0 -1
  29. package/dist/cjs/i18n/sv.js +0 -1
  30. package/dist/cjs/i18n/th.js +0 -1
  31. package/dist/cjs/i18n/tr.js +0 -1
  32. package/dist/cjs/i18n/uk.js +0 -1
  33. package/dist/cjs/i18n/vi.js +0 -1
  34. package/dist/cjs/i18n/zh.js +0 -1
  35. package/dist/cjs/i18n/zh_TW.js +0 -1
  36. package/dist/cjs/index.js +0 -2
  37. package/dist/cjs/services/use-plugins/index.js +13 -44
  38. package/dist/cjs/services/use-plugins/reducer.js +0 -13
  39. package/dist/cjs/services/use-plugins/utils.js +9 -35
  40. package/dist/cjs/services/use-search-query/index.js +3 -9
  41. package/dist/cjs/ui/error-boundary/error-boundary-base/index.js +2 -22
  42. package/dist/cjs/ui/error-boundary/error-boundary-fallback/index.js +1 -9
  43. package/dist/cjs/ui/error-boundary/index.js +3 -18
  44. package/dist/cjs/ui/index.js +0 -13
  45. package/dist/cjs/ui/link-picker/announcer.js +15 -25
  46. package/dist/cjs/ui/link-picker/browser.js +0 -1
  47. package/dist/cjs/ui/link-picker/form-footer/index.js +6 -26
  48. package/dist/cjs/ui/link-picker/form-footer/styled.js +0 -5
  49. package/dist/cjs/ui/link-picker/form-footer/utils.js +2 -8
  50. package/dist/cjs/ui/link-picker/index.js +44 -111
  51. package/dist/cjs/ui/link-picker/link-search-error/index.js +1 -10
  52. package/dist/cjs/ui/link-picker/link-search-list/index.js +12 -38
  53. package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/index.js +1 -9
  54. package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.js +1 -5
  55. package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/styled.js +0 -6
  56. package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/styled.js +0 -5
  57. package/dist/cjs/ui/link-picker/link-search-list/styled.js +0 -7
  58. package/dist/cjs/ui/link-picker/link-search-list/use-track-results-shown/index.js +11 -21
  59. package/dist/cjs/ui/link-picker/list-item/index.js +11 -32
  60. package/dist/cjs/ui/link-picker/list-item/styled.js +0 -13
  61. package/dist/cjs/ui/link-picker/messages.js +0 -2
  62. package/dist/cjs/ui/link-picker/styled.js +1 -8
  63. package/dist/cjs/ui/link-picker/text-input/index.js +9 -26
  64. package/dist/cjs/ui/link-picker/text-input/styled.js +0 -7
  65. package/dist/cjs/ui/link-picker/track-mount/index.js +1 -11
  66. package/dist/cjs/ui/link-picker/track-tab-viewed/index.js +2 -10
  67. package/dist/cjs/ui/link-picker/transformTimeStamp.js +0 -13
  68. package/dist/cjs/ui/link-picker/utils.js +11 -19
  69. package/dist/cjs/ui/loader-fallback/index.js +1 -5
  70. package/dist/cjs/ui/scrolling-tabs/index.js +6 -44
  71. package/dist/cjs/ui/scrolling-tabs/scrolling-tabs.js +4 -33
  72. package/dist/cjs/ui/scrolling-tabs/styles.js +0 -3
  73. package/dist/cjs/version.json +1 -1
  74. package/dist/es2019/analytics.codegen.js +1 -1
  75. package/dist/es2019/common/analytics/context.js +11 -13
  76. package/dist/es2019/common/analytics/experiences.js +0 -1
  77. package/dist/es2019/common/analytics/input-field-tracking.js +13 -12
  78. package/dist/es2019/common/generic-error-svg/index.js +0 -4
  79. package/dist/es2019/common/utils/errors.js +0 -1
  80. package/dist/es2019/controllers/session-provider/index.js +0 -4
  81. package/dist/es2019/controllers/use-fix-height/index.js +0 -2
  82. package/dist/es2019/services/use-plugins/index.js +2 -8
  83. package/dist/es2019/services/use-plugins/reducer.js +8 -8
  84. package/dist/es2019/services/use-plugins/utils.js +5 -6
  85. package/dist/es2019/services/use-search-query/index.js +3 -6
  86. package/dist/es2019/ui/error-boundary/error-boundary-base/index.js +0 -5
  87. package/dist/es2019/ui/error-boundary/index.js +2 -4
  88. package/dist/es2019/ui/index.js +1 -2
  89. package/dist/es2019/ui/link-picker/announcer.js +6 -1
  90. package/dist/es2019/ui/link-picker/browser.js +0 -2
  91. package/dist/es2019/ui/link-picker/form-footer/index.js +0 -5
  92. package/dist/es2019/ui/link-picker/form-footer/utils.js +2 -5
  93. package/dist/es2019/ui/link-picker/index.js +21 -37
  94. package/dist/es2019/ui/link-picker/link-search-error/index.js +0 -3
  95. package/dist/es2019/ui/link-picker/link-search-list/index.js +2 -6
  96. package/dist/es2019/ui/link-picker/link-search-list/link-search-no-results/index.js +0 -2
  97. package/dist/es2019/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.js +0 -3
  98. package/dist/es2019/ui/link-picker/link-search-list/styled.js +2 -2
  99. package/dist/es2019/ui/link-picker/link-search-list/use-track-results-shown/index.js +7 -5
  100. package/dist/es2019/ui/link-picker/list-item/index.js +0 -14
  101. package/dist/es2019/ui/link-picker/list-item/styled.js +2 -4
  102. package/dist/es2019/ui/link-picker/styled.js +1 -1
  103. package/dist/es2019/ui/link-picker/text-input/index.js +0 -6
  104. package/dist/es2019/ui/link-picker/track-mount/index.js +1 -2
  105. package/dist/es2019/ui/link-picker/track-tab-viewed/index.js +0 -2
  106. package/dist/es2019/ui/link-picker/transformTimeStamp.js +0 -7
  107. package/dist/es2019/ui/link-picker/utils.js +7 -5
  108. package/dist/es2019/ui/scrolling-tabs/index.js +2 -14
  109. package/dist/es2019/ui/scrolling-tabs/scrolling-tabs.js +0 -14
  110. package/dist/es2019/version.json +1 -1
  111. package/dist/esm/analytics.codegen.js +1 -1
  112. package/dist/esm/common/analytics/context.js +11 -21
  113. package/dist/esm/common/analytics/experiences.js +0 -3
  114. package/dist/esm/common/analytics/input-field-tracking.js +16 -22
  115. package/dist/esm/common/generic-error-svg/index.js +0 -4
  116. package/dist/esm/common/generic-error-svg/styled.js +0 -2
  117. package/dist/esm/common/utils/errors.js +0 -8
  118. package/dist/esm/controllers/session-provider/index.js +1 -7
  119. package/dist/esm/controllers/use-fix-height/index.js +0 -2
  120. package/dist/esm/services/use-plugins/index.js +13 -31
  121. package/dist/esm/services/use-plugins/reducer.js +0 -7
  122. package/dist/esm/services/use-plugins/utils.js +9 -22
  123. package/dist/esm/services/use-search-query/index.js +3 -6
  124. package/dist/esm/ui/error-boundary/error-boundary-base/index.js +2 -13
  125. package/dist/esm/ui/error-boundary/index.js +3 -5
  126. package/dist/esm/ui/index.js +1 -2
  127. package/dist/esm/ui/link-picker/announcer.js +20 -17
  128. package/dist/esm/ui/link-picker/browser.js +0 -2
  129. package/dist/esm/ui/link-picker/form-footer/index.js +6 -12
  130. package/dist/esm/ui/link-picker/form-footer/styled.js +0 -2
  131. package/dist/esm/ui/link-picker/form-footer/utils.js +2 -5
  132. package/dist/esm/ui/link-picker/index.js +44 -74
  133. package/dist/esm/ui/link-picker/link-search-error/index.js +0 -3
  134. package/dist/esm/ui/link-picker/link-search-list/index.js +12 -20
  135. package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/index.js +0 -2
  136. package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.js +0 -3
  137. package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/styled.js +0 -2
  138. package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/styled.js +0 -2
  139. package/dist/esm/ui/link-picker/link-search-list/styled.js +2 -4
  140. package/dist/esm/ui/link-picker/link-search-list/use-track-results-shown/index.js +11 -11
  141. package/dist/esm/ui/link-picker/list-item/index.js +10 -25
  142. package/dist/esm/ui/link-picker/list-item/styled.js +2 -6
  143. package/dist/esm/ui/link-picker/styled.js +1 -3
  144. package/dist/esm/ui/link-picker/text-input/index.js +9 -16
  145. package/dist/esm/ui/link-picker/text-input/styled.js +0 -2
  146. package/dist/esm/ui/link-picker/track-mount/index.js +2 -4
  147. package/dist/esm/ui/link-picker/track-tab-viewed/index.js +1 -5
  148. package/dist/esm/ui/link-picker/transformTimeStamp.js +0 -7
  149. package/dist/esm/ui/link-picker/utils.js +11 -9
  150. package/dist/esm/ui/scrolling-tabs/index.js +6 -28
  151. package/dist/esm/ui/scrolling-tabs/scrolling-tabs.js +4 -19
  152. package/dist/esm/version.json +1 -1
  153. package/package.json +2 -2
@@ -1,17 +1,15 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
-
3
2
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
4
-
5
3
  import { css } from '@emotion/react';
6
4
  import { N500 } from '@atlaskit/theme/colors';
7
5
  import { gridSize as getGridSize } from '@atlaskit/theme/constants';
8
6
  var LINK_PICKER_WIDTH_IN_PX = 342;
9
7
  var LINK_PICKER_MIN_HEIGHT_IN_PX = 220;
10
8
  var gridSize = getGridSize();
9
+
11
10
  /**
12
11
  * Half padding on the top as the form field has a `gridSize()` margin top that cannot be overridden
13
12
  */
14
-
15
13
  export var rootContainerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: ", "px;\n padding: ", "px ", "px ", "px;\n box-sizing: border-box;\n line-height: initial;\n min-height: ", "px;\n"])), LINK_PICKER_WIDTH_IN_PX, gridSize, gridSize * 2, gridSize * 2, LINK_PICKER_MIN_HEIGHT_IN_PX);
16
14
  export var rootContainerStylesForLoader = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n display: flex;\n align-items: center;\n justify-content: center;\n"])), rootContainerStyles);
17
15
  export var searchIconStyles = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-left: ", "px;\n color: ", ";\n cursor: default;\n"])), gridSize / 2, "var(--ds-icon, ".concat(N500, ")"));
@@ -1,7 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
3
  var _excluded = ["name", "label", "autoFocus", "onRedo", "onUndo", "onKeyDown", "onClear", "clearLabel", "error"];
4
-
5
4
  /** @jsx jsx */
6
5
  import { useCallback, useRef, Fragment } from 'react';
7
6
  import { jsx } from '@emotion/react';
@@ -15,24 +14,21 @@ export var testIds = {
15
14
  urlError: 'link-error',
16
15
  clearUrlButton: 'clear-text'
17
16
  };
18
-
19
17
  var TextInput = function TextInput(_ref) {
20
18
  var name = _ref.name,
21
- label = _ref.label,
22
- autoFocus = _ref.autoFocus,
23
- onRedo = _ref.onRedo,
24
- onUndo = _ref.onUndo,
25
- onKeyDown = _ref.onKeyDown,
26
- onClear = _ref.onClear,
27
- clearLabel = _ref.clearLabel,
28
- error = _ref.error,
29
- restProps = _objectWithoutProperties(_ref, _excluded);
30
-
19
+ label = _ref.label,
20
+ autoFocus = _ref.autoFocus,
21
+ onRedo = _ref.onRedo,
22
+ onUndo = _ref.onUndo,
23
+ onKeyDown = _ref.onKeyDown,
24
+ onClear = _ref.onClear,
25
+ clearLabel = _ref.clearLabel,
26
+ error = _ref.error,
27
+ restProps = _objectWithoutProperties(_ref, _excluded);
31
28
  var inputRef = useRef(null);
32
29
  var handleRef = useCallback(function (input) {
33
30
  if (input) {
34
31
  inputRef.current = input;
35
-
36
32
  if (autoFocus) {
37
33
  // Need this to prevent jumping when we render TextInput inside Portal @see ED-2992
38
34
  input.focus({
@@ -49,14 +45,12 @@ var TextInput = function TextInput(_ref) {
49
45
  e.preventDefault();
50
46
  onRedo();
51
47
  }
52
-
53
48
  if (onKeyDown) {
54
49
  onKeyDown(e);
55
50
  }
56
51
  }, [onUndo, onRedo, onKeyDown]);
57
52
  var handleClear = useCallback(function (e) {
58
53
  var _inputRef$current;
59
-
60
54
  e.preventDefault();
61
55
  e.stopPropagation();
62
56
  onClear === null || onClear === void 0 ? void 0 : onClear(name);
@@ -90,5 +84,4 @@ var TextInput = function TextInput(_ref) {
90
84
  }, error));
91
85
  }));
92
86
  };
93
-
94
87
  export default TextInput;
@@ -1,7 +1,5 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
-
3
2
  var _templateObject, _templateObject2;
4
-
5
3
  import { css } from '@emotion/react';
6
4
  import { N500 } from '@atlaskit/theme/colors';
7
5
  import { gridSize } from '@atlaskit/theme/constants';
@@ -5,14 +5,13 @@ import { succeedUfoExperience, ufoExperience } from '../../../common/analytics/e
5
5
  import createEventPayload from '../../../analytics.codegen';
6
6
  import { ANALYTICS_CHANNEL } from '../../../common/constants';
7
7
  import { useLinkPickerSessionId } from '../../../controllers/session-provider';
8
+
8
9
  /**
9
10
  * UFO + Analytics tracking for component mount (and unmount)
10
11
  */
11
-
12
12
  function TrackMount() {
13
13
  var _useAnalyticsEvents = useAnalyticsEvents(),
14
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
15
-
14
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
16
15
  var linkPickerSessionId = useLinkPickerSessionId();
17
16
  useLayoutEffect(function () {
18
17
  succeedUfoExperience(ufoExperience.mounted, linkPickerSessionId);
@@ -27,5 +26,4 @@ function TrackMount() {
27
26
  }, [createAnalyticsEvent]);
28
27
  return null;
29
28
  }
30
-
31
29
  export default TrackMount;
@@ -3,17 +3,13 @@ import { useLayoutEffect } from 'react';
3
3
  import { useAnalyticsEvents } from '@atlaskit/analytics-next';
4
4
  import createEventPayload from '../../../analytics.codegen';
5
5
  import { ANALYTICS_CHANNEL } from '../../../common/constants';
6
-
7
6
  function TrackTabViewed(_ref) {
8
7
  var activeTab = _ref.activeTab;
9
-
10
8
  var _useAnalyticsEvents = useAnalyticsEvents(),
11
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
12
-
9
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
13
10
  useLayoutEffect(function () {
14
11
  createAnalyticsEvent(createEventPayload('ui.tab.viewed', {})).fire(ANALYTICS_CHANNEL);
15
12
  }, [activeTab, createAnalyticsEvent]);
16
13
  return null;
17
14
  }
18
-
19
15
  export default TrackTabViewed;
@@ -2,39 +2,32 @@ import formatDistance from 'date-fns/formatDistance';
2
2
  import differenceInCalendarDays from 'date-fns/differenceInCalendarDays';
3
3
  import format from 'date-fns/format';
4
4
  import { messages } from './messages';
5
-
6
5
  var renderAbsoluteOrRelativeDate = function renderAbsoluteOrRelativeDate(timeStamp, pageAction, intl) {
7
6
  var pageActionText = '';
8
-
9
7
  switch (pageAction) {
10
8
  case 'updated':
11
9
  pageActionText = intl.formatMessage(messages.timeUpdated);
12
10
  break;
13
-
14
11
  case 'viewed':
15
12
  pageActionText = intl.formatMessage(messages.timeViewed);
16
13
  break;
17
14
  }
18
-
19
15
  if (differenceInCalendarDays(timeStamp, Date.now()) < -7) {
20
16
  return {
21
17
  pageAction: pageActionText,
22
18
  dateString: format(timeStamp, 'MMMM dd, yyyy')
23
19
  };
24
20
  }
25
-
26
21
  return {
27
22
  pageAction: pageActionText,
28
23
  dateString: formatDistance(timeStamp, Date.now()),
29
24
  timeSince: intl.formatMessage(messages.timeAgo)
30
25
  };
31
26
  };
32
-
33
27
  export var transformTimeStamp = function transformTimeStamp(intl, lastViewedDate, lastUpdatedDate) {
34
28
  if (lastViewedDate) {
35
29
  return renderAbsoluteOrRelativeDate(lastViewedDate, 'viewed', intl);
36
30
  }
37
-
38
31
  if (lastUpdatedDate) {
39
32
  return renderAbsoluteOrRelativeDate(lastUpdatedDate, 'updated', intl);
40
33
  }
@@ -3,31 +3,33 @@ import { transformTimeStamp } from './transformTimeStamp';
3
3
  var KeyZCode = 90;
4
4
  var KeyYCode = 89;
5
5
  export var isUndoEvent = function isUndoEvent(e) {
6
- return e.keyCode === KeyZCode && ( // cmd + z for mac
7
- browser.mac && e.metaKey && !e.shiftKey || // ctrl + z for non-mac
6
+ return e.keyCode === KeyZCode && (
7
+ // cmd + z for mac
8
+ browser.mac && e.metaKey && !e.shiftKey ||
9
+ // ctrl + z for non-mac
8
10
  !browser.mac && e.ctrlKey);
9
11
  };
10
12
  export var isRedoEvent = function isRedoEvent(e) {
11
- return (// ctrl + y for non-mac
13
+ return (
14
+ // ctrl + y for non-mac
12
15
  !browser.mac && e.ctrlKey && e.keyCode === KeyYCode || browser.mac && e.metaKey && e.shiftKey && e.keyCode === KeyZCode || e.ctrlKey && e.shiftKey && e.keyCode === KeyZCode
13
16
  );
14
17
  };
18
+
15
19
  /**
16
20
  * Retrieve the data source for a link given the item and the plugin that resolved it
17
21
  */
18
-
19
22
  export var getDataSource = function getDataSource(item, plugin) {
20
23
  var _ref, _item$meta$source, _item$meta, _plugin$meta;
21
-
22
24
  return (_ref = (_item$meta$source = (_item$meta = item.meta) === null || _item$meta === void 0 ? void 0 : _item$meta.source) !== null && _item$meta$source !== void 0 ? _item$meta$source : plugin === null || plugin === void 0 ? void 0 : (_plugin$meta = plugin.meta) === null || _plugin$meta === void 0 ? void 0 : _plugin$meta.source) !== null && _ref !== void 0 ? _ref : 'unknown';
23
25
  };
24
26
  export function getScreenReaderText(items, selectedIndex, intl) {
25
27
  if (items.length && selectedIndex > -1) {
26
28
  var _items$selectedIndex = items[selectedIndex],
27
- name = _items$selectedIndex.name,
28
- container = _items$selectedIndex.container,
29
- lastUpdatedDate = _items$selectedIndex.lastUpdatedDate,
30
- lastViewedDate = _items$selectedIndex.lastViewedDate;
29
+ name = _items$selectedIndex.name,
30
+ container = _items$selectedIndex.container,
31
+ lastUpdatedDate = _items$selectedIndex.lastUpdatedDate,
32
+ lastViewedDate = _items$selectedIndex.lastViewedDate;
31
33
  var date = transformTimeStamp(intl, lastViewedDate, lastUpdatedDate);
32
34
  var formattedDate = [date === null || date === void 0 ? void 0 : date.pageAction, date === null || date === void 0 ? void 0 : date.dateString, date === null || date === void 0 ? void 0 : date.timeSince].filter(Boolean).join(' ');
33
35
  return [name, container, formattedDate].filter(Boolean).join(', ');
@@ -1,12 +1,8 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
-
4
3
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
5
-
6
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7
-
8
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
9
-
10
6
  /** @jsx jsx */
11
7
  import React, { useRef, useMemo, useState, useCallback } from 'react';
12
8
  import { jsx } from '@emotion/react';
@@ -15,30 +11,26 @@ import ChevronLeftIcon from '@atlaskit/icon/glyph/chevron-left';
15
11
  import ChevronRightIcon from '@atlaskit/icon/glyph/chevron-right';
16
12
  import { scrollBack, scrollForward, calculateConditionalButtons, getTabList, createGhost } from './scrolling-tabs';
17
13
  import { containerStyles, scrollingContainerStyles, nextButtonStyles, backButtonStyles } from './styles';
18
-
19
14
  function isTouchDevice() {
20
- return 'ontouchstart' in window || // eslint-disable-next-line compat/compat
15
+ return 'ontouchstart' in window ||
16
+ // eslint-disable-next-line compat/compat
21
17
  navigator.maxTouchPoints > 0;
22
18
  }
23
-
24
19
  var initialConditionalButtonsState = {
25
20
  back: false,
26
21
  forward: false
27
22
  };
28
23
  export var ScrollingTabList = function ScrollingTabList(props) {
29
24
  var ref = useRef(null);
30
-
31
25
  var _useState = useState(initialConditionalButtonsState),
32
- _useState2 = _slicedToArray(_useState, 2),
33
- conditionalButtons = _useState2[0],
34
- setConditionalButtons = _useState2[1];
35
-
26
+ _useState2 = _slicedToArray(_useState, 2),
27
+ conditionalButtons = _useState2[0],
28
+ setConditionalButtons = _useState2[1];
36
29
  var ghost = useMemo(function () {
37
30
  return createGhost();
38
31
  }, []);
39
32
  var onTabClick = useCallback(function (e) {
40
33
  var target = e.currentTarget;
41
-
42
34
  if (target) {
43
35
  target.scrollIntoView({
44
36
  behavior: 'smooth',
@@ -51,38 +43,29 @@ export var ScrollingTabList = function ScrollingTabList(props) {
51
43
  var container = ref.current;
52
44
  var scrollingContainer;
53
45
  var tabs;
54
-
55
46
  var handleConditionalButtonsChange = function handleConditionalButtonsChange() {
56
47
  var buttons = calculateConditionalButtons(scrollingContainer, isTouchDevice());
57
48
  setConditionalButtons(buttons);
58
49
  };
59
-
60
50
  var observerCallback = function observerCallback(mutationList) {
61
51
  var tablist = getTabList(ref);
62
-
63
52
  var _iterator = _createForOfIteratorHelper(mutationList),
64
- _step;
65
-
53
+ _step;
66
54
  try {
67
55
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
68
56
  var mutation = _step.value;
69
-
70
57
  if (mutation.type === 'childList') {
71
58
  var addedNodes = Array.from(mutation.addedNodes);
72
59
  var found = addedNodes.find(function (node) {
73
60
  return node.getAttribute('role') === 'tab';
74
61
  });
75
-
76
62
  if (found && tablist) {
77
63
  ghost.remove();
78
-
79
64
  var _tabs = Array.from(tablist.children);
80
-
81
65
  _tabs.forEach(function (tab) {
82
66
  tab.removeEventListener('click', onTabClick);
83
67
  tab.addEventListener('click', onTabClick);
84
68
  });
85
-
86
69
  tablist.appendChild(ghost);
87
70
  handleConditionalButtonsChange();
88
71
  }
@@ -94,9 +77,7 @@ export var ScrollingTabList = function ScrollingTabList(props) {
94
77
  _iterator.f();
95
78
  }
96
79
  };
97
-
98
80
  var observer = new MutationObserver(observerCallback);
99
-
100
81
  if (container) {
101
82
  var tablist = getTabList(ref);
102
83
  scrollingContainer = tablist === null || tablist === void 0 ? void 0 : tablist.parentElement;
@@ -105,7 +86,6 @@ export var ScrollingTabList = function ScrollingTabList(props) {
105
86
  childList: true,
106
87
  subtree: true
107
88
  });
108
-
109
89
  if (scrollingContainer instanceof HTMLElement && tablist) {
110
90
  tablist.appendChild(ghost);
111
91
  tabs = Array.from(tablist.children);
@@ -115,12 +95,10 @@ export var ScrollingTabList = function ScrollingTabList(props) {
115
95
  handleConditionalButtonsChange();
116
96
  scrollingContainer.addEventListener('scroll', handleConditionalButtonsChange);
117
97
  }
118
-
119
98
  return function () {
120
99
  if (scrollingContainer) {
121
100
  scrollingContainer.removeEventListener('scroll', handleConditionalButtonsChange);
122
101
  }
123
-
124
102
  if (tabs.length) {
125
103
  tabs.forEach(function (tab) {
126
104
  return tab.removeEventListener('click', onTabClick);
@@ -13,11 +13,9 @@ export var calculateConditionalButtons = function calculateConditionalButtons(co
13
13
  back: false,
14
14
  forward: false
15
15
  };
16
-
17
16
  if (!container || hideButtons) {
18
17
  return initialState;
19
18
  }
20
-
21
19
  var maxScrollValue = container.scrollWidth - container.clientWidth;
22
20
  return {
23
21
  back: container.scrollLeft > 0,
@@ -31,18 +29,13 @@ export var createGhost = function createGhost() {
31
29
  ghost.style.pointerEvents = 'none';
32
30
  return ghost;
33
31
  };
34
-
35
32
  var moveTabsScroll = function moveTabsScroll(ref, findFn) {
36
33
  var container = getContainer(ref);
37
-
38
34
  if (container) {
39
35
  var tablist = container.children[0];
40
-
41
36
  var _tabs = _toConsumableArray(tablist.children);
42
-
43
37
  if (_tabs.length > 0) {
44
38
  var target = findFn(container, _tabs);
45
-
46
39
  if (target) {
47
40
  var left = container.scrollLeft + target.getBoundingClientRect().left - container.getBoundingClientRect().left - BUTTON_SIZE;
48
41
  scrollTo(container, left);
@@ -50,47 +43,39 @@ var moveTabsScroll = function moveTabsScroll(ref, findFn) {
50
43
  }
51
44
  }
52
45
  };
53
-
54
46
  var scrollTo = function scrollTo(container, left) {
55
47
  container.scrollTo({
56
48
  left: left
57
49
  });
58
50
  };
59
-
60
51
  export var getTabList = function getTabList(ref) {
61
52
  var _ref$current;
62
-
63
53
  return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector('[role="tablist"]');
64
54
  };
65
55
  export var getContainer = function getContainer(ref) {
66
56
  var _getTabList;
67
-
68
57
  return (_getTabList = getTabList(ref)) === null || _getTabList === void 0 ? void 0 : _getTabList.parentElement;
69
58
  };
70
-
71
59
  var findPrevious = function findPrevious(container, tabs) {
72
60
  var previousTabs = tabs.filter(function (tab) {
73
61
  var _ref = [container.getBoundingClientRect(), tab.getBoundingClientRect()],
74
- containerRect = _ref[0],
75
- tabRect = _ref[1];
62
+ containerRect = _ref[0],
63
+ tabRect = _ref[1];
76
64
  var containerArea = containerRect.left + container.scrollLeft - GUTTER,
77
- tabArea = container.scrollLeft + tabRect.left + tabRect.width;
65
+ tabArea = container.scrollLeft + tabRect.left + tabRect.width;
78
66
  return containerArea > tabArea;
79
67
  });
80
-
81
68
  if (previousTabs.length < 3) {
82
69
  return previousTabs[0];
83
70
  }
84
-
85
71
  return previousTabs[previousTabs.length - 1];
86
72
  };
87
-
88
73
  var findNext = function findNext(container, tabs) {
89
74
  var containerRect = container.getBoundingClientRect();
90
75
  return tabs.find(function (tab) {
91
76
  var tabRect = tab.getBoundingClientRect();
92
77
  var containerArea = container.clientWidth + containerRect.left - GUTTER,
93
- tabArea = tabRect.left + tabRect.width;
78
+ tabArea = tabRect.left + tabRect.width;
94
79
  return containerArea < tabArea;
95
80
  });
96
81
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.16.9",
3
+ "version": "1.16.10",
4
4
  "sideEffects": false
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/link-picker",
3
- "version": "1.16.9",
3
+ "version": "1.16.10",
4
4
  "description": "Standalone link picker",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "publishConfig": {
@@ -41,7 +41,7 @@
41
41
  "@atlaskit/tabs": "^13.3.0",
42
42
  "@atlaskit/textfield": "^5.3.0",
43
43
  "@atlaskit/theme": "^12.2.0",
44
- "@atlaskit/tokens": "^0.13.0",
44
+ "@atlaskit/tokens": "^1.0.0",
45
45
  "@atlaskit/tooltip": "^17.6.0",
46
46
  "@atlaskit/ufo": "^0.1.0",
47
47
  "@atlaskit/visually-hidden": "^1.1.0",