@atlaskit/smart-card 22.0.0 → 22.1.2

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 (109) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/__tests_external__/index.js +53 -0
  3. package/dist/cjs/__tests_external__/page-objects/BaseCard.js +115 -0
  4. package/dist/cjs/__tests_external__/page-objects/BlockCard.js +43 -0
  5. package/dist/cjs/__tests_external__/page-objects/EmbedCard.js +43 -0
  6. package/dist/cjs/__tests_external__/page-objects/InlineCard.js +43 -0
  7. package/dist/cjs/__tests_external__/test-cases/card.js +27 -0
  8. package/dist/cjs/__tests_external__/test-cases/embed.js +27 -0
  9. package/dist/cjs/__tests_external__/test-cases/inline.js +27 -0
  10. package/dist/cjs/__tests_external__/test-cases/types.js +5 -0
  11. package/dist/cjs/extractors/block/index.js +6 -7
  12. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +16 -27
  13. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +43 -0
  14. package/dist/cjs/state/hooks-external/useSmartLinkActions.js +5 -3
  15. package/dist/cjs/utils/analytics/analytics.js +2 -2
  16. package/dist/cjs/utils/mocks.js +28 -2
  17. package/dist/cjs/version.json +1 -1
  18. package/dist/cjs/view/BlockCard/actions/PreviewAction.js +2 -2
  19. package/dist/cjs/view/BlockCard/index.js +6 -5
  20. package/dist/cjs/view/CardWithUrl/component.js +2 -2
  21. package/dist/cjs/view/EmbedCard/index.js +3 -2
  22. package/dist/cjs/view/EmbedModal/components/analytics/index.js +100 -0
  23. package/dist/cjs/view/EmbedModal/components/analytics/types.js +5 -0
  24. package/dist/cjs/view/EmbedModal/components/size-experiment/index.js +5 -10
  25. package/dist/cjs/view/EmbedModal/index.js +54 -15
  26. package/dist/cjs/view/EmbedModal/types.js +9 -1
  27. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +2 -1
  28. package/dist/cjs/view/InlineCard/IconAndTitleLayout/styled.js +2 -2
  29. package/dist/cjs/view/common/Modal.js +29 -4
  30. package/dist/cjs/view/common/ModalHeader.js +3 -2
  31. package/dist/es2019/__tests_external__/index.js +6 -0
  32. package/dist/es2019/__tests_external__/page-objects/BaseCard.js +61 -0
  33. package/dist/es2019/__tests_external__/page-objects/BlockCard.js +8 -0
  34. package/dist/es2019/__tests_external__/page-objects/EmbedCard.js +8 -0
  35. package/dist/es2019/__tests_external__/page-objects/InlineCard.js +8 -0
  36. package/dist/es2019/__tests_external__/test-cases/card.js +14 -0
  37. package/dist/es2019/__tests_external__/test-cases/embed.js +14 -0
  38. package/dist/es2019/__tests_external__/test-cases/inline.js +14 -0
  39. package/dist/es2019/__tests_external__/test-cases/types.js +1 -0
  40. package/dist/es2019/extractors/block/index.js +6 -7
  41. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +16 -18
  42. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +46 -3
  43. package/dist/es2019/state/hooks-external/useSmartLinkActions.js +5 -3
  44. package/dist/es2019/utils/analytics/analytics.js +1 -1
  45. package/dist/es2019/utils/mocks.js +26 -1
  46. package/dist/es2019/version.json +1 -1
  47. package/dist/es2019/view/BlockCard/actions/PreviewAction.js +3 -3
  48. package/dist/es2019/view/BlockCard/index.js +5 -4
  49. package/dist/es2019/view/CardWithUrl/component.js +2 -2
  50. package/dist/es2019/view/EmbedCard/index.js +3 -2
  51. package/dist/es2019/view/EmbedModal/components/analytics/index.js +80 -0
  52. package/dist/es2019/view/EmbedModal/components/analytics/types.js +1 -0
  53. package/dist/es2019/view/EmbedModal/components/size-experiment/index.js +5 -9
  54. package/dist/es2019/view/EmbedModal/index.js +46 -13
  55. package/dist/es2019/view/EmbedModal/types.js +6 -1
  56. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +2 -1
  57. package/dist/es2019/view/InlineCard/IconAndTitleLayout/styled.js +0 -2
  58. package/dist/es2019/view/common/Modal.js +27 -6
  59. package/dist/es2019/view/common/ModalHeader.js +3 -2
  60. package/dist/esm/__tests_external__/index.js +6 -0
  61. package/dist/esm/__tests_external__/page-objects/BaseCard.js +101 -0
  62. package/dist/esm/__tests_external__/page-objects/BlockCard.js +28 -0
  63. package/dist/esm/__tests_external__/page-objects/EmbedCard.js +28 -0
  64. package/dist/esm/__tests_external__/page-objects/InlineCard.js +28 -0
  65. package/dist/esm/__tests_external__/test-cases/card.js +16 -0
  66. package/dist/esm/__tests_external__/test-cases/embed.js +16 -0
  67. package/dist/esm/__tests_external__/test-cases/inline.js +16 -0
  68. package/dist/esm/__tests_external__/test-cases/types.js +1 -0
  69. package/dist/esm/extractors/block/index.js +6 -7
  70. package/dist/esm/extractors/common/actions/extractPreviewAction.js +17 -27
  71. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +45 -2
  72. package/dist/esm/state/hooks-external/useSmartLinkActions.js +5 -3
  73. package/dist/esm/utils/analytics/analytics.js +2 -2
  74. package/dist/esm/utils/mocks.js +25 -0
  75. package/dist/esm/version.json +1 -1
  76. package/dist/esm/view/BlockCard/actions/PreviewAction.js +3 -3
  77. package/dist/esm/view/BlockCard/index.js +5 -4
  78. package/dist/esm/view/CardWithUrl/component.js +2 -2
  79. package/dist/esm/view/EmbedCard/index.js +3 -2
  80. package/dist/esm/view/EmbedModal/components/analytics/index.js +82 -0
  81. package/dist/esm/view/EmbedModal/components/analytics/types.js +1 -0
  82. package/dist/esm/view/EmbedModal/components/size-experiment/index.js +5 -10
  83. package/dist/esm/view/EmbedModal/index.js +52 -15
  84. package/dist/esm/view/EmbedModal/types.js +6 -1
  85. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +2 -1
  86. package/dist/esm/view/InlineCard/IconAndTitleLayout/styled.js +2 -2
  87. package/dist/esm/view/common/Modal.js +28 -6
  88. package/dist/esm/view/common/ModalHeader.js +3 -2
  89. package/dist/types/extractors/block/types.d.ts +4 -2
  90. package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +7 -5
  91. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +23 -1
  92. package/dist/types/state/hooks/useSmartLink.d.ts +9 -0
  93. package/dist/types/state/hooks-external/useSmartLinkActions.d.ts +6 -2
  94. package/dist/types/utils/mocks.d.ts +48 -0
  95. package/dist/types/utils/types.d.ts +3 -1
  96. package/dist/types/view/BlockCard/actions/PreviewAction.d.ts +4 -0
  97. package/dist/types/view/BlockCard/index.d.ts +2 -2
  98. package/dist/types/view/BlockCard/types.d.ts +4 -4
  99. package/dist/types/view/Card/index.d.ts +1 -1
  100. package/dist/types/view/EmbedCard/types.d.ts +2 -2
  101. package/dist/types/view/EmbedModal/components/analytics/index.d.ts +5 -0
  102. package/dist/types/view/EmbedModal/components/analytics/types.d.ts +6 -0
  103. package/dist/types/view/EmbedModal/components/size-experiment/index.d.ts +4 -3
  104. package/dist/types/view/EmbedModal/index.d.ts +3 -1
  105. package/dist/types/view/EmbedModal/types.d.ts +14 -4
  106. package/dist/types/view/HoverCard/index.d.ts +1 -1
  107. package/dist/types/view/common/Modal.d.ts +6 -8
  108. package/package.json +22 -22
  109. package/report.api.md +35 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 22.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`46059beebbf`](https://bitbucket.org/atlassian/atlassian-frontend/commits/46059beebbf) - - include **tests_external** in build
8
+ - replace usage of @local-cypress package with @cypress
9
+ - bump @cypress from ^6.4.0 to ^7.7.0
10
+ - import cypress types into @atlaskit/in-product-testing tsconfig
11
+
12
+ ## 22.1.1
13
+
14
+ ### Patch Changes
15
+
16
+ - [`9c7cc4139ec`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9c7cc4139ec) - Partially remove Lozenge CSS override which conflicts with updated Lozenge styling.
17
+ - Updated dependencies
18
+
19
+ ## 22.1.0
20
+
21
+ ### Minor Changes
22
+
23
+ - [`c908307ef8e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c908307ef8e) - Embed Preview: Update embed preview modal analytics
24
+
3
25
  ## 22.0.0
4
26
 
5
27
  ### Major Changes
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "BlockCardPageObject", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _BlockCard.BlockCardPageObject;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "EmbedCardPageObject", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _EmbedCard.EmbedCardPageObject;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "InlineCardPageObject", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _InlineCard.InlineCardPageObject;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "blockSmartLinkRendersTestCase", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _card.blockSmartLinkRendersTestCase;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "embedSmartLinkRendersTestCase", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _embed.embedSmartLinkRendersTestCase;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "inlineSmartLinkRendersTestCase", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _inline.inlineSmartLinkRendersTestCase;
40
+ }
41
+ });
42
+
43
+ var _InlineCard = require("./page-objects/InlineCard");
44
+
45
+ var _BlockCard = require("./page-objects/BlockCard");
46
+
47
+ var _EmbedCard = require("./page-objects/EmbedCard");
48
+
49
+ var _inline = require("./test-cases/inline");
50
+
51
+ var _card = require("./test-cases/card");
52
+
53
+ var _embed = require("./test-cases/embed");
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.BaseCardPageObject = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
22
+ var _inProductTesting = require("@atlaskit/in-product-testing");
23
+
24
+ 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); }; }
25
+
26
+ 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; } }
27
+
28
+ var BaseCardPageObject = /*#__PURE__*/function (_InProductTestPageObj) {
29
+ (0, _inherits2.default)(BaseCardPageObject, _InProductTestPageObj);
30
+
31
+ var _super = _createSuper(BaseCardPageObject);
32
+
33
+ function BaseCardPageObject(cy, appearance) {
34
+ var _this;
35
+
36
+ (0, _classCallCheck2.default)(this, BaseCardPageObject);
37
+ _this = _super.call(this, cy);
38
+ _this.cy = cy;
39
+ _this.appearance = appearance;
40
+ return _this;
41
+ }
42
+
43
+ (0, _createClass2.default)(BaseCardPageObject, [{
44
+ key: "_toSelector",
45
+ value: function _toSelector(appearance, status) {
46
+ var viewSelector = status.replace(/_/g, '-');
47
+ return this.toTestId("".concat(appearance, "-card-").concat(viewSelector, "-view"));
48
+ }
49
+ }, {
50
+ key: "expectCardReady",
51
+ value: function expectCardReady() {
52
+ var _this2 = this;
53
+
54
+ var numOfCards = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
55
+ var status = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'resolved';
56
+
57
+ var selector = this._toSelector(this.appearance, status);
58
+
59
+ return this.cy // NOTE: `timeout` used since Smart Links rely on a network response.
60
+ .get(selector, {
61
+ timeout: BaseCardPageObject.CARD_TIMEOUT
62
+ }).should('have.length', numOfCards).each(function (element) {
63
+ _this2.cy.wrap(element) // NOTE: `be.visible` is used to ensure the file is still visible
64
+ // whilst it is being uploaded.
65
+ .should('be.visible');
66
+ });
67
+ }
68
+ }, {
69
+ key: "expectCardNotExists",
70
+ value: function expectCardNotExists() {
71
+ var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'resolved';
72
+
73
+ var selector = this._toSelector(this.appearance, status);
74
+
75
+ return this.cy.get(selector).should('not.exist');
76
+ }
77
+ }, {
78
+ key: "findCardNth",
79
+ value: function findCardNth() {
80
+ var nth = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
81
+ var status = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'resolved';
82
+
83
+ var selector = this._toSelector(this.appearance, status);
84
+
85
+ return this.cy // NOTE: `timeout` used since Smart Links rely on a network response.
86
+ .get(selector, {
87
+ timeout: BaseCardPageObject.CARD_TIMEOUT
88
+ }).should('have.length.at.least', nth).should('be.visible').eq(nth - 1);
89
+ }
90
+ }, {
91
+ key: "assertHrefRendered",
92
+ value: function assertHrefRendered(url) {
93
+ return this.cy.get("a[href=\"".concat(url, "\"]"), {
94
+ timeout: BaseCardPageObject.CARD_TIMEOUT
95
+ }).should('be.visible');
96
+ }
97
+ }, {
98
+ key: "assertHrefNotRendered",
99
+ value: function assertHrefNotRendered(url) {
100
+ return this.cy.get("a[href=\"".concat(url, "\"]"), {
101
+ timeout: BaseCardPageObject.CARD_TIMEOUT
102
+ }).should('not.exist');
103
+ }
104
+ }, {
105
+ key: "click",
106
+ value: function click() {
107
+ var status = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'resolved';
108
+ return this.findCardNth(1, status).click();
109
+ }
110
+ }]);
111
+ return BaseCardPageObject;
112
+ }(_inProductTesting.InProductTestPageObject);
113
+
114
+ exports.BaseCardPageObject = BaseCardPageObject;
115
+ (0, _defineProperty2.default)(BaseCardPageObject, "CARD_TIMEOUT", 15000);
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.BlockCardPageObject = void 0;
9
+
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _BaseCard = require("./BaseCard");
21
+
22
+ 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); }; }
23
+
24
+ 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; } }
25
+
26
+ var BlockCardPageObject = /*#__PURE__*/function (_BaseCardPageObject) {
27
+ (0, _inherits2.default)(BlockCardPageObject, _BaseCardPageObject);
28
+
29
+ var _super = _createSuper(BlockCardPageObject);
30
+
31
+ function BlockCardPageObject(cy) {
32
+ var _this;
33
+
34
+ (0, _classCallCheck2.default)(this, BlockCardPageObject);
35
+ _this = _super.call(this, cy, 'block');
36
+ _this.cy = cy;
37
+ return _this;
38
+ }
39
+
40
+ return (0, _createClass2.default)(BlockCardPageObject);
41
+ }(_BaseCard.BaseCardPageObject);
42
+
43
+ exports.BlockCardPageObject = BlockCardPageObject;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.EmbedCardPageObject = void 0;
9
+
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _BaseCard = require("./BaseCard");
21
+
22
+ 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); }; }
23
+
24
+ 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; } }
25
+
26
+ var EmbedCardPageObject = /*#__PURE__*/function (_BaseCardPageObject) {
27
+ (0, _inherits2.default)(EmbedCardPageObject, _BaseCardPageObject);
28
+
29
+ var _super = _createSuper(EmbedCardPageObject);
30
+
31
+ function EmbedCardPageObject(cy) {
32
+ var _this;
33
+
34
+ (0, _classCallCheck2.default)(this, EmbedCardPageObject);
35
+ _this = _super.call(this, cy, 'embed');
36
+ _this.cy = cy;
37
+ return _this;
38
+ }
39
+
40
+ return (0, _createClass2.default)(EmbedCardPageObject);
41
+ }(_BaseCard.BaseCardPageObject);
42
+
43
+ exports.EmbedCardPageObject = EmbedCardPageObject;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.InlineCardPageObject = void 0;
9
+
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _BaseCard = require("./BaseCard");
21
+
22
+ 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); }; }
23
+
24
+ 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; } }
25
+
26
+ var InlineCardPageObject = /*#__PURE__*/function (_BaseCardPageObject) {
27
+ (0, _inherits2.default)(InlineCardPageObject, _BaseCardPageObject);
28
+
29
+ var _super = _createSuper(InlineCardPageObject);
30
+
31
+ function InlineCardPageObject(cy) {
32
+ var _this;
33
+
34
+ (0, _classCallCheck2.default)(this, InlineCardPageObject);
35
+ _this = _super.call(this, cy, 'inline');
36
+ _this.cy = cy;
37
+ return _this;
38
+ }
39
+
40
+ return (0, _createClass2.default)(InlineCardPageObject);
41
+ }(_BaseCard.BaseCardPageObject);
42
+
43
+ exports.InlineCardPageObject = InlineCardPageObject;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.blockSmartLinkRendersTestCase = void 0;
7
+
8
+ var _inProductTesting = require("@atlaskit/in-product-testing");
9
+
10
+ var _BlockCard = require("../page-objects/BlockCard");
11
+
12
+ var blockSmartLinkRendersTestCase = function blockSmartLinkRendersTestCase(_ref) {
13
+ var url = _ref.url,
14
+ _ref$status = _ref.status,
15
+ status = _ref$status === void 0 ? 'resolved' : _ref$status;
16
+ return new _inProductTesting.InProductTestCase({
17
+ title: 'Block Smart Link is visible in the resolved state',
18
+ id: 'block-smart-link-resolved',
19
+ assertions: function assertions(cy) {
20
+ var blockCard = new _BlockCard.BlockCardPageObject(cy);
21
+ blockCard.assertHrefRendered(url);
22
+ blockCard.expectCardReady(1, status);
23
+ }
24
+ });
25
+ };
26
+
27
+ exports.blockSmartLinkRendersTestCase = blockSmartLinkRendersTestCase;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.embedSmartLinkRendersTestCase = void 0;
7
+
8
+ var _inProductTesting = require("@atlaskit/in-product-testing");
9
+
10
+ var _EmbedCard = require("../page-objects/EmbedCard");
11
+
12
+ var embedSmartLinkRendersTestCase = function embedSmartLinkRendersTestCase(_ref) {
13
+ var url = _ref.url,
14
+ _ref$status = _ref.status,
15
+ status = _ref$status === void 0 ? 'resolved' : _ref$status;
16
+ return new _inProductTesting.InProductTestCase({
17
+ title: 'Embed Smart Link is visible in the resolved state',
18
+ id: 'embed-smart-link-resolved',
19
+ assertions: function assertions(cy) {
20
+ var embedCard = new _EmbedCard.EmbedCardPageObject(cy);
21
+ embedCard.assertHrefRendered(url);
22
+ embedCard.expectCardReady(1, status);
23
+ }
24
+ });
25
+ };
26
+
27
+ exports.embedSmartLinkRendersTestCase = embedSmartLinkRendersTestCase;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.inlineSmartLinkRendersTestCase = void 0;
7
+
8
+ var _inProductTesting = require("@atlaskit/in-product-testing");
9
+
10
+ var _InlineCard = require("../page-objects/InlineCard");
11
+
12
+ var inlineSmartLinkRendersTestCase = function inlineSmartLinkRendersTestCase(_ref) {
13
+ var url = _ref.url,
14
+ _ref$status = _ref.status,
15
+ status = _ref$status === void 0 ? 'resolved' : _ref$status;
16
+ return new _inProductTesting.InProductTestCase({
17
+ title: 'Inline Smart Link is visible in the resolved state',
18
+ id: 'inline-smart-link-resolved',
19
+ assertions: function assertions(cy) {
20
+ var inlineCard = new _InlineCard.InlineCardPageObject(cy);
21
+ inlineCard.assertHrefRendered(url);
22
+ inlineCard.expectCardReady(1, status);
23
+ }
24
+ });
25
+ };
26
+
27
+ exports.inlineSmartLinkRendersTestCase = inlineSmartLinkRendersTestCase;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -55,14 +55,13 @@ var extractBlockDetails = function extractBlockDetails(jsonLd) {
55
55
 
56
56
  var extractBlockActions = function extractBlockActions(props, jsonLd, opts, platform) {
57
57
  if (opts) {
58
- var featureFlags = opts.featureFlags,
59
- handleInvoke = opts.handleInvoke,
60
- handleAnalytics = opts.handleAnalytics,
61
- extensionKey = opts.extensionKey,
62
- source = opts.source,
63
- testId = opts.testId;
58
+ var handleInvoke = opts.handleInvoke;
64
59
  var actions = (0, _extractActions.extractActions)(jsonLd, handleInvoke);
65
- var previewAction = (0, _extractPreviewAction.extractPreviewAction)(extensionKey, props, jsonLd, handleInvoke, handleAnalytics, testId, platform, source, featureFlags); // The previewAction should always be the last action
60
+ var previewAction = (0, _extractPreviewAction.extractPreviewAction)(_objectSpread(_objectSpread({}, opts), {}, {
61
+ viewProps: props,
62
+ jsonLd: jsonLd,
63
+ platform: platform
64
+ })); // The previewAction should always be the last action
66
65
 
67
66
  if (previewAction) {
68
67
  actions.push(previewAction);
@@ -9,8 +9,6 @@ exports.extractPreviewAction = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
12
- var _analytics = require("../../../utils/analytics");
13
-
14
12
  var _detail = require("../detail");
15
13
 
16
14
  var _extractors = require("@atlaskit/linking-common/extractors");
@@ -63,16 +61,19 @@ var getInvokeOpts = function getInvokeOpts(key, action, source) {
63
61
  };
64
62
  };
65
63
 
66
- var extractPreviewAction = function extractPreviewAction() {
67
- var extensionKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'empty-object-provider';
68
- var viewProps = arguments.length > 1 ? arguments[1] : undefined;
69
- var jsonLd = arguments.length > 2 ? arguments[2] : undefined;
70
- var handleInvoke = arguments.length > 3 ? arguments[3] : undefined;
71
- var handleAnalytics = arguments.length > 4 ? arguments[4] : undefined;
72
- var testId = arguments.length > 5 ? arguments[5] : undefined;
73
- var platform = arguments.length > 6 ? arguments[6] : undefined;
74
- var source = arguments.length > 7 ? arguments[7] : undefined;
75
- var featureFlags = arguments.length > 8 ? arguments[8] : undefined;
64
+ var extractPreviewAction = function extractPreviewAction(_ref) {
65
+ var _ref$extensionKey = _ref.extensionKey,
66
+ extensionKey = _ref$extensionKey === void 0 ? 'empty-object-provider' : _ref$extensionKey,
67
+ viewProps = _ref.viewProps,
68
+ jsonLd = _ref.jsonLd,
69
+ handleInvoke = _ref.handleInvoke,
70
+ testId = _ref.testId,
71
+ platform = _ref.platform,
72
+ origin = _ref.origin,
73
+ _ref$source = _ref.source,
74
+ source = _ref$source === void 0 ? 'block' : _ref$source,
75
+ featureFlags = _ref.featureFlags,
76
+ analytics = _ref.analytics;
76
77
  // Extract metadata from view props & raw JSON-LD.
77
78
  var metadataFromJsonLd = getMetadataFromJsonLd(jsonLd, platform);
78
79
  var metadataFromViewProps = getMetadataFromResolvedProps(viewProps);
@@ -84,22 +85,10 @@ var extractPreviewAction = function extractPreviewAction() {
84
85
  // Build action using instrumentation hooks.
85
86
  var key = extensionKey;
86
87
  var previewAction = (0, _BlockCard.PreviewAction)(_objectSpread(_objectSpread({}, metadata), {}, {
88
+ analytics: analytics,
89
+ origin: origin,
87
90
  featureFlags: featureFlags,
88
91
  testId: testId,
89
- onOpen: function onOpen() {
90
- handleAnalytics((0, _analytics.uiRenderSuccessEvent)({
91
- display: 'preview',
92
- status: 'resolved',
93
- extensionKey: key
94
- }));
95
- },
96
- onOpenFailed: function onOpenFailed(error, errorInfo) {
97
- handleAnalytics((0, _analytics.uiRenderFailedEvent)({
98
- display: 'preview',
99
- error: error,
100
- errorInfo: errorInfo
101
- }));
102
- },
103
92
  onDownloadActionClick: function onDownloadActionClick() {
104
93
  handleInvoke(getInvokeOpts(key, 'DownloadAction'));
105
94
  },
@@ -109,7 +98,7 @@ var extractPreviewAction = function extractPreviewAction() {
109
98
  })); // Setup props to go through proper Redux 'invocation' flow
110
99
  // for analytics, further state management if required in future.
111
100
 
112
- var previewActionProps = getInvokeOpts(key, 'PreviewAction', source !== null && source !== void 0 ? source : 'block'); // - Promise invoked by the action invocation handler; open preview.
101
+ var previewActionProps = getInvokeOpts(key, 'PreviewAction', source); // - Promise invoked by the action invocation handler; open preview.
113
102
 
114
103
  previewActionProps.action.promise = previewAction.promise; // - Promise invoked on click of `Preview` on block card; trigger above promise.
115
104
 
@@ -135,6 +135,21 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, dispatchAnalytic
135
135
  }), commonAttributes));
136
136
  },
137
137
 
138
+ /**
139
+ * This fires an event that represents when a user
140
+ * click a button.
141
+ * @param data A partial analytics event payload
142
+ */
143
+ buttonClickedEvent: function buttonClickedEvent(data) {
144
+ return dispatchAnalytics(applyCommonAttributes({
145
+ action: 'clicked',
146
+ actionSubject: 'button',
147
+ actionSubjectId: data.actionSubjectId,
148
+ attributes: _objectSpread(_objectSpread({}, _analytics.context), data.attributes),
149
+ eventType: 'ui'
150
+ }, commonAttributes));
151
+ },
152
+
138
153
  /**
139
154
  * This fires an event that represents when a user clicks on a Smart Link.
140
155
  * @param id The unique ID for this Smart Link.
@@ -266,6 +281,20 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, dispatchAnalytic
266
281
  }), commonAttributes));
267
282
  },
268
283
 
284
+ /**
285
+ * This fires an event that represents when a user close a modal.
286
+ * @param data A partial analytics event payload
287
+ */
288
+ modalClosedEvent: function modalClosedEvent(data) {
289
+ return dispatchAnalytics(applyCommonAttributes({
290
+ action: 'closed',
291
+ actionSubject: 'modal',
292
+ actionSubjectId: data.actionSubjectId,
293
+ attributes: _objectSpread(_objectSpread({}, _analytics.context), data.attributes),
294
+ eventType: 'ui'
295
+ }, commonAttributes));
296
+ },
297
+
269
298
  /**
270
299
  * This fires an event that represents when a Smart Link was rendered successfully.
271
300
  * Note: this fires even if the Smart Link request errored out.
@@ -630,6 +659,20 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, dispatchAnalytic
630
659
  destinationSubproduct: destinationSubproduct,
631
660
  location: location
632
661
  })), commonAttributes));
662
+ },
663
+
664
+ /**
665
+ * This fires an event that represents when a user view a modal.
666
+ * @param data A partial analytics event payload
667
+ */
668
+ modalViewedEvent: function modalViewedEvent(data) {
669
+ return dispatchAnalytics(applyCommonAttributes({
670
+ action: 'viewed',
671
+ actionSubject: data.name,
672
+ attributes: _objectSpread(_objectSpread({}, _analytics.context), data.attributes),
673
+ eventType: 'screen',
674
+ name: data.name
675
+ }, commonAttributes));
633
676
  }
634
677
  };
635
678
  }, [commonAttributes, dispatchAnalytics]);
@@ -30,7 +30,8 @@ function useSmartLinkActions(_ref) {
30
30
  appearance = _ref.appearance,
31
31
  analyticsHandler = _ref.analyticsHandler,
32
32
  _ref$platform = _ref.platform,
33
- platform = _ref$platform === void 0 ? 'web' : _ref$platform;
33
+ platform = _ref$platform === void 0 ? 'web' : _ref$platform,
34
+ origin = _ref.origin;
34
35
  var id = (0, _react.useMemo)(function () {
35
36
  return (0, _uuid.default)();
36
37
  }, []);
@@ -60,7 +61,8 @@ function useSmartLinkActions(_ref) {
60
61
  handleInvoke: function handleInvoke(opts) {
61
62
  return linkActions.invoke(opts, appearance);
62
63
  },
63
- handleAnalytics: analyticsHandler,
64
+ analytics: linkAnalytics,
65
+ origin: origin,
64
66
  extensionKey: (0, _helpers.getExtensionKey)(linkState.details),
65
67
  source: appearance
66
68
  }, undefined, platform);
@@ -77,6 +79,6 @@ function useSmartLinkActions(_ref) {
77
79
  };
78
80
  });
79
81
  setActions(cardActions);
80
- }, [linkState, linkActions, analyticsHandler, appearance, platform, embedModalSize]);
82
+ }, [linkState, linkActions, linkAnalytics, appearance, platform, embedModalSize, origin]);
81
83
  return actions;
82
84
  }
@@ -451,7 +451,7 @@ var uiRenderFailedEvent = function uiRenderFailedEvent(_ref14) {
451
451
  actionSubject: 'smartLink',
452
452
  action: 'renderFailed',
453
453
  eventType: 'ui',
454
- attributes: {
454
+ attributes: _objectSpread(_objectSpread({}, context), {}, {
455
455
  error: error,
456
456
  errorInfo: errorInfo,
457
457
  display: display,
@@ -460,7 +460,7 @@ var uiRenderFailedEvent = function uiRenderFailedEvent(_ref14) {
460
460
  destinationProduct: destinationProduct,
461
461
  destinationSubproduct: destinationSubproduct,
462
462
  location: location
463
- }
463
+ })
464
464
  };
465
465
  };
466
466