@pingux/astro 2.68.0-alpha.1 → 2.68.0-alpha.3

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.
@@ -289,18 +289,20 @@ describe('CopyText', function () {
289
289
  return _regeneratorRuntime().wrap(function _callee12$(_context12) {
290
290
  while (1) switch (_context12.prev = _context12.next) {
291
291
  case 0:
292
+ jest.useRealTimers();
292
293
  getComponent();
293
294
  button = _testWrapper.screen.getByLabelText('copy to clipboard');
294
295
  _testWrapper.fireEvent.click(button);
295
296
  expect(_testWrapper.screen.queryByRole('tooltip')).toBeInTheDocument();
296
297
  expect(_testWrapper.screen.queryByRole('tooltip')).toHaveTextContent('Copied!');
297
- _context12.next = 7;
298
+ _context12.next = 8;
298
299
  return new _promise["default"](function (resolve) {
299
300
  return (0, _setTimeout2["default"])(resolve, 1000);
300
301
  });
301
- case 7:
302
- expect(_testWrapper.screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
303
302
  case 8:
303
+ expect(_testWrapper.screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
304
+ jest.useFakeTimers();
305
+ case 10:
304
306
  case "end":
305
307
  return _context12.stop();
306
308
  }
@@ -32,7 +32,6 @@ var _reactStately = require("react-stately");
32
32
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
33
33
  var _ = require("../..");
34
34
  var _testWrapper = require("../../utils/testUtils/testWrapper");
35
- var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
36
35
  var _EnvironmentBreadcrumb = require("./EnvironmentBreadcrumb");
37
36
  var _react2 = require("@emotion/react");
38
37
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context6; _forEachInstanceProperty2(_context6 = ["next", "throw", "return"]).call(_context6, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty2(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context7; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty2(_context7 = this.tryEntries).call(_context7, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
@@ -126,12 +125,11 @@ var getSectionsComponent = function getSectionsComponent() {
126
125
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
127
126
  return (0, _testWrapper.render)(renderSectionsComponent(props));
128
127
  };
129
- (0, _universalComponentTest.universalComponentTests)({
130
- renderComponent: renderComponent
131
- });
132
- (0, _universalComponentTest.universalComponentTests)({
133
- renderComponent: renderSectionsComponent
134
- });
128
+
129
+ // This file does not call universalComponentTests directly. There is a separate file,
130
+ // ./EnvironmentalBreadcrumbUniversal.test.tsx, that calls it for both the EnvironmentBreadcrumb
131
+ // and the EnvironmentBreadcrumb with sections.
132
+
135
133
  beforeAll(function () {
136
134
  var callback = function callback(cb) {
137
135
  return cb();
@@ -147,7 +145,6 @@ beforeAll(function () {
147
145
  return 1024;
148
146
  });
149
147
  jest.spyOn(window, 'requestAnimationFrame').mockImplementation(callback);
150
- jest.useFakeTimers();
151
148
  });
152
149
  afterEach(function () {
153
150
  jest.clearAllMocks();
@@ -90,6 +90,7 @@ test('renders Messages component in the default state with dynamic list', functi
90
90
  expect(messages).toBeInTheDocument();
91
91
  });
92
92
  test('click on close button fires `onClose` callback', function () {
93
+ jest.useRealTimers();
93
94
  var onClose = jest.fn();
94
95
  getComponent({
95
96
  onClose: onClose
@@ -97,8 +98,10 @@ test('click on close button fires `onClose` callback', function () {
97
98
  var buttons = _testWrapper.screen.getAllByRole('button');
98
99
  _userEvent["default"].click(buttons[0]);
99
100
  expect(onClose).toHaveBeenCalled();
101
+ jest.useFakeTimers();
100
102
  });
101
103
  test('`onClose` get as first arg key of message', function () {
104
+ jest.useRealTimers();
102
105
  var onClose = jest.fn();
103
106
  getComponent({
104
107
  onClose: onClose
@@ -106,9 +109,9 @@ test('`onClose` get as first arg key of message', function () {
106
109
  var buttons = _testWrapper.screen.getAllByRole('button');
107
110
  _userEvent["default"].click(buttons[0]);
108
111
  expect(onClose).toHaveBeenCalledWith('message1');
112
+ jest.useFakeTimers();
109
113
  });
110
114
  test('click on close button removes message after delay', function () {
111
- jest.useFakeTimers();
112
115
  getComponent();
113
116
  var messages = _testWrapper.screen.getByTestId(testId);
114
117
  expect(messages.childElementCount).toBe(2);
@@ -5,11 +5,12 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
5
5
  _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = exports.WithoutLink = exports.WithoutButton = exports.WithButtonProps = exports.Default = void 0;
8
+ exports["default"] = exports.WithoutLink = exports.WithoutButton = exports.Default = exports.Customization = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
12
12
  var _index = require("../../index");
13
+ var _figmaLinks = require("../../utils/designUtils/figmaLinks");
13
14
  var _PageHeader = _interopRequireDefault(require("./PageHeader.mdx"));
14
15
  var _react2 = require("@emotion/react");
15
16
  var _default = {
@@ -34,43 +35,61 @@ var _default = {
34
35
  }
35
36
  };
36
37
  exports["default"] = _default;
37
- var description = "The description of the page. The description of the page. The description of the page. The\n description of the page.The description of the page. The description of the page. The\n description of the page. The description of the page. The description of the page. ";
38
+ var description = "Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts \nand visual mockups.Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries\nfor previewing layouts and visual mockups. ";
38
39
  var Default = function Default(args) {
39
40
  return (0, _react2.jsx)(_index.PageHeader, (0, _extends2["default"])({
40
41
  buttonProps: {
41
42
  onPress: function onPress() {}
42
43
  },
43
- title: "Title of the Page"
44
+ title: "Lorem ipsum"
44
45
  }, args), description, (0, _react2.jsx)(_index.Link, {
45
46
  href: "https://uilibrary.ping-eng.com/"
46
47
  }, "Learn more"));
47
48
  };
48
49
  exports.Default = Default;
50
+ Default.parameters = {
51
+ design: {
52
+ type: 'figma',
53
+ url: _figmaLinks.FIGMA_LINKS.pageHeader["default"]
54
+ }
55
+ };
49
56
  var WithoutButton = function WithoutButton() {
50
57
  return (0, _react2.jsx)(_index.PageHeader, {
51
- title: "Title of the Page"
58
+ title: "Lorem ipsum"
52
59
  }, description, (0, _react2.jsx)(_index.Link, {
53
60
  href: "https://uilibrary.ping-eng.com/"
54
61
  }, "Learn more"));
55
62
  };
56
63
  exports.WithoutButton = WithoutButton;
64
+ WithoutButton.parameters = {
65
+ design: {
66
+ type: 'figma',
67
+ url: _figmaLinks.FIGMA_LINKS.pageHeader.withoutButton
68
+ }
69
+ };
57
70
  var WithoutLink = function WithoutLink() {
58
71
  return (0, _react2.jsx)(_index.PageHeader, {
59
72
  buttonProps: {
60
73
  onPress: function onPress() {}
61
74
  },
62
- title: "Title of the Page"
75
+ title: "Lorem ipsum"
63
76
  }, description);
64
77
  };
65
78
  exports.WithoutLink = WithoutLink;
66
- var WithButtonProps = function WithButtonProps() {
79
+ WithoutLink.parameters = {
80
+ design: {
81
+ type: 'figma',
82
+ url: _figmaLinks.FIGMA_LINKS.pageHeader.withoutLink
83
+ }
84
+ };
85
+ var Customization = function Customization() {
67
86
  return (0, _react2.jsx)(_index.PageHeader, {
68
87
  buttonProps: {
69
88
  bg: 'critical.bright'
70
89
  },
71
- title: "Title of the Page"
90
+ title: "Lorem ipsum"
72
91
  }, description, (0, _react2.jsx)(_index.Link, {
73
92
  href: "https://uilibrary.ping-eng.com/"
74
93
  }, "Learn more"));
75
94
  };
76
- exports.WithButtonProps = WithButtonProps;
95
+ exports.Customization = Customization;
@@ -166,4 +166,9 @@ export declare const FIGMA_LINKS: {
166
166
  noAccess: {
167
167
  default: string;
168
168
  };
169
+ pageHeader: {
170
+ default: string;
171
+ withoutButton: string;
172
+ withoutLink: string;
173
+ };
169
174
  };
@@ -172,6 +172,11 @@ var FIGMA_LINKS = {
172
172
  },
173
173
  noAccess: {
174
174
  "default": 'https://www.figma.com/file/S1tRCG90PVgCJRCyDwxkBk/429-Error?type=design&node-id=9-940&mode=design&t=Z6pZWCsrvY0g6b2q-0'
175
+ },
176
+ pageHeader: {
177
+ "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-11051&t=OK8Fy4P3se6BKy0F-4',
178
+ withoutButton: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16196&t=OK8Fy4P3se6BKy0F-4',
179
+ withoutLink: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16201&t=OK8Fy4P3se6BKy0F-4'
175
180
  }
176
181
  };
177
182
  exports.FIGMA_LINKS = FIGMA_LINKS;
@@ -63,8 +63,9 @@ var universalComponentTests = /*#__PURE__*/function () {
63
63
  });
64
64
  case 4:
65
65
  results = _context.sent;
66
+ jest.useFakeTimers();
66
67
  expect(results).toHaveNoViolations();
67
- case 6:
68
+ case 7:
68
69
  case "end":
69
70
  return _context.stop();
70
71
  }
@@ -284,18 +284,20 @@ describe('CopyText', function () {
284
284
  return _regeneratorRuntime().wrap(function _callee12$(_context12) {
285
285
  while (1) switch (_context12.prev = _context12.next) {
286
286
  case 0:
287
+ jest.useRealTimers();
287
288
  getComponent();
288
289
  button = screen.getByLabelText('copy to clipboard');
289
290
  fireEvent.click(button);
290
291
  expect(screen.queryByRole('tooltip')).toBeInTheDocument();
291
292
  expect(screen.queryByRole('tooltip')).toHaveTextContent('Copied!');
292
- _context12.next = 7;
293
+ _context12.next = 8;
293
294
  return new _Promise(function (resolve) {
294
295
  return _setTimeout(resolve, 1000);
295
296
  });
296
- case 7:
297
- expect(screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
298
297
  case 8:
298
+ expect(screen.queryByRole('tooltip')).toHaveTextContent('Copy to clipboard');
299
+ jest.useFakeTimers();
300
+ case 10:
299
301
  case "end":
300
302
  return _context12.stop();
301
303
  }
@@ -27,7 +27,6 @@ import { Section } from 'react-stately';
27
27
  import userEvent from '@testing-library/user-event';
28
28
  import { EnvironmentBreadcrumb, Item, OverlayProvider } from '../..';
29
29
  import { render, screen, within } from '../../utils/testUtils/testWrapper';
30
- import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
31
30
  import { breadCrumbDataIds } from './EnvironmentBreadcrumb';
32
31
  import { jsx as ___EmotionJSX } from "@emotion/react";
33
32
  var testEnvBreadcrumb = 'test-env-breadcrumb';
@@ -116,12 +115,11 @@ var getSectionsComponent = function getSectionsComponent() {
116
115
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
117
116
  return render(renderSectionsComponent(props));
118
117
  };
119
- universalComponentTests({
120
- renderComponent: renderComponent
121
- });
122
- universalComponentTests({
123
- renderComponent: renderSectionsComponent
124
- });
118
+
119
+ // This file does not call universalComponentTests directly. There is a separate file,
120
+ // ./EnvironmentalBreadcrumbUniversal.test.tsx, that calls it for both the EnvironmentBreadcrumb
121
+ // and the EnvironmentBreadcrumb with sections.
122
+
125
123
  beforeAll(function () {
126
124
  var callback = function callback(cb) {
127
125
  return cb();
@@ -137,7 +135,6 @@ beforeAll(function () {
137
135
  return 1024;
138
136
  });
139
137
  jest.spyOn(window, 'requestAnimationFrame').mockImplementation(callback);
140
- jest.useFakeTimers();
141
138
  });
142
139
  afterEach(function () {
143
140
  jest.clearAllMocks();
@@ -81,6 +81,7 @@ test('renders Messages component in the default state with dynamic list', functi
81
81
  expect(messages).toBeInTheDocument();
82
82
  });
83
83
  test('click on close button fires `onClose` callback', function () {
84
+ jest.useRealTimers();
84
85
  var onClose = jest.fn();
85
86
  getComponent({
86
87
  onClose: onClose
@@ -88,8 +89,10 @@ test('click on close button fires `onClose` callback', function () {
88
89
  var buttons = screen.getAllByRole('button');
89
90
  userEvent.click(buttons[0]);
90
91
  expect(onClose).toHaveBeenCalled();
92
+ jest.useFakeTimers();
91
93
  });
92
94
  test('`onClose` get as first arg key of message', function () {
95
+ jest.useRealTimers();
93
96
  var onClose = jest.fn();
94
97
  getComponent({
95
98
  onClose: onClose
@@ -97,9 +100,9 @@ test('`onClose` get as first arg key of message', function () {
97
100
  var buttons = screen.getAllByRole('button');
98
101
  userEvent.click(buttons[0]);
99
102
  expect(onClose).toHaveBeenCalledWith('message1');
103
+ jest.useFakeTimers();
100
104
  });
101
105
  test('click on close button removes message after delay', function () {
102
- jest.useFakeTimers();
103
106
  getComponent();
104
107
  var messages = screen.getByTestId(testId);
105
108
  expect(messages.childElementCount).toBe(2);
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
2
2
  import React from 'react';
3
3
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
4
4
  import { Link, PageHeader } from '../../index';
5
+ import { FIGMA_LINKS } from '../../utils/designUtils/figmaLinks';
5
6
  import PageHeaderReadMe from './PageHeader.mdx';
6
7
  import { jsx as ___EmotionJSX } from "@emotion/react";
7
8
  export default {
@@ -25,38 +26,56 @@ export default {
25
26
  }
26
27
  }
27
28
  };
28
- var description = "The description of the page. The description of the page. The description of the page. The\n description of the page.The description of the page. The description of the page. The\n description of the page. The description of the page. The description of the page. ";
29
+ var description = "Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries for previewing layouts \nand visual mockups.Lorem ipsum is placeholder text commonly used in the graphic, print, and publishing industries\nfor previewing layouts and visual mockups. ";
29
30
  export var Default = function Default(args) {
30
31
  return ___EmotionJSX(PageHeader, _extends({
31
32
  buttonProps: {
32
33
  onPress: function onPress() {}
33
34
  },
34
- title: "Title of the Page"
35
+ title: "Lorem ipsum"
35
36
  }, args), description, ___EmotionJSX(Link, {
36
37
  href: "https://uilibrary.ping-eng.com/"
37
38
  }, "Learn more"));
38
39
  };
40
+ Default.parameters = {
41
+ design: {
42
+ type: 'figma',
43
+ url: FIGMA_LINKS.pageHeader["default"]
44
+ }
45
+ };
39
46
  export var WithoutButton = function WithoutButton() {
40
47
  return ___EmotionJSX(PageHeader, {
41
- title: "Title of the Page"
48
+ title: "Lorem ipsum"
42
49
  }, description, ___EmotionJSX(Link, {
43
50
  href: "https://uilibrary.ping-eng.com/"
44
51
  }, "Learn more"));
45
52
  };
53
+ WithoutButton.parameters = {
54
+ design: {
55
+ type: 'figma',
56
+ url: FIGMA_LINKS.pageHeader.withoutButton
57
+ }
58
+ };
46
59
  export var WithoutLink = function WithoutLink() {
47
60
  return ___EmotionJSX(PageHeader, {
48
61
  buttonProps: {
49
62
  onPress: function onPress() {}
50
63
  },
51
- title: "Title of the Page"
64
+ title: "Lorem ipsum"
52
65
  }, description);
53
66
  };
54
- export var WithButtonProps = function WithButtonProps() {
67
+ WithoutLink.parameters = {
68
+ design: {
69
+ type: 'figma',
70
+ url: FIGMA_LINKS.pageHeader.withoutLink
71
+ }
72
+ };
73
+ export var Customization = function Customization() {
55
74
  return ___EmotionJSX(PageHeader, {
56
75
  buttonProps: {
57
76
  bg: 'critical.bright'
58
77
  },
59
- title: "Title of the Page"
78
+ title: "Lorem ipsum"
60
79
  }, description, ___EmotionJSX(Link, {
61
80
  href: "https://uilibrary.ping-eng.com/"
62
81
  }, "Learn more"));
@@ -165,5 +165,10 @@ export var FIGMA_LINKS = {
165
165
  },
166
166
  noAccess: {
167
167
  "default": 'https://www.figma.com/file/S1tRCG90PVgCJRCyDwxkBk/429-Error?type=design&node-id=9-940&mode=design&t=Z6pZWCsrvY0g6b2q-0'
168
+ },
169
+ pageHeader: {
170
+ "default": 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-11051&t=OK8Fy4P3se6BKy0F-4',
171
+ withoutButton: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16196&t=OK8Fy4P3se6BKy0F-4',
172
+ withoutLink: 'https://www.figma.com/file/bpbEw54gTTcdIiZs4PKK1p/Astro-Specs?node-id=52102-16201&t=OK8Fy4P3se6BKy0F-4'
168
173
  }
169
174
  };
@@ -52,8 +52,9 @@ export var universalComponentTests = /*#__PURE__*/function () {
52
52
  });
53
53
  case 4:
54
54
  results = _context.sent;
55
+ jest.useFakeTimers();
55
56
  expect(results).toHaveNoViolations();
56
- case 6:
57
+ case 7:
57
58
  case "end":
58
59
  return _context.stop();
59
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.68.0-alpha.1",
3
+ "version": "2.68.0-alpha.3",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",