@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.
- package/CHANGELOG.md +6 -0
- package/dist/cjs/analytics.codegen.js +1 -2
- package/dist/cjs/common/analytics/context.js +11 -36
- package/dist/cjs/common/analytics/experiences.js +0 -13
- package/dist/cjs/common/analytics/index.js +0 -2
- package/dist/cjs/common/analytics/input-field-tracking.js +16 -35
- package/dist/cjs/common/generic-error-svg/index.js +1 -7
- package/dist/cjs/common/generic-error-svg/styled.js +0 -6
- package/dist/cjs/common/utils/errors.js +0 -15
- package/dist/cjs/controllers/session-provider/index.js +1 -17
- package/dist/cjs/controllers/use-fix-height/index.js +0 -3
- package/dist/cjs/i18n/cs.js +0 -1
- package/dist/cjs/i18n/da.js +0 -1
- package/dist/cjs/i18n/de.js +0 -1
- package/dist/cjs/i18n/en.js +0 -1
- package/dist/cjs/i18n/en_GB.js +0 -1
- package/dist/cjs/i18n/es.js +0 -1
- package/dist/cjs/i18n/fi.js +0 -1
- package/dist/cjs/i18n/fr.js +0 -1
- package/dist/cjs/i18n/hu.js +0 -1
- package/dist/cjs/i18n/it.js +0 -1
- package/dist/cjs/i18n/ja.js +0 -1
- package/dist/cjs/i18n/ko.js +0 -1
- package/dist/cjs/i18n/nb.js +0 -1
- package/dist/cjs/i18n/nl.js +0 -1
- package/dist/cjs/i18n/pl.js +0 -1
- package/dist/cjs/i18n/pt_BR.js +0 -1
- package/dist/cjs/i18n/ru.js +0 -1
- package/dist/cjs/i18n/sv.js +0 -1
- package/dist/cjs/i18n/th.js +0 -1
- package/dist/cjs/i18n/tr.js +0 -1
- package/dist/cjs/i18n/uk.js +0 -1
- package/dist/cjs/i18n/vi.js +0 -1
- package/dist/cjs/i18n/zh.js +0 -1
- package/dist/cjs/i18n/zh_TW.js +0 -1
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/services/use-plugins/index.js +13 -44
- package/dist/cjs/services/use-plugins/reducer.js +0 -13
- package/dist/cjs/services/use-plugins/utils.js +9 -35
- package/dist/cjs/services/use-search-query/index.js +3 -9
- package/dist/cjs/ui/error-boundary/error-boundary-base/index.js +2 -22
- package/dist/cjs/ui/error-boundary/error-boundary-fallback/index.js +1 -9
- package/dist/cjs/ui/error-boundary/index.js +3 -18
- package/dist/cjs/ui/index.js +0 -13
- package/dist/cjs/ui/link-picker/announcer.js +15 -25
- package/dist/cjs/ui/link-picker/browser.js +0 -1
- package/dist/cjs/ui/link-picker/form-footer/index.js +6 -26
- package/dist/cjs/ui/link-picker/form-footer/styled.js +0 -5
- package/dist/cjs/ui/link-picker/form-footer/utils.js +2 -8
- package/dist/cjs/ui/link-picker/index.js +44 -111
- package/dist/cjs/ui/link-picker/link-search-error/index.js +1 -10
- package/dist/cjs/ui/link-picker/link-search-list/index.js +12 -38
- package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/index.js +1 -9
- package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.js +1 -5
- package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/styled.js +0 -6
- package/dist/cjs/ui/link-picker/link-search-list/link-search-no-results/styled.js +0 -5
- package/dist/cjs/ui/link-picker/link-search-list/styled.js +0 -7
- package/dist/cjs/ui/link-picker/link-search-list/use-track-results-shown/index.js +11 -21
- package/dist/cjs/ui/link-picker/list-item/index.js +11 -32
- package/dist/cjs/ui/link-picker/list-item/styled.js +0 -13
- package/dist/cjs/ui/link-picker/messages.js +0 -2
- package/dist/cjs/ui/link-picker/styled.js +1 -8
- package/dist/cjs/ui/link-picker/text-input/index.js +9 -26
- package/dist/cjs/ui/link-picker/text-input/styled.js +0 -7
- package/dist/cjs/ui/link-picker/track-mount/index.js +1 -11
- package/dist/cjs/ui/link-picker/track-tab-viewed/index.js +2 -10
- package/dist/cjs/ui/link-picker/transformTimeStamp.js +0 -13
- package/dist/cjs/ui/link-picker/utils.js +11 -19
- package/dist/cjs/ui/loader-fallback/index.js +1 -5
- package/dist/cjs/ui/scrolling-tabs/index.js +6 -44
- package/dist/cjs/ui/scrolling-tabs/scrolling-tabs.js +4 -33
- package/dist/cjs/ui/scrolling-tabs/styles.js +0 -3
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/analytics.codegen.js +1 -1
- package/dist/es2019/common/analytics/context.js +11 -13
- package/dist/es2019/common/analytics/experiences.js +0 -1
- package/dist/es2019/common/analytics/input-field-tracking.js +13 -12
- package/dist/es2019/common/generic-error-svg/index.js +0 -4
- package/dist/es2019/common/utils/errors.js +0 -1
- package/dist/es2019/controllers/session-provider/index.js +0 -4
- package/dist/es2019/controllers/use-fix-height/index.js +0 -2
- package/dist/es2019/services/use-plugins/index.js +2 -8
- package/dist/es2019/services/use-plugins/reducer.js +8 -8
- package/dist/es2019/services/use-plugins/utils.js +5 -6
- package/dist/es2019/services/use-search-query/index.js +3 -6
- package/dist/es2019/ui/error-boundary/error-boundary-base/index.js +0 -5
- package/dist/es2019/ui/error-boundary/index.js +2 -4
- package/dist/es2019/ui/index.js +1 -2
- package/dist/es2019/ui/link-picker/announcer.js +6 -1
- package/dist/es2019/ui/link-picker/browser.js +0 -2
- package/dist/es2019/ui/link-picker/form-footer/index.js +0 -5
- package/dist/es2019/ui/link-picker/form-footer/utils.js +2 -5
- package/dist/es2019/ui/link-picker/index.js +21 -37
- package/dist/es2019/ui/link-picker/link-search-error/index.js +0 -3
- package/dist/es2019/ui/link-picker/link-search-list/index.js +2 -6
- package/dist/es2019/ui/link-picker/link-search-list/link-search-no-results/index.js +0 -2
- package/dist/es2019/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.js +0 -3
- package/dist/es2019/ui/link-picker/link-search-list/styled.js +2 -2
- package/dist/es2019/ui/link-picker/link-search-list/use-track-results-shown/index.js +7 -5
- package/dist/es2019/ui/link-picker/list-item/index.js +0 -14
- package/dist/es2019/ui/link-picker/list-item/styled.js +2 -4
- package/dist/es2019/ui/link-picker/styled.js +1 -1
- package/dist/es2019/ui/link-picker/text-input/index.js +0 -6
- package/dist/es2019/ui/link-picker/track-mount/index.js +1 -2
- package/dist/es2019/ui/link-picker/track-tab-viewed/index.js +0 -2
- package/dist/es2019/ui/link-picker/transformTimeStamp.js +0 -7
- package/dist/es2019/ui/link-picker/utils.js +7 -5
- package/dist/es2019/ui/scrolling-tabs/index.js +2 -14
- package/dist/es2019/ui/scrolling-tabs/scrolling-tabs.js +0 -14
- package/dist/es2019/version.json +1 -1
- package/dist/esm/analytics.codegen.js +1 -1
- package/dist/esm/common/analytics/context.js +11 -21
- package/dist/esm/common/analytics/experiences.js +0 -3
- package/dist/esm/common/analytics/input-field-tracking.js +16 -22
- package/dist/esm/common/generic-error-svg/index.js +0 -4
- package/dist/esm/common/generic-error-svg/styled.js +0 -2
- package/dist/esm/common/utils/errors.js +0 -8
- package/dist/esm/controllers/session-provider/index.js +1 -7
- package/dist/esm/controllers/use-fix-height/index.js +0 -2
- package/dist/esm/services/use-plugins/index.js +13 -31
- package/dist/esm/services/use-plugins/reducer.js +0 -7
- package/dist/esm/services/use-plugins/utils.js +9 -22
- package/dist/esm/services/use-search-query/index.js +3 -6
- package/dist/esm/ui/error-boundary/error-boundary-base/index.js +2 -13
- package/dist/esm/ui/error-boundary/index.js +3 -5
- package/dist/esm/ui/index.js +1 -2
- package/dist/esm/ui/link-picker/announcer.js +20 -17
- package/dist/esm/ui/link-picker/browser.js +0 -2
- package/dist/esm/ui/link-picker/form-footer/index.js +6 -12
- package/dist/esm/ui/link-picker/form-footer/styled.js +0 -2
- package/dist/esm/ui/link-picker/form-footer/utils.js +2 -5
- package/dist/esm/ui/link-picker/index.js +44 -74
- package/dist/esm/ui/link-picker/link-search-error/index.js +0 -3
- package/dist/esm/ui/link-picker/link-search-list/index.js +12 -20
- package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/index.js +0 -2
- package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.js +0 -3
- package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/styled.js +0 -2
- package/dist/esm/ui/link-picker/link-search-list/link-search-no-results/styled.js +0 -2
- package/dist/esm/ui/link-picker/link-search-list/styled.js +2 -4
- package/dist/esm/ui/link-picker/link-search-list/use-track-results-shown/index.js +11 -11
- package/dist/esm/ui/link-picker/list-item/index.js +10 -25
- package/dist/esm/ui/link-picker/list-item/styled.js +2 -6
- package/dist/esm/ui/link-picker/styled.js +1 -3
- package/dist/esm/ui/link-picker/text-input/index.js +9 -16
- package/dist/esm/ui/link-picker/text-input/styled.js +0 -2
- package/dist/esm/ui/link-picker/track-mount/index.js +2 -4
- package/dist/esm/ui/link-picker/track-tab-viewed/index.js +1 -5
- package/dist/esm/ui/link-picker/transformTimeStamp.js +0 -7
- package/dist/esm/ui/link-picker/utils.js +11 -9
- package/dist/esm/ui/scrolling-tabs/index.js +6 -28
- package/dist/esm/ui/scrolling-tabs/scrolling-tabs.js +4 -19
- package/dist/esm/version.json +1 -1
- 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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 && (
|
|
7
|
-
|
|
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 (
|
|
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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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 ||
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
75
|
-
|
|
62
|
+
containerRect = _ref[0],
|
|
63
|
+
tabRect = _ref[1];
|
|
76
64
|
var containerArea = containerRect.left + container.scrollLeft - GUTTER,
|
|
77
|
-
|
|
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
|
-
|
|
78
|
+
tabArea = tabRect.left + tabRect.width;
|
|
94
79
|
return containerArea < tabArea;
|
|
95
80
|
});
|
|
96
81
|
};
|
package/dist/esm/version.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/link-picker",
|
|
3
|
-
"version": "1.16.
|
|
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.
|
|
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",
|