@pingux/astro 2.86.0 → 2.87.0-alpha.1

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.
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
- var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
5
- var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
6
7
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
10
+ var _Object$defineProperties = require("@babel/runtime-corejs3/core-js-stable/object/define-properties");
11
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
12
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
7
13
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
8
14
  _Object$defineProperty(exports, "__esModule", {
9
15
  value: true
10
16
  });
11
17
  exports["default"] = void 0;
12
18
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
19
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
20
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
14
21
  var _react = _interopRequireWildcard(require("react"));
15
22
  var _focus = require("@react-aria/focus");
@@ -18,9 +25,11 @@ var _utils = require("@react-aria/utils");
18
25
  var _hooks = require("../../hooks");
19
26
  var _Box = _interopRequireDefault(require("../Box"));
20
27
  var _react2 = require("@emotion/react");
21
- var _excluded = ["className", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp"];
28
+ var _excluded = ["className", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "isInteractiveWithin"];
22
29
  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); }
23
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; }
31
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
24
33
  var Card = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
25
34
  var className = props.className,
26
35
  onHoverStart = props.onHoverStart,
@@ -31,6 +40,7 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
31
40
  onPressEnd = props.onPressEnd,
32
41
  onPressChange = props.onPressChange,
33
42
  onPressUp = props.onPressUp,
43
+ isInteractiveWithin = props.isInteractiveWithin,
34
44
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
35
45
  var cardRef = (0, _hooks.useLocalOrForwardRef)(ref);
36
46
  var _useHover = (0, _interactions.useHover)({
@@ -65,7 +75,9 @@ var Card = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
65
75
  }),
66
76
  classNames = _useStatusClasses.classNames;
67
77
  var ariaLabel = props['aria-label'];
68
- var mergedProps = (0, _utils.mergeProps)(others, hoverProps, pressProps, focusProps, focusWithinProps);
78
+
79
+ // TODO: [Astro 3.0.0] Update isInteractiveWithin[default] for this prop to true
80
+ var mergedProps = (0, _utils.mergeProps)(others, focusWithinProps, !isInteractiveWithin ? _objectSpread(_objectSpread(_objectSpread({}, pressProps), hoverProps), focusProps) : {});
69
81
  return (0, _react2.jsx)(_Box["default"], (0, _extends2["default"])({
70
82
  "aria-label": ariaLabel,
71
83
  variant: "cards.container",
@@ -32,3 +32,4 @@ export declare const InteractiveCard: {
32
32
  };
33
33
  };
34
34
  };
35
+ export declare const WithInteractiveContent: () => React.JSX.Element;
@@ -12,7 +12,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
12
12
  _Object$defineProperty(exports, "__esModule", {
13
13
  value: true
14
14
  });
15
- exports["default"] = exports.InteractiveCard = exports.HeaderAndFooter = exports.Default = exports.CardWidth = exports.CardRow = void 0;
15
+ exports["default"] = exports.WithInteractiveContent = exports.InteractiveCard = exports.HeaderAndFooter = exports.Default = exports.CardWidth = exports.CardRow = void 0;
16
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
18
18
  var _react = _interopRequireDefault(require("react"));
@@ -170,4 +170,14 @@ InteractiveCard.parameters = {
170
170
  type: 'figma',
171
171
  url: _figmaLinks.FIGMA_LINKS.card.interactiveCard
172
172
  }
173
- };
173
+ };
174
+ var WithInteractiveContent = function WithInteractiveContent() {
175
+ return (0, _react2.jsx)(_index.Card, {
176
+ isInteractiveWithin: true
177
+ }, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Fuga sed ratione, recusandae ipsam explicabo, quasi vel maxime sint harum qui rerum perferendis. Voluptatem nisi eaque, distinctio accusamus nobis voluptas nemo."), (0, _react2.jsx)(_index.TextField, {
178
+ label: "Interactive TextField",
179
+ mt: "md",
180
+ width: "300px"
181
+ }));
182
+ };
183
+ exports.WithInteractiveContent = WithInteractiveContent;
@@ -1,14 +1,28 @@
1
1
  "use strict";
2
2
 
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
5
+ var _Symbol = require("@babel/runtime-corejs3/core-js-stable/symbol");
6
+ var _Object$create = require("@babel/runtime-corejs3/core-js-stable/object/create");
7
+ var _Object$getPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/get-prototype-of");
8
+ var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
9
+ var _Object$setPrototypeOf = require("@babel/runtime-corejs3/core-js-stable/object/set-prototype-of");
10
+ var _Promise = require("@babel/runtime-corejs3/core-js-stable/promise");
11
+ var _reverseInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/reverse");
12
+ var _sliceInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/slice");
3
13
  var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
4
15
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
5
16
  var _react = _interopRequireDefault(require("react"));
6
17
  var _react2 = require("@testing-library/react");
7
18
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
8
19
  var _universalComponentTest = require("../../utils/testUtils/universalComponentTest");
20
+ var _Box = _interopRequireDefault(require("../Box"));
9
21
  var _Button = _interopRequireDefault(require("../Button"));
22
+ var _TextField = _interopRequireDefault(require("../TextField"));
10
23
  var _Card = _interopRequireDefault(require("./Card"));
11
24
  var _react3 = require("@emotion/react");
25
+ 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 _context2; _forEachInstanceProperty(_context2 = ["next", "throw", "return"]).call(_context2, 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" }], _forEachInstanceProperty(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 _context3; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context3 = this.tryEntries).call(_context3, 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; }
12
26
  var testId = 'test-separator';
13
27
  var defaultProps = {
14
28
  'data-testid': testId,
@@ -69,4 +83,35 @@ test('allows focus within card', function () {
69
83
  expect(card).toHaveClass('is-focused');
70
84
  _userEvent["default"].tab();
71
85
  expect(button).toHaveClass('is-focused');
72
- });
86
+ });
87
+ test('renders Card component with text selection', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
88
+ var children, card, range, selection, textField;
89
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
90
+ while (1) switch (_context.prev = _context.next) {
91
+ case 0:
92
+ children = (0, _react3.jsx)(_Box["default"], null, "Select this text.", (0, _react3.jsx)(_TextField["default"], {
93
+ label: "Interactive TextField"
94
+ }));
95
+ getComponent({
96
+ isInteractiveWithin: true,
97
+ children: children
98
+ });
99
+ card = _react2.screen.getByTestId(testId); // Programmatically create a range and select it
100
+ range = document.createRange();
101
+ range.selectNodeContents(card);
102
+ selection = window.getSelection();
103
+ selection.removeAllRanges();
104
+ selection.addRange(range);
105
+
106
+ // Verify that the selection was successful
107
+ expect(selection.toString()).toBe('Select this text.Interactive TextField');
108
+ textField = _react2.screen.getByLabelText('Interactive TextField');
109
+ _userEvent["default"].click(textField);
110
+ _userEvent["default"].type(textField, selection.toString());
111
+ expect(textField).toHaveValue('Select this text.Interactive TextField');
112
+ case 13:
113
+ case "end":
114
+ return _context.stop();
115
+ }
116
+ }, _callee);
117
+ })));
@@ -127,6 +127,17 @@ var Sizes = function Sizes() {
127
127
  }, (0, _react2.jsx)(_index.TableRow, {
128
128
  height: "45px",
129
129
  bg: "transparent !important"
130
+ }, (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Text, null, "XXS | 9px")), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Text, {
131
+ fontFamily: "monospace"
132
+ }, '<Icon icon={SearchIcon}/> size="xxs"/>')), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Icon, {
133
+ icon: _SearchIcon["default"],
134
+ size: "xxs",
135
+ title: {
136
+ name: 'Search Icon'
137
+ }
138
+ }))), (0, _react2.jsx)(_index.TableRow, {
139
+ height: "45px",
140
+ bg: "transparent !important"
130
141
  }, (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Text, null, "XS | 15px")), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Text, {
131
142
  fontFamily: "monospace"
132
143
  }, '<Icon icon={SearchIcon}/> size="xs"/>')), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Icon, {
@@ -54,6 +54,13 @@ test('default icon', function () {
54
54
  expect(icon).toBeInstanceOf(SVGSVGElement);
55
55
  expect(icon).toBeInTheDocument();
56
56
  });
57
+ test('icon renders correct xxsmall tshirt size', function () {
58
+ getComponent({
59
+ size: 'xxs'
60
+ });
61
+ var xsIcon = _react2.screen.getByTestId(testId);
62
+ expect(xsIcon).toHaveStyleRule('width', '9px');
63
+ });
57
64
  test('icon renders correct xsmall tshirt size', function () {
58
65
  getComponent({
59
66
  size: 'xs'
@@ -98,6 +98,28 @@ var Sizes = function Sizes() {
98
98
  bg: "transparent !important"
99
99
  }, (0, _react2.jsx)(_index.TableCell, {
100
100
  width: "40%"
101
+ }, (0, _react2.jsx)(_index.Text, null, "XXS | 15px")), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Text, {
102
+ fontFamily: "monospace"
103
+ }, ' ', "<IconButton aria-label='create button' variant='inverted'/>"), (0, _react2.jsx)(_index.Text, {
104
+ fontFamily: "monospace"
105
+ }, "<Icon icon={CreateIcon} size='xxs'/>"), (0, _react2.jsx)(_index.Text, {
106
+ fontFamily: "monospace"
107
+ }, '</IconButton>')), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.IconButton, {
108
+ "aria-label": "create button",
109
+ variant: "inverted",
110
+ sx: {
111
+ width: 'unset'
112
+ }
113
+ }, (0, _react2.jsx)(_index.Icon, {
114
+ icon: _CreateIcon["default"],
115
+ size: "xxs",
116
+ title: {
117
+ name: 'Create Icon'
118
+ }
119
+ })))), (0, _react2.jsx)(_index.TableRow, {
120
+ bg: "transparent !important"
121
+ }, (0, _react2.jsx)(_index.TableCell, {
122
+ width: "40%"
101
123
  }, (0, _react2.jsx)(_index.Text, null, "XS | 21px")), (0, _react2.jsx)(_index.TableCell, null, (0, _react2.jsx)(_index.Text, {
102
124
  fontFamily: "monospace"
103
125
  }, ' ', "<IconButton aria-label='create button' variant='inverted'/>"), (0, _react2.jsx)(_index.Text, {
@@ -175,6 +197,14 @@ var CommonlyUsed = function CommonlyUsed() {
175
197
  mb: "md"
176
198
  }, (0, _react2.jsx)(_index.IconButton, {
177
199
  "aria-label": "delete"
200
+ }, (0, _react2.jsx)(_index.Icon, {
201
+ icon: _DeleteIcon["default"],
202
+ size: "xxs",
203
+ title: {
204
+ name: 'Delete Icon'
205
+ }
206
+ })), (0, _react2.jsx)(_index.IconButton, {
207
+ "aria-label": "delete"
178
208
  }, (0, _react2.jsx)(_index.Icon, {
179
209
  icon: _DeleteIcon["default"],
180
210
  size: "xs",
@@ -204,6 +234,15 @@ var CommonlyUsed = function CommonlyUsed() {
204
234
  }, (0, _react2.jsx)(_index.IconButton, {
205
235
  "aria-label": "delete",
206
236
  variant: "inverted"
237
+ }, (0, _react2.jsx)(_index.Icon, {
238
+ icon: _DeleteIcon["default"],
239
+ size: "xxs",
240
+ title: {
241
+ name: 'Delete Icon'
242
+ }
243
+ })), (0, _react2.jsx)(_index.IconButton, {
244
+ "aria-label": "delete",
245
+ variant: "inverted"
207
246
  }, (0, _react2.jsx)(_index.Icon, {
208
247
  icon: _DeleteIcon["default"],
209
248
  size: "xs",
@@ -237,6 +276,14 @@ var CommonlyUsed = function CommonlyUsed() {
237
276
  mb: "md"
238
277
  }, (0, _react2.jsx)(_index.IconButton, {
239
278
  "aria-label": "more options"
279
+ }, (0, _react2.jsx)(_index.Icon, {
280
+ icon: _DotsVerticalIcon["default"],
281
+ size: "xxs",
282
+ title: {
283
+ name: 'Dots Vertical Icon'
284
+ }
285
+ })), (0, _react2.jsx)(_index.IconButton, {
286
+ "aria-label": "more options"
240
287
  }, (0, _react2.jsx)(_index.Icon, {
241
288
  icon: _DotsVerticalIcon["default"],
242
289
  size: "xs",
@@ -266,6 +313,15 @@ var CommonlyUsed = function CommonlyUsed() {
266
313
  }, (0, _react2.jsx)(_index.IconButton, {
267
314
  "aria-label": "more options",
268
315
  variant: "inverted"
316
+ }, (0, _react2.jsx)(_index.Icon, {
317
+ icon: _DotsVerticalIcon["default"],
318
+ size: "xxs",
319
+ title: {
320
+ name: 'Dots Vertical Icon'
321
+ }
322
+ })), (0, _react2.jsx)(_index.IconButton, {
323
+ "aria-label": "more options",
324
+ variant: "inverted"
269
325
  }, (0, _react2.jsx)(_index.Icon, {
270
326
  icon: _DotsVerticalIcon["default"],
271
327
  size: "xs",
@@ -299,6 +355,14 @@ var CommonlyUsed = function CommonlyUsed() {
299
355
  mb: "md"
300
356
  }, (0, _react2.jsx)(_index.IconButton, {
301
357
  "aria-label": "add"
358
+ }, (0, _react2.jsx)(_index.Icon, {
359
+ icon: _PlusIcon["default"],
360
+ size: "xxs",
361
+ title: {
362
+ name: 'Plus Icon'
363
+ }
364
+ })), (0, _react2.jsx)(_index.IconButton, {
365
+ "aria-label": "add"
302
366
  }, (0, _react2.jsx)(_index.Icon, {
303
367
  icon: _PlusIcon["default"],
304
368
  size: "xs",
@@ -328,6 +392,15 @@ var CommonlyUsed = function CommonlyUsed() {
328
392
  }, (0, _react2.jsx)(_index.IconButton, {
329
393
  "aria-label": "add",
330
394
  variant: "inverted"
395
+ }, (0, _react2.jsx)(_index.Icon, {
396
+ icon: _PlusIcon["default"],
397
+ size: "xxs",
398
+ title: {
399
+ name: 'Plus Icon'
400
+ }
401
+ })), (0, _react2.jsx)(_index.IconButton, {
402
+ "aria-label": "add",
403
+ variant: "inverted"
331
404
  }, (0, _react2.jsx)(_index.Icon, {
332
405
  icon: _PlusIcon["default"],
333
406
  size: "xs",
@@ -361,6 +434,14 @@ var CommonlyUsed = function CommonlyUsed() {
361
434
  mb: "md"
362
435
  }, (0, _react2.jsx)(_index.IconButton, {
363
436
  "aria-label": "create"
437
+ }, (0, _react2.jsx)(_index.Icon, {
438
+ icon: _PencilIcon["default"],
439
+ size: "xxs",
440
+ title: {
441
+ name: 'Pencil Icon'
442
+ }
443
+ })), (0, _react2.jsx)(_index.IconButton, {
444
+ "aria-label": "create"
364
445
  }, (0, _react2.jsx)(_index.Icon, {
365
446
  icon: _PencilIcon["default"],
366
447
  size: "xs",
@@ -390,6 +471,15 @@ var CommonlyUsed = function CommonlyUsed() {
390
471
  }, (0, _react2.jsx)(_index.IconButton, {
391
472
  "aria-label": "create",
392
473
  variant: "inverted"
474
+ }, (0, _react2.jsx)(_index.Icon, {
475
+ icon: _PencilIcon["default"],
476
+ size: "xxs",
477
+ title: {
478
+ name: 'Pencil Icon'
479
+ }
480
+ })), (0, _react2.jsx)(_index.IconButton, {
481
+ "aria-label": "create",
482
+ variant: "inverted"
393
483
  }, (0, _react2.jsx)(_index.Icon, {
394
484
  icon: _PencilIcon["default"],
395
485
  size: "xs",
@@ -31,7 +31,7 @@ interface NavBarStyling {
31
31
  navBarItemText: string;
32
32
  navBarItemHeaderListItem: string | null;
33
33
  navBarItemBody: string;
34
- navBarItemHeaderIconSize: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xx';
34
+ navBarItemHeaderIconSize: 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xx';
35
35
  navBarItemLinkButtonColor: string | null;
36
36
  };
37
37
  }
@@ -2,4 +2,5 @@ import { BoxProps } from './box';
2
2
  import { DOMAttributes, HoverProps, PressProps } from './shared';
3
3
  export interface CardProps extends PressProps, HoverProps, BoxProps, DOMAttributes {
4
4
  tabIndex?: number | string;
5
+ isInteractiveWithin?: boolean;
5
6
  }
@@ -18,7 +18,7 @@ export type SizeAxis = 'width' | 'height';
18
18
  export type PlacementAxis = Axis | 'center';
19
19
  export type PanelSize = 'small' | 'medium' | 'large' | 'full' | 'custom';
20
20
  export type ModalSizeProps = 'extra-small' | 'small' | 'medium' | 'large' | 'full';
21
- type IconTShirtSize = 'xs' | 'sm' | 'md';
21
+ type IconTShirtSize = 'xxs' | 'xs' | 'sm' | 'md';
22
22
  type pixelSize = 'em' | 'px' | 'rem';
23
23
  export type IconSize = IconTShirtSize | number | `${number}${pixelSize}`;
24
24
  export type overflowWrap = 'normal' | 'break-word' | 'anywhere' | 'inherit' | 'initial' | 'revert' | 'revert-layer' | 'unset';
@@ -6,6 +6,7 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.tShirtSizes = void 0;
8
8
  var tShirtSizes = {
9
+ xxs: 9,
9
10
  xs: 15,
10
11
  sm: 20,
11
12
  md: 25
@@ -12,7 +12,7 @@ var _tShirtSizes = require("../devUtils/constants/tShirtSizes");
12
12
  var sizeArgTypes = {
13
13
  size: {
14
14
  options: (0, _keys["default"])(_tShirtSizes.tShirtSizes),
15
- description: "The size of the icon container. If given a number value, it will be converted to pixels. \n Tshirt sizing is recommended and can be passed to the size prop as \"xs\", \"sm\" , \"md\" \n rendering 15, 20, and 25 pixel svg containers."
15
+ description: "The size of the icon container. If given a number value, it will be converted to pixels. \n Tshirt sizing is recommended and can be passed to the size prop as \"xxs\", \"xs\", \"sm\" , \"md\" \n rendering 9, 15, 20, and 25 pixel svg containers."
16
16
  }
17
17
  };
18
18
  exports.sizeArgTypes = sizeArgTypes;
@@ -1,6 +1,17 @@
1
+ import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
2
+ import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
3
+ import _filterInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/filter";
4
+ import _Object$getOwnPropertyDescriptor from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$getOwnPropertyDescriptors from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors";
7
+ import _Object$defineProperties from "@babel/runtime-corejs3/core-js-stable/object/define-properties";
8
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
1
9
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
10
+ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
2
11
  import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/esm/objectWithoutProperties";
3
- var _excluded = ["className", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp"];
12
+ var _excluded = ["className", "onHoverStart", "onHoverChange", "onHoverEnd", "onPress", "onPressStart", "onPressEnd", "onPressChange", "onPressUp", "isInteractiveWithin"];
13
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
4
15
  import React, { forwardRef } from 'react';
5
16
  import { useFocusRing } from '@react-aria/focus';
6
17
  import { useHover, usePress } from '@react-aria/interactions';
@@ -18,6 +29,7 @@ var Card = /*#__PURE__*/forwardRef(function (props, ref) {
18
29
  onPressEnd = props.onPressEnd,
19
30
  onPressChange = props.onPressChange,
20
31
  onPressUp = props.onPressUp,
32
+ isInteractiveWithin = props.isInteractiveWithin,
21
33
  others = _objectWithoutProperties(props, _excluded);
22
34
  var cardRef = useLocalOrForwardRef(ref);
23
35
  var _useHover = useHover({
@@ -52,7 +64,9 @@ var Card = /*#__PURE__*/forwardRef(function (props, ref) {
52
64
  }),
53
65
  classNames = _useStatusClasses.classNames;
54
66
  var ariaLabel = props['aria-label'];
55
- var mergedProps = mergeProps(others, hoverProps, pressProps, focusProps, focusWithinProps);
67
+
68
+ // TODO: [Astro 3.0.0] Update isInteractiveWithin[default] for this prop to true
69
+ var mergedProps = mergeProps(others, focusWithinProps, !isInteractiveWithin ? _objectSpread(_objectSpread(_objectSpread({}, pressProps), hoverProps), focusProps) : {});
56
70
  return ___EmotionJSX(Box, _extends({
57
71
  "aria-label": ariaLabel,
58
72
  variant: "cards.container",
@@ -13,7 +13,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
13
13
  import React from 'react';
14
14
  import { withDesign } from 'storybook-addon-designs';
15
15
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
16
- import { Box, Button, Card, Text } from '../../index';
16
+ import { Box, Button, Card, Text, TextField } from '../../index';
17
17
  import { FIGMA_LINKS } from '../../utils/designUtils/figmaLinks';
18
18
  import CardReadme from './Card.mdx';
19
19
  import { cardArgTypes } from './cardAttributes';
@@ -157,4 +157,13 @@ InteractiveCard.parameters = {
157
157
  type: 'figma',
158
158
  url: FIGMA_LINKS.card.interactiveCard
159
159
  }
160
+ };
161
+ export var WithInteractiveContent = function WithInteractiveContent() {
162
+ return ___EmotionJSX(Card, {
163
+ isInteractiveWithin: true
164
+ }, ___EmotionJSX(Text, null, "Lorem ipsum dolor sit amet consectetur adipisicing elit. Fuga sed ratione, recusandae ipsam explicabo, quasi vel maxime sint harum qui rerum perferendis. Voluptatem nisi eaque, distinctio accusamus nobis voluptas nemo."), ___EmotionJSX(TextField, {
165
+ label: "Interactive TextField",
166
+ mt: "md",
167
+ width: "300px"
168
+ }));
160
169
  };
@@ -1,9 +1,23 @@
1
+ import _Object$defineProperty from "@babel/runtime-corejs3/core-js-stable/object/define-property";
2
+ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
3
+ import _Object$create from "@babel/runtime-corejs3/core-js-stable/object/create";
4
+ import _Object$getPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/get-prototype-of";
5
+ import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
6
+ import _Object$setPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/set-prototype-of";
7
+ import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
8
+ import _reverseInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reverse";
9
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
10
+ import _typeof from "@babel/runtime-corejs3/helpers/esm/typeof";
11
+ import _asyncToGenerator from "@babel/runtime-corejs3/helpers/esm/asyncToGenerator";
1
12
  import _extends from "@babel/runtime-corejs3/helpers/esm/extends";
13
+ 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 _context2; _forEachInstanceProperty(_context2 = ["next", "throw", "return"]).call(_context2, 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" }], _forEachInstanceProperty(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 _context3; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context3 = this.tryEntries).call(_context3, 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; }
2
14
  import React from 'react';
3
15
  import { render, screen } from '@testing-library/react';
4
16
  import userEvent from '@testing-library/user-event';
5
17
  import { universalComponentTests } from '../../utils/testUtils/universalComponentTest';
18
+ import Box from '../Box';
6
19
  import Button from '../Button';
20
+ import TextField from '../TextField';
7
21
  import Card from './Card';
8
22
  import { jsx as ___EmotionJSX } from "@emotion/react";
9
23
  var testId = 'test-separator';
@@ -66,4 +80,35 @@ test('allows focus within card', function () {
66
80
  expect(card).toHaveClass('is-focused');
67
81
  userEvent.tab();
68
82
  expect(button).toHaveClass('is-focused');
69
- });
83
+ });
84
+ test('renders Card component with text selection', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
85
+ var children, card, range, selection, textField;
86
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
87
+ while (1) switch (_context.prev = _context.next) {
88
+ case 0:
89
+ children = ___EmotionJSX(Box, null, "Select this text.", ___EmotionJSX(TextField, {
90
+ label: "Interactive TextField"
91
+ }));
92
+ getComponent({
93
+ isInteractiveWithin: true,
94
+ children: children
95
+ });
96
+ card = screen.getByTestId(testId); // Programmatically create a range and select it
97
+ range = document.createRange();
98
+ range.selectNodeContents(card);
99
+ selection = window.getSelection();
100
+ selection.removeAllRanges();
101
+ selection.addRange(range);
102
+
103
+ // Verify that the selection was successful
104
+ expect(selection.toString()).toBe('Select this text.Interactive TextField');
105
+ textField = screen.getByLabelText('Interactive TextField');
106
+ userEvent.click(textField);
107
+ userEvent.type(textField, selection.toString());
108
+ expect(textField).toHaveValue('Select this text.Interactive TextField');
109
+ case 13:
110
+ case "end":
111
+ return _context.stop();
112
+ }
113
+ }, _callee);
114
+ })));
@@ -117,6 +117,17 @@ export var Sizes = function Sizes() {
117
117
  }, ___EmotionJSX(TableRow, {
118
118
  height: "45px",
119
119
  bg: "transparent !important"
120
+ }, ___EmotionJSX(TableCell, null, ___EmotionJSX(Text, null, "XXS | 9px")), ___EmotionJSX(TableCell, null, ___EmotionJSX(Text, {
121
+ fontFamily: "monospace"
122
+ }, '<Icon icon={SearchIcon}/> size="xxs"/>')), ___EmotionJSX(TableCell, null, ___EmotionJSX(Icon, {
123
+ icon: SearchIcon,
124
+ size: "xxs",
125
+ title: {
126
+ name: 'Search Icon'
127
+ }
128
+ }))), ___EmotionJSX(TableRow, {
129
+ height: "45px",
130
+ bg: "transparent !important"
120
131
  }, ___EmotionJSX(TableCell, null, ___EmotionJSX(Text, null, "XS | 15px")), ___EmotionJSX(TableCell, null, ___EmotionJSX(Text, {
121
132
  fontFamily: "monospace"
122
133
  }, '<Icon icon={SearchIcon}/> size="xs"/>')), ___EmotionJSX(TableCell, null, ___EmotionJSX(Icon, {
@@ -45,6 +45,13 @@ test('default icon', function () {
45
45
  expect(icon).toBeInstanceOf(SVGSVGElement);
46
46
  expect(icon).toBeInTheDocument();
47
47
  });
48
+ test('icon renders correct xxsmall tshirt size', function () {
49
+ getComponent({
50
+ size: 'xxs'
51
+ });
52
+ var xsIcon = screen.getByTestId(testId);
53
+ expect(xsIcon).toHaveStyleRule('width', '9px');
54
+ });
48
55
  test('icon renders correct xsmall tshirt size', function () {
49
56
  getComponent({
50
57
  size: 'xs'
@@ -86,6 +86,28 @@ export var Sizes = function Sizes() {
86
86
  bg: "transparent !important"
87
87
  }, ___EmotionJSX(TableCell, {
88
88
  width: "40%"
89
+ }, ___EmotionJSX(Text, null, "XXS | 15px")), ___EmotionJSX(TableCell, null, ___EmotionJSX(Text, {
90
+ fontFamily: "monospace"
91
+ }, ' ', "<IconButton aria-label='create button' variant='inverted'/>"), ___EmotionJSX(Text, {
92
+ fontFamily: "monospace"
93
+ }, "<Icon icon={CreateIcon} size='xxs'/>"), ___EmotionJSX(Text, {
94
+ fontFamily: "monospace"
95
+ }, '</IconButton>')), ___EmotionJSX(TableCell, null, ___EmotionJSX(IconButton, {
96
+ "aria-label": "create button",
97
+ variant: "inverted",
98
+ sx: {
99
+ width: 'unset'
100
+ }
101
+ }, ___EmotionJSX(Icon, {
102
+ icon: CreateIcon,
103
+ size: "xxs",
104
+ title: {
105
+ name: 'Create Icon'
106
+ }
107
+ })))), ___EmotionJSX(TableRow, {
108
+ bg: "transparent !important"
109
+ }, ___EmotionJSX(TableCell, {
110
+ width: "40%"
89
111
  }, ___EmotionJSX(Text, null, "XS | 21px")), ___EmotionJSX(TableCell, null, ___EmotionJSX(Text, {
90
112
  fontFamily: "monospace"
91
113
  }, ' ', "<IconButton aria-label='create button' variant='inverted'/>"), ___EmotionJSX(Text, {
@@ -162,6 +184,14 @@ export var CommonlyUsed = function CommonlyUsed() {
162
184
  mb: "md"
163
185
  }, ___EmotionJSX(IconButton, {
164
186
  "aria-label": "delete"
187
+ }, ___EmotionJSX(Icon, {
188
+ icon: DeleteIcon,
189
+ size: "xxs",
190
+ title: {
191
+ name: 'Delete Icon'
192
+ }
193
+ })), ___EmotionJSX(IconButton, {
194
+ "aria-label": "delete"
165
195
  }, ___EmotionJSX(Icon, {
166
196
  icon: DeleteIcon,
167
197
  size: "xs",
@@ -191,6 +221,15 @@ export var CommonlyUsed = function CommonlyUsed() {
191
221
  }, ___EmotionJSX(IconButton, {
192
222
  "aria-label": "delete",
193
223
  variant: "inverted"
224
+ }, ___EmotionJSX(Icon, {
225
+ icon: DeleteIcon,
226
+ size: "xxs",
227
+ title: {
228
+ name: 'Delete Icon'
229
+ }
230
+ })), ___EmotionJSX(IconButton, {
231
+ "aria-label": "delete",
232
+ variant: "inverted"
194
233
  }, ___EmotionJSX(Icon, {
195
234
  icon: DeleteIcon,
196
235
  size: "xs",
@@ -224,6 +263,14 @@ export var CommonlyUsed = function CommonlyUsed() {
224
263
  mb: "md"
225
264
  }, ___EmotionJSX(IconButton, {
226
265
  "aria-label": "more options"
266
+ }, ___EmotionJSX(Icon, {
267
+ icon: DotsVerticalIcon,
268
+ size: "xxs",
269
+ title: {
270
+ name: 'Dots Vertical Icon'
271
+ }
272
+ })), ___EmotionJSX(IconButton, {
273
+ "aria-label": "more options"
227
274
  }, ___EmotionJSX(Icon, {
228
275
  icon: DotsVerticalIcon,
229
276
  size: "xs",
@@ -253,6 +300,15 @@ export var CommonlyUsed = function CommonlyUsed() {
253
300
  }, ___EmotionJSX(IconButton, {
254
301
  "aria-label": "more options",
255
302
  variant: "inverted"
303
+ }, ___EmotionJSX(Icon, {
304
+ icon: DotsVerticalIcon,
305
+ size: "xxs",
306
+ title: {
307
+ name: 'Dots Vertical Icon'
308
+ }
309
+ })), ___EmotionJSX(IconButton, {
310
+ "aria-label": "more options",
311
+ variant: "inverted"
256
312
  }, ___EmotionJSX(Icon, {
257
313
  icon: DotsVerticalIcon,
258
314
  size: "xs",
@@ -286,6 +342,14 @@ export var CommonlyUsed = function CommonlyUsed() {
286
342
  mb: "md"
287
343
  }, ___EmotionJSX(IconButton, {
288
344
  "aria-label": "add"
345
+ }, ___EmotionJSX(Icon, {
346
+ icon: PlusIcon,
347
+ size: "xxs",
348
+ title: {
349
+ name: 'Plus Icon'
350
+ }
351
+ })), ___EmotionJSX(IconButton, {
352
+ "aria-label": "add"
289
353
  }, ___EmotionJSX(Icon, {
290
354
  icon: PlusIcon,
291
355
  size: "xs",
@@ -315,6 +379,15 @@ export var CommonlyUsed = function CommonlyUsed() {
315
379
  }, ___EmotionJSX(IconButton, {
316
380
  "aria-label": "add",
317
381
  variant: "inverted"
382
+ }, ___EmotionJSX(Icon, {
383
+ icon: PlusIcon,
384
+ size: "xxs",
385
+ title: {
386
+ name: 'Plus Icon'
387
+ }
388
+ })), ___EmotionJSX(IconButton, {
389
+ "aria-label": "add",
390
+ variant: "inverted"
318
391
  }, ___EmotionJSX(Icon, {
319
392
  icon: PlusIcon,
320
393
  size: "xs",
@@ -348,6 +421,14 @@ export var CommonlyUsed = function CommonlyUsed() {
348
421
  mb: "md"
349
422
  }, ___EmotionJSX(IconButton, {
350
423
  "aria-label": "create"
424
+ }, ___EmotionJSX(Icon, {
425
+ icon: PencilIcon,
426
+ size: "xxs",
427
+ title: {
428
+ name: 'Pencil Icon'
429
+ }
430
+ })), ___EmotionJSX(IconButton, {
431
+ "aria-label": "create"
351
432
  }, ___EmotionJSX(Icon, {
352
433
  icon: PencilIcon,
353
434
  size: "xs",
@@ -377,6 +458,15 @@ export var CommonlyUsed = function CommonlyUsed() {
377
458
  }, ___EmotionJSX(IconButton, {
378
459
  "aria-label": "create",
379
460
  variant: "inverted"
461
+ }, ___EmotionJSX(Icon, {
462
+ icon: PencilIcon,
463
+ size: "xxs",
464
+ title: {
465
+ name: 'Pencil Icon'
466
+ }
467
+ })), ___EmotionJSX(IconButton, {
468
+ "aria-label": "create",
469
+ variant: "inverted"
380
470
  }, ___EmotionJSX(Icon, {
381
471
  icon: PencilIcon,
382
472
  size: "xs",
@@ -1,4 +1,5 @@
1
1
  export var tShirtSizes = {
2
+ xxs: 9,
2
3
  xs: 15,
3
4
  sm: 20,
4
5
  md: 25
@@ -4,7 +4,7 @@ import { tShirtSizes } from '../devUtils/constants/tShirtSizes';
4
4
  export var sizeArgTypes = {
5
5
  size: {
6
6
  options: _Object$keys(tShirtSizes),
7
- description: "The size of the icon container. If given a number value, it will be converted to pixels. \n Tshirt sizing is recommended and can be passed to the size prop as \"xs\", \"sm\" , \"md\" \n rendering 15, 20, and 25 pixel svg containers."
7
+ description: "The size of the icon container. If given a number value, it will be converted to pixels. \n Tshirt sizing is recommended and can be passed to the size prop as \"xxs\", \"xs\", \"sm\" , \"md\" \n rendering 9, 15, 20, and 25 pixel svg containers."
8
8
  }
9
9
  };
10
10
  export var sizePropTypes = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pingux/astro",
3
- "version": "2.86.0",
3
+ "version": "2.87.0-alpha.1",
4
4
  "description": "React component library for Ping Identity's design system",
5
5
  "repository": {
6
6
  "type": "git",