@atlaskit/link-picker 1.10.2 → 1.10.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 +12 -0
- package/dist/cjs/common/analytics/experiences.js +62 -0
- package/dist/cjs/controllers/session-provider/index.js +61 -0
- package/dist/cjs/ui/error-boundary/error-boundary-base/index.js +76 -0
- package/dist/cjs/ui/{error-boundary-fallback → error-boundary/error-boundary-fallback}/index.js +2 -2
- package/dist/cjs/ui/error-boundary/index.js +33 -81
- package/dist/cjs/ui/index.js +6 -9
- package/dist/cjs/ui/link-picker/index.js +15 -7
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/common/analytics/experiences.js +39 -0
- package/dist/es2019/controllers/session-provider/index.js +32 -0
- package/dist/es2019/ui/error-boundary/error-boundary-base/index.js +37 -0
- package/dist/es2019/ui/{error-boundary-fallback → error-boundary/error-boundary-fallback}/index.js +2 -2
- package/dist/es2019/ui/error-boundary/index.js +30 -59
- package/dist/es2019/ui/index.js +5 -8
- package/dist/es2019/ui/link-picker/index.js +13 -7
- package/dist/es2019/version.json +1 -1
- package/dist/esm/common/analytics/experiences.js +40 -0
- package/dist/esm/controllers/session-provider/index.js +38 -0
- package/dist/esm/ui/error-boundary/error-boundary-base/index.js +56 -0
- package/dist/esm/ui/{error-boundary-fallback → error-boundary/error-boundary-fallback}/index.js +2 -2
- package/dist/esm/ui/error-boundary/index.js +30 -79
- package/dist/esm/ui/index.js +5 -8
- package/dist/esm/ui/link-picker/index.js +13 -7
- package/dist/esm/version.json +1 -1
- package/dist/types/common/analytics/experiences.d.ts +11 -0
- package/dist/types/controllers/session-provider/index.d.ts +10 -0
- package/dist/types/ui/error-boundary/error-boundary-base/index.d.ts +18 -0
- package/dist/types/ui/error-boundary/error-boundary-fallback/index.d.ts +3 -0
- package/dist/types/ui/error-boundary/index.d.ts +4 -24
- package/dist/types-ts4.0/analytics.codegen.d.ts +52 -0
- package/dist/types-ts4.0/common/analytics/context.d.ts +28 -0
- package/dist/types-ts4.0/common/analytics/experiences.d.ts +11 -0
- package/dist/types-ts4.0/common/analytics/index.d.ts +2 -0
- package/dist/types-ts4.0/common/analytics/input-field-tracking.d.ts +17 -0
- package/dist/types-ts4.0/common/constants.d.ts +2 -0
- package/dist/types-ts4.0/common/generic-error-svg/index.d.ts +4 -0
- package/dist/types-ts4.0/common/generic-error-svg/styled.d.ts +1 -0
- package/dist/types-ts4.0/common/utils/url.d.ts +5 -0
- package/dist/types-ts4.0/controllers/session-provider/index.d.ts +10 -0
- package/dist/types-ts4.0/controllers/use-fix-height/index.d.ts +8 -0
- package/dist/types-ts4.0/index.d.ts +3 -0
- package/dist/types-ts4.0/services/use-plugins/index.d.ts +14 -0
- package/dist/types-ts4.0/services/use-plugins/reducer.d.ts +33 -0
- package/dist/types-ts4.0/services/use-plugins/utils.d.ts +18 -0
- package/dist/types-ts4.0/services/use-search-query/index.d.ts +3 -0
- package/dist/types-ts4.0/ui/error-boundary/error-boundary-base/index.d.ts +18 -0
- package/dist/{types/ui → types-ts4.0/ui/error-boundary}/error-boundary-fallback/index.d.ts +0 -0
- package/dist/types-ts4.0/ui/error-boundary/index.d.ts +7 -0
- package/dist/types-ts4.0/ui/index.d.ts +5 -0
- package/dist/types-ts4.0/ui/link-picker/announcer.d.ts +22 -0
- package/dist/types-ts4.0/ui/link-picker/browser.d.ts +15 -0
- package/dist/types-ts4.0/ui/link-picker/form-footer/index.d.ts +13 -0
- package/dist/types-ts4.0/ui/link-picker/form-footer/styled.d.ts +1 -0
- package/dist/types-ts4.0/ui/link-picker/index.d.ts +69 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-error/index.d.ts +20 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-list/index.d.ts +43 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-list/link-search-no-results/index.d.ts +19 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/index.d.ts +4 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-list/link-search-no-results/no-results-svg/styled.d.ts +1 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-list/link-search-no-results/styled.d.ts +1 -0
- package/dist/types-ts4.0/ui/link-picker/link-search-list/styled.d.ts +4 -0
- package/dist/types-ts4.0/ui/link-picker/list-item/index.d.ts +17 -0
- package/dist/types-ts4.0/ui/link-picker/list-item/styled.d.ts +9 -0
- package/dist/types-ts4.0/ui/link-picker/messages.d.ts +85 -0
- package/dist/types-ts4.0/ui/link-picker/styled.d.ts +9 -0
- package/dist/types-ts4.0/ui/link-picker/text-input/index.d.ts +14 -0
- package/dist/types-ts4.0/ui/link-picker/text-input/styled.d.ts +2 -0
- package/dist/types-ts4.0/ui/link-picker/transformTimeStamp.d.ts +3 -0
- package/dist/types-ts4.0/ui/link-picker/utils.d.ts +10 -0
- package/dist/types-ts4.0/ui/loader-fallback/index.d.ts +3 -0
- package/dist/types-ts4.0/ui/types.d.ts +57 -0
- package/package.json +15 -5
- package/report.api.md +45 -65
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @atlaskit/link-picker
|
|
2
2
|
|
|
3
|
+
## 1.10.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`a3358adb9f1`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a3358adb9f1) - Basic UFO Instrumentation for LinkPicker
|
|
8
|
+
|
|
9
|
+
## 1.10.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`8cc2f888c83`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8cc2f888c83) - Upgrade Typescript from `4.3.5` to `4.5.5`
|
|
14
|
+
|
|
3
15
|
## 1.10.2
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.ufoExperience = exports.succeedUfoExperience = exports.startUfoExperience = exports.failUfoExperience = exports.abortUfoExperience = void 0;
|
|
9
|
+
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
|
|
12
|
+
var _ufo = require("@atlaskit/ufo");
|
|
13
|
+
|
|
14
|
+
var ufoExperience = {
|
|
15
|
+
mounted: 'component-mounted'
|
|
16
|
+
};
|
|
17
|
+
exports.ufoExperience = ufoExperience;
|
|
18
|
+
var ufoExperiences = (0, _defineProperty2.default)({}, ufoExperience.mounted, new _ufo.ConcurrentExperience(ufoExperience.mounted, {
|
|
19
|
+
type: _ufo.ExperienceTypes.Load,
|
|
20
|
+
performanceType: _ufo.ExperiencePerformanceTypes.PageSegmentLoad,
|
|
21
|
+
platform: {
|
|
22
|
+
component: 'link-picker'
|
|
23
|
+
}
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
var startUfoExperience = function startUfoExperience(experienceName, id, metadata) {
|
|
27
|
+
var experience = ufoExperiences[experienceName].getInstance(id);
|
|
28
|
+
experience.start();
|
|
29
|
+
|
|
30
|
+
if (metadata) {
|
|
31
|
+
experience.addMetadata(metadata);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
exports.startUfoExperience = startUfoExperience;
|
|
36
|
+
|
|
37
|
+
var succeedUfoExperience = function succeedUfoExperience(experienceName, id, metadata) {
|
|
38
|
+
var experience = ufoExperiences[experienceName].getInstance(id);
|
|
39
|
+
experience.success({
|
|
40
|
+
metadata: metadata
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
exports.succeedUfoExperience = succeedUfoExperience;
|
|
45
|
+
|
|
46
|
+
var failUfoExperience = function failUfoExperience(experienceName, id, metadata) {
|
|
47
|
+
var experience = ufoExperiences[experienceName].getInstance(id);
|
|
48
|
+
experience.failure({
|
|
49
|
+
metadata: metadata
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.failUfoExperience = failUfoExperience;
|
|
54
|
+
|
|
55
|
+
var abortUfoExperience = function abortUfoExperience(experienceName, id, metadata) {
|
|
56
|
+
var experience = ufoExperiences[experienceName].getInstance(id);
|
|
57
|
+
experience.abort({
|
|
58
|
+
metadata: metadata
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
exports.abortUfoExperience = abortUfoExperience;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useLinkPickerSessionId = exports.SessionContext = exports.LinkPickerSessionProvider = exports.INIT_CONTEXT = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _uuid = require("uuid");
|
|
13
|
+
|
|
14
|
+
var _experiences = require("../../common/analytics/experiences");
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
20
|
+
var INIT_CONTEXT = 'SESSION_UNINITIALIZED';
|
|
21
|
+
exports.INIT_CONTEXT = INIT_CONTEXT;
|
|
22
|
+
var SessionContext = /*#__PURE__*/(0, _react.createContext)(INIT_CONTEXT);
|
|
23
|
+
exports.SessionContext = SessionContext;
|
|
24
|
+
|
|
25
|
+
var useConstructor = function useConstructor(callback) {
|
|
26
|
+
var hasBeenFired = (0, _react.useRef)(false);
|
|
27
|
+
|
|
28
|
+
if (!hasBeenFired.current) {
|
|
29
|
+
callback();
|
|
30
|
+
hasBeenFired.current = true;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return null;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
var LinkPickerSessionProvider = function LinkPickerSessionProvider(_ref) {
|
|
37
|
+
var children = _ref.children;
|
|
38
|
+
|
|
39
|
+
var _useRef = (0, _react.useRef)((0, _uuid.v4)()),
|
|
40
|
+
sessionId = _useRef.current;
|
|
41
|
+
|
|
42
|
+
(0, _react.useEffect)(function () {
|
|
43
|
+
return function () {
|
|
44
|
+
return (0, _experiences.abortUfoExperience)(_experiences.ufoExperience.mounted, sessionId);
|
|
45
|
+
};
|
|
46
|
+
}, [sessionId]);
|
|
47
|
+
useConstructor(function () {
|
|
48
|
+
return (0, _experiences.startUfoExperience)(_experiences.ufoExperience.mounted, sessionId);
|
|
49
|
+
});
|
|
50
|
+
return /*#__PURE__*/_react.default.createElement(SessionContext.Provider, {
|
|
51
|
+
value: sessionId
|
|
52
|
+
}, children);
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
exports.LinkPickerSessionProvider = LinkPickerSessionProvider;
|
|
56
|
+
|
|
57
|
+
var useLinkPickerSessionId = function useLinkPickerSessionId() {
|
|
58
|
+
return (0, _react.useContext)(SessionContext);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
exports.useLinkPickerSessionId = useLinkPickerSessionId;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.BaseErrorBoundary = void 0;
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
29
|
+
|
|
30
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
31
|
+
|
|
32
|
+
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
33
|
+
var BaseErrorBoundary = /*#__PURE__*/function (_Component) {
|
|
34
|
+
(0, _inherits2.default)(BaseErrorBoundary, _Component);
|
|
35
|
+
|
|
36
|
+
var _super = _createSuper(BaseErrorBoundary);
|
|
37
|
+
|
|
38
|
+
function BaseErrorBoundary(props) {
|
|
39
|
+
var _this;
|
|
40
|
+
|
|
41
|
+
(0, _classCallCheck2.default)(this, BaseErrorBoundary);
|
|
42
|
+
_this = _super.call(this, props);
|
|
43
|
+
_this.state = {
|
|
44
|
+
hasError: false
|
|
45
|
+
};
|
|
46
|
+
return _this;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
(0, _createClass2.default)(BaseErrorBoundary, [{
|
|
50
|
+
key: "componentDidCatch",
|
|
51
|
+
value: function componentDidCatch(error, info) {
|
|
52
|
+
var onError = this.props.onError;
|
|
53
|
+
onError && onError(error, info);
|
|
54
|
+
this.setState({
|
|
55
|
+
hasError: true
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}, {
|
|
59
|
+
key: "render",
|
|
60
|
+
value: function render() {
|
|
61
|
+
var _this$props = this.props,
|
|
62
|
+
children = _this$props.children,
|
|
63
|
+
ErrorComponent = _this$props.ErrorComponent;
|
|
64
|
+
var hasError = this.state.hasError;
|
|
65
|
+
|
|
66
|
+
if (hasError && ErrorComponent) {
|
|
67
|
+
return /*#__PURE__*/_react.default.createElement(ErrorComponent, null);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return children;
|
|
71
|
+
}
|
|
72
|
+
}]);
|
|
73
|
+
return BaseErrorBoundary;
|
|
74
|
+
}(_react.Component);
|
|
75
|
+
|
|
76
|
+
exports.BaseErrorBoundary = BaseErrorBoundary;
|
package/dist/cjs/ui/{error-boundary-fallback → error-boundary/error-boundary-fallback}/index.js
RENAMED
|
@@ -13,9 +13,9 @@ var _emptyState = _interopRequireDefault(require("@atlaskit/empty-state"));
|
|
|
13
13
|
|
|
14
14
|
var _reactIntlNext = require("react-intl-next");
|
|
15
15
|
|
|
16
|
-
var _genericErrorSvg = _interopRequireDefault(require("
|
|
16
|
+
var _genericErrorSvg = _interopRequireDefault(require("../../../common/generic-error-svg"));
|
|
17
17
|
|
|
18
|
-
var _styled = require("
|
|
18
|
+
var _styled = require("../../link-picker/styled");
|
|
19
19
|
|
|
20
20
|
/** @jsx jsx */
|
|
21
21
|
var messages = (0, _reactIntlNext.defineMessages)({
|
|
@@ -7,98 +7,50 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
|
-
exports.default =
|
|
10
|
+
exports.default = void 0;
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
-
var
|
|
14
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _analytics = _interopRequireDefault(require("../../analytics.codegen"));
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _constants = require("../../common/constants");
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var _experiences = require("../../common/analytics/experiences");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _sessionProvider = require("../../controllers/session-provider");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _errorBoundaryFallback = require("./error-boundary-fallback");
|
|
25
25
|
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
29
|
-
|
|
30
|
-
var _analytics = _interopRequireDefault(require("../../analytics.codegen"));
|
|
26
|
+
var _errorBoundaryBase = require("./error-boundary-base");
|
|
31
27
|
|
|
32
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
33
29
|
|
|
34
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
35
31
|
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
componentStack: (_analyticsErrorPayloa = (_analyticsErrorPayloa2 = analyticsErrorPayload.info) === null || _analyticsErrorPayloa2 === void 0 ? void 0 : _analyticsErrorPayloa2.componentStack) !== null && _analyticsErrorPayloa !== void 0 ? _analyticsErrorPayloa : ''
|
|
61
|
-
})).fire(channel);
|
|
62
|
-
});
|
|
63
|
-
_this.state = {
|
|
64
|
-
hasError: false
|
|
65
|
-
};
|
|
66
|
-
return _this;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
(0, _createClass2.default)(BaseErrorBoundary, [{
|
|
70
|
-
key: "componentDidCatch",
|
|
71
|
-
value: function componentDidCatch(error, info) {
|
|
72
|
-
var onError = this.props.onError;
|
|
73
|
-
var payload = {
|
|
74
|
-
error: error,
|
|
75
|
-
info: info
|
|
76
|
-
};
|
|
77
|
-
this.fireAnalytics(payload);
|
|
78
|
-
onError && onError(error, info);
|
|
79
|
-
this.setState({
|
|
80
|
-
hasError: true
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
}, {
|
|
84
|
-
key: "render",
|
|
85
|
-
value: function render() {
|
|
86
|
-
var _this$props2 = this.props,
|
|
87
|
-
children = _this$props2.children,
|
|
88
|
-
ErrorComponent = _this$props2.ErrorComponent;
|
|
89
|
-
var hasError = this.state.hasError;
|
|
90
|
-
|
|
91
|
-
if (hasError && ErrorComponent) {
|
|
92
|
-
return /*#__PURE__*/_react.default.createElement(ErrorComponent, null);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return children;
|
|
96
|
-
}
|
|
97
|
-
}]);
|
|
98
|
-
return BaseErrorBoundary;
|
|
99
|
-
}(_react.Component);
|
|
100
|
-
|
|
101
|
-
exports.BaseErrorBoundary = BaseErrorBoundary;
|
|
102
|
-
var ErrorBoundary = (0, _analyticsNext.withAnalyticsEvents)()(BaseErrorBoundary);
|
|
103
|
-
var _default = ErrorBoundary;
|
|
32
|
+
function ErrorBoundary(_ref) {
|
|
33
|
+
var children = _ref.children,
|
|
34
|
+
createAnalyticsEvent = _ref.createAnalyticsEvent;
|
|
35
|
+
var linkPickerSessionId = (0, _sessionProvider.useLinkPickerSessionId)();
|
|
36
|
+
var handleError = (0, _react.useCallback)(function (error, info) {
|
|
37
|
+
var _window, _window$navigator, _info$componentStack;
|
|
38
|
+
|
|
39
|
+
// Fire Analytics event
|
|
40
|
+
createAnalyticsEvent((0, _analytics.default)('ui.linkPicker.unhandledErrorCaught', {
|
|
41
|
+
browserInfo: ((_window = window) === null || _window === void 0 ? void 0 : (_window$navigator = _window.navigator) === null || _window$navigator === void 0 ? void 0 : _window$navigator.userAgent) || 'unknown',
|
|
42
|
+
error: error.toString(),
|
|
43
|
+
componentStack: (_info$componentStack = info === null || info === void 0 ? void 0 : info.componentStack) !== null && _info$componentStack !== void 0 ? _info$componentStack : ''
|
|
44
|
+
})).fire(_constants.ANALYTICS_CHANNEL); // Fire UFO failed experience
|
|
45
|
+
|
|
46
|
+
(0, _experiences.failUfoExperience)(_experiences.ufoExperience.mounted, linkPickerSessionId);
|
|
47
|
+
}, [createAnalyticsEvent, linkPickerSessionId]);
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_errorBoundaryBase.BaseErrorBoundary, {
|
|
49
|
+
onError: handleError,
|
|
50
|
+
ErrorComponent: _errorBoundaryFallback.ErrorBoundaryFallback
|
|
51
|
+
}, children);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
var _default = (0, _analyticsNext.withAnalyticsEvents)()(ErrorBoundary);
|
|
55
|
+
|
|
104
56
|
exports.default = _default;
|
package/dist/cjs/ui/index.js
CHANGED
|
@@ -9,22 +9,22 @@ exports.PACKAGE_DATA = exports.ComposedLinkPicker = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
11
|
|
|
12
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
13
|
+
|
|
12
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
14
16
|
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
15
17
|
|
|
16
|
-
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
17
|
-
|
|
18
18
|
var _constants = require("../common/constants");
|
|
19
19
|
|
|
20
20
|
var _version = require("../version.json");
|
|
21
21
|
|
|
22
22
|
var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
|
|
23
23
|
|
|
24
|
-
var _errorBoundaryFallback = require("./error-boundary-fallback");
|
|
25
|
-
|
|
26
24
|
var _loaderFallback = require("./loader-fallback");
|
|
27
25
|
|
|
26
|
+
var _sessionProvider = require("../controllers/session-provider");
|
|
27
|
+
|
|
28
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
29
|
|
|
30
30
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -44,11 +44,8 @@ var LazyLinkPicker = (0, _reactLooselyLazy.lazyForPaint)(function () {
|
|
|
44
44
|
var ComposedLinkPicker = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
45
45
|
return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
|
|
46
46
|
data: PACKAGE_DATA
|
|
47
|
-
}, /*#__PURE__*/_react.default.createElement(_errorBoundary.default, {
|
|
48
|
-
channel: _constants.ANALYTICS_CHANNEL,
|
|
49
|
-
ErrorComponent: _errorBoundaryFallback.ErrorBoundaryFallback
|
|
50
|
-
}, /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
47
|
+
}, /*#__PURE__*/_react.default.createElement(_sessionProvider.LinkPickerSessionProvider, null, /*#__PURE__*/_react.default.createElement(_errorBoundary.default, null, /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
51
48
|
fallback: _loaderFallback.LoaderFallback
|
|
52
|
-
}, /*#__PURE__*/_react.default.createElement(LazyLinkPicker, props))));
|
|
49
|
+
}, /*#__PURE__*/_react.default.createElement(LazyLinkPicker, props)))));
|
|
53
50
|
});
|
|
54
51
|
exports.ComposedLinkPicker = ComposedLinkPicker;
|
|
@@ -61,6 +61,10 @@ var _formFooter = _interopRequireWildcard(require("./form-footer"));
|
|
|
61
61
|
|
|
62
62
|
var _utils = require("./utils");
|
|
63
63
|
|
|
64
|
+
var _experiences = require("../../common/analytics/experiences");
|
|
65
|
+
|
|
66
|
+
var _sessionProvider = require("../../controllers/session-provider");
|
|
67
|
+
|
|
64
68
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
65
69
|
|
|
66
70
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -173,6 +177,10 @@ function LinkPicker(_ref) {
|
|
|
173
177
|
trackAttribute = _useLinkPickerAnalyti.trackAttribute,
|
|
174
178
|
getAttributes = _useLinkPickerAnalyti.getAttributes;
|
|
175
179
|
|
|
180
|
+
var linkPickerSessionId = (0, _sessionProvider.useLinkPickerSessionId)();
|
|
181
|
+
(0, _react.useLayoutEffect)(function () {
|
|
182
|
+
(0, _experiences.succeedUfoExperience)(_experiences.ufoExperience.mounted, linkPickerSessionId);
|
|
183
|
+
}, [linkPickerSessionId]);
|
|
176
184
|
(0, _react.useEffect)(function () {
|
|
177
185
|
// Anything in here is fired on component mount.
|
|
178
186
|
var event = createAnalyticsEvent((0, _analytics.default)('ui.inlineDialog.viewed.linkPicker', {}));
|
|
@@ -201,9 +209,9 @@ function LinkPicker(_ref) {
|
|
|
201
209
|
});
|
|
202
210
|
}, []);
|
|
203
211
|
var handleKeyDown = (0, _react.useCallback)(function (event) {
|
|
204
|
-
var
|
|
205
|
-
var
|
|
206
|
-
var
|
|
212
|
+
var key = event.key;
|
|
213
|
+
var KEY_ARROW_DOWN = 'ArrowDown';
|
|
214
|
+
var KEY_ARROW_UP = 'ArrowUp';
|
|
207
215
|
|
|
208
216
|
if (!items || !items.length) {
|
|
209
217
|
return;
|
|
@@ -211,14 +219,14 @@ function LinkPicker(_ref) {
|
|
|
211
219
|
|
|
212
220
|
var updatedIndex = activeIndex;
|
|
213
221
|
|
|
214
|
-
switch (
|
|
215
|
-
case
|
|
222
|
+
switch (key) {
|
|
223
|
+
case KEY_ARROW_DOWN:
|
|
216
224
|
// down
|
|
217
225
|
event.preventDefault();
|
|
218
226
|
updatedIndex = (activeIndex + 1) % items.length;
|
|
219
227
|
break;
|
|
220
228
|
|
|
221
|
-
case
|
|
229
|
+
case KEY_ARROW_UP:
|
|
222
230
|
// up
|
|
223
231
|
event.preventDefault();
|
|
224
232
|
updatedIndex = activeIndex > 0 ? activeIndex - 1 : items.length - 1;
|
|
@@ -227,7 +235,7 @@ function LinkPicker(_ref) {
|
|
|
227
235
|
|
|
228
236
|
var item = items[updatedIndex];
|
|
229
237
|
|
|
230
|
-
if ([
|
|
238
|
+
if ([KEY_ARROW_DOWN, KEY_ARROW_UP].includes(key) && item) {
|
|
231
239
|
/**
|
|
232
240
|
* Manually track that the url has been updated using searchResult method
|
|
233
241
|
*/
|
package/dist/cjs/version.json
CHANGED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ConcurrentExperience, ExperiencePerformanceTypes, ExperienceTypes } from '@atlaskit/ufo';
|
|
2
|
+
export const ufoExperience = {
|
|
3
|
+
mounted: 'component-mounted'
|
|
4
|
+
};
|
|
5
|
+
const ufoExperiences = {
|
|
6
|
+
[ufoExperience.mounted]: new ConcurrentExperience(ufoExperience.mounted, {
|
|
7
|
+
type: ExperienceTypes.Load,
|
|
8
|
+
performanceType: ExperiencePerformanceTypes.PageSegmentLoad,
|
|
9
|
+
platform: {
|
|
10
|
+
component: 'link-picker'
|
|
11
|
+
}
|
|
12
|
+
})
|
|
13
|
+
};
|
|
14
|
+
export const startUfoExperience = (experienceName, id, metadata) => {
|
|
15
|
+
const experience = ufoExperiences[experienceName].getInstance(id);
|
|
16
|
+
experience.start();
|
|
17
|
+
|
|
18
|
+
if (metadata) {
|
|
19
|
+
experience.addMetadata(metadata);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const succeedUfoExperience = (experienceName, id, metadata) => {
|
|
23
|
+
const experience = ufoExperiences[experienceName].getInstance(id);
|
|
24
|
+
experience.success({
|
|
25
|
+
metadata
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
export const failUfoExperience = (experienceName, id, metadata) => {
|
|
29
|
+
const experience = ufoExperiences[experienceName].getInstance(id);
|
|
30
|
+
experience.failure({
|
|
31
|
+
metadata
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
export const abortUfoExperience = (experienceName, id, metadata) => {
|
|
35
|
+
const experience = ufoExperiences[experienceName].getInstance(id);
|
|
36
|
+
experience.abort({
|
|
37
|
+
metadata
|
|
38
|
+
});
|
|
39
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import React, { createContext, useContext, useEffect, useRef } from 'react';
|
|
2
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
3
|
+
import { abortUfoExperience, startUfoExperience, ufoExperience } from '../../common/analytics/experiences';
|
|
4
|
+
export const INIT_CONTEXT = 'SESSION_UNINITIALIZED';
|
|
5
|
+
export const SessionContext = /*#__PURE__*/createContext(INIT_CONTEXT);
|
|
6
|
+
|
|
7
|
+
const useConstructor = callback => {
|
|
8
|
+
const hasBeenFired = useRef(false);
|
|
9
|
+
|
|
10
|
+
if (!hasBeenFired.current) {
|
|
11
|
+
callback();
|
|
12
|
+
hasBeenFired.current = true;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return null;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const LinkPickerSessionProvider = ({
|
|
19
|
+
children
|
|
20
|
+
}) => {
|
|
21
|
+
const {
|
|
22
|
+
current: sessionId
|
|
23
|
+
} = useRef(uuidv4());
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
return () => abortUfoExperience(ufoExperience.mounted, sessionId);
|
|
26
|
+
}, [sessionId]);
|
|
27
|
+
useConstructor(() => startUfoExperience(ufoExperience.mounted, sessionId));
|
|
28
|
+
return /*#__PURE__*/React.createElement(SessionContext.Provider, {
|
|
29
|
+
value: sessionId
|
|
30
|
+
}, children);
|
|
31
|
+
};
|
|
32
|
+
export const useLinkPickerSessionId = () => useContext(SessionContext);
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
3
|
+
export class BaseErrorBoundary extends Component {
|
|
4
|
+
constructor(props) {
|
|
5
|
+
super(props);
|
|
6
|
+
this.state = {
|
|
7
|
+
hasError: false
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
componentDidCatch(error, info) {
|
|
12
|
+
const {
|
|
13
|
+
onError
|
|
14
|
+
} = this.props;
|
|
15
|
+
onError && onError(error, info);
|
|
16
|
+
this.setState({
|
|
17
|
+
hasError: true
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
render() {
|
|
22
|
+
const {
|
|
23
|
+
children,
|
|
24
|
+
ErrorComponent
|
|
25
|
+
} = this.props;
|
|
26
|
+
const {
|
|
27
|
+
hasError
|
|
28
|
+
} = this.state;
|
|
29
|
+
|
|
30
|
+
if (hasError && ErrorComponent) {
|
|
31
|
+
return /*#__PURE__*/React.createElement(ErrorComponent, null);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return children;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
}
|
package/dist/es2019/ui/{error-boundary-fallback → error-boundary/error-boundary-fallback}/index.js
RENAMED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx } from '@emotion/react';
|
|
3
3
|
import EmptyState from '@atlaskit/empty-state';
|
|
4
4
|
import { defineMessages, useIntl } from 'react-intl-next';
|
|
5
|
-
import GenericErrorSVG from '
|
|
6
|
-
import { rootContainerStyles } from '
|
|
5
|
+
import GenericErrorSVG from '../../../common/generic-error-svg';
|
|
6
|
+
import { rootContainerStyles } from '../../link-picker/styled';
|
|
7
7
|
const messages = defineMessages({
|
|
8
8
|
heading: {
|
|
9
9
|
defaultMessage: 'Something went wrong!',
|