@pingux/astro 2.147.1-alpha.0 → 2.148.0-alpha.0

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 (40) hide show
  1. package/lib/cjs/components/Badge/Badge.styles.d.ts +5 -1
  2. package/lib/cjs/components/Badge/Badge.styles.js +6 -2
  3. package/lib/cjs/components/ImageUploadField/ImageUploadField.test.js +3 -1
  4. package/lib/cjs/components/ListBox/Option.js +7 -3
  5. package/lib/cjs/components/Modal/Modal.stories.d.ts +1 -0
  6. package/lib/cjs/components/Modal/Modal.stories.js +27 -1
  7. package/lib/cjs/components/Modal/tests/Modal.unit.test.js +51 -2
  8. package/lib/cjs/components/MultivaluesField/DefaultMultivaluesField.js +0 -1
  9. package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +8 -103
  10. package/lib/cjs/components/Popover/Popover.d.ts +1 -11
  11. package/lib/cjs/components/Popover/Popover.js +12 -5
  12. package/lib/cjs/components/PopoverMenu/PopoverMenu.js +12 -27
  13. package/lib/cjs/hooks/useOverlappingMenuHoverState/useOverlappingMenuHoverState.test.js +15 -5
  14. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.d.ts +9 -0
  15. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +11 -2
  16. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.d.ts +6 -0
  17. package/lib/cjs/styles/themeOverrides/nextGenDarkMode/variants/variants.js +7 -1
  18. package/lib/cjs/styles/themes/next-gen/convertedComponentList.d.ts +0 -1
  19. package/lib/cjs/styles/themes/next-gen/convertedComponentList.js +0 -1
  20. package/lib/cjs/styles/themes/next-gen/next-gen.d.ts +3 -5
  21. package/lib/cjs/styles/themes/next-gen/variants/badges.d.ts +3 -5
  22. package/lib/cjs/styles/themes/next-gen/variants/badges.js +5 -2
  23. package/lib/cjs/types/popoverContainer.d.ts +18 -0
  24. package/lib/cjs/utils/testUtils/universalFormSubmitTest.js +3 -0
  25. package/lib/components/Badge/Badge.styles.js +6 -2
  26. package/lib/components/ImageUploadField/ImageUploadField.test.js +3 -1
  27. package/lib/components/ListBox/Option.js +7 -3
  28. package/lib/components/Modal/Modal.stories.js +26 -1
  29. package/lib/components/Modal/tests/Modal.unit.test.js +52 -2
  30. package/lib/components/MultivaluesField/DefaultMultivaluesField.js +0 -1
  31. package/lib/components/MultivaluesField/MultivaluesField.stories.js +8 -103
  32. package/lib/components/Popover/Popover.js +12 -5
  33. package/lib/components/PopoverMenu/PopoverMenu.js +13 -28
  34. package/lib/hooks/useOverlappingMenuHoverState/useOverlappingMenuHoverState.test.js +15 -5
  35. package/lib/styles/themeOverrides/nextGenDarkMode/variants/buttons.js +11 -2
  36. package/lib/styles/themeOverrides/nextGenDarkMode/variants/variants.js +7 -1
  37. package/lib/styles/themes/next-gen/convertedComponentList.js +0 -1
  38. package/lib/styles/themes/next-gen/variants/badges.js +5 -2
  39. package/lib/utils/testUtils/universalFormSubmitTest.js +3 -0
  40. package/package.json +1 -1
@@ -440,12 +440,15 @@ declare const _default: {
440
440
  itemBadgeWithSlot: {
441
441
  p: number;
442
442
  my: number;
443
- backgroundColor: string;
443
+ bg: string;
444
444
  '& span': {
445
445
  color: string;
446
446
  mr: string;
447
447
  lineHeight: string;
448
448
  };
449
+ '& svg': {
450
+ fill: string;
451
+ };
449
452
  maxHeight: string;
450
453
  border: string;
451
454
  borderColor: string;
@@ -540,6 +543,7 @@ declare const _default: {
540
543
  };
541
544
  };
542
545
  selectedItemBadge: {
546
+ bg: string;
543
547
  py: number;
544
548
  pr: number;
545
549
  my: number;
@@ -59,6 +59,7 @@ var multivaluesBadge = _objectSpread(_objectSpread({}, baseBadge), {}, {
59
59
  }
60
60
  });
61
61
  var selectedItemBadge = _objectSpread(_objectSpread({}, multivaluesBadge), {}, {
62
+ bg: '#4462ED !important',
62
63
  py: 3,
63
64
  pr: 0,
64
65
  my: 3
@@ -71,12 +72,15 @@ var readOnlyBadge = _objectSpread(_objectSpread({}, multivaluesBadge), {}, {
71
72
  var itemBadgeWithSlot = _objectSpread(_objectSpread({}, readOnlyBadge), {}, {
72
73
  p: 3,
73
74
  my: 0,
74
- backgroundColor: 'white',
75
+ bg: 'white !important',
75
76
  '& span': {
76
77
  color: 'text.primary',
77
78
  mr: '2px',
78
79
  lineHeight: '16px'
79
80
  },
81
+ '& svg': {
82
+ fill: 'neutral.10'
83
+ },
80
84
  maxHeight: '22px'
81
85
  });
82
86
  var environmentBadge = _objectSpread(_objectSpread({}, baseBadge), {}, {
@@ -114,7 +118,7 @@ var badgeDeleteButton = _objectSpread(_objectSpread({}, deleteButton), {}, {
114
118
  }
115
119
  },
116
120
  '&.is-pressed': {
117
- 'path': {
121
+ path: {
118
122
  fill: 'white'
119
123
  },
120
124
  bg: '#4462ED !important'
@@ -366,7 +366,9 @@ test('should show the menu if label clicked when preview image exists', /*#__PUR
366
366
  // Click on the image preview button
367
367
  imageUploadLabel = _testWrapper.screen.getByText(testLabel);
368
368
  _react2.fireEvent.click(imageUploadLabel);
369
- expect(_testWrapper.screen.getAllByRole('button')[0]).toHaveAttribute('aria-expanded', 'true');
369
+ expect(_testWrapper.screen.getAllByRole('button', {
370
+ hidden: true
371
+ })[0]).toHaveAttribute('aria-expanded', 'true');
370
372
  expect(_testWrapper.screen.getByRole('menu')).toBeInTheDocument();
371
373
  expect(_testWrapper.screen.getByText('Upload New Image')).toBeInTheDocument();
372
374
  expect(_testWrapper.screen.getByText('Remove Image')).toBeInTheDocument();
@@ -136,19 +136,23 @@ var Option = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
136
136
  onPointerOver: setFocusOnHover
137
137
  }, theseOptionProps, others, {
138
138
  "aria-label": ariaLabel
139
- }), isCondensed ? (0, _react2.jsx)(_Icon["default"], {
139
+ }), isCondensed ? (0, _react2.jsx)(_Box["default"], {
140
+ isRow: true,
141
+ alignItems: "center",
142
+ flex: "1"
143
+ }, (0, _react2.jsx)(_Icon["default"], {
140
144
  icon: isSelected ? CheckedIcon : UncheckedIcon,
141
145
  color: "active",
142
146
  size: "24px",
143
147
  mr: "xs",
144
148
  className: classNames,
145
149
  variant: "listBox.checkboxIcon"
146
- }) : isSelected && !isOnyx && shouldShowSelectedOption && (0, _react2.jsx)(_Icon["default"], {
150
+ }), rendered) : (0, _react2.jsx)(_react["default"].Fragment, null, isSelected && !isOnyx && shouldShowSelectedOption && (0, _react2.jsx)(_Icon["default"], {
147
151
  icon: _CircleSmallIcon["default"],
148
152
  title: {
149
153
  name: 'Circle Small Icon'
150
154
  }
151
- }), rendered, isSelected && isOnyx && shouldShowSelectedOption && (0, _react2.jsx)(_Icon["default"], {
155
+ }), rendered), isSelected && isOnyx && shouldShowSelectedOption && (0, _react2.jsx)(_Icon["default"], {
152
156
  icon: _CheckIcon["default"],
153
157
  title: {
154
158
  name: 'Check Icon'
@@ -5,3 +5,4 @@ export default _default;
5
5
  export declare const Default: StoryFn<ModalProps>;
6
6
  export declare const LargeContent: StoryFn<ModalProps>;
7
7
  export declare const WithInputField: StoryFn<ModalProps>;
8
+ export declare const WithPopoverMenu: StoryFn<ModalProps>;
@@ -8,7 +8,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
8
8
  _Object$defineProperty(exports, "__esModule", {
9
9
  value: true
10
10
  });
11
- exports["default"] = exports.WithInputField = exports.LargeContent = exports.Default = void 0;
11
+ exports["default"] = exports.WithPopoverMenu = exports.WithInputField = exports.LargeContent = exports.Default = void 0;
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
13
13
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
14
14
  var _react = _interopRequireWildcard(require("react"));
@@ -248,6 +248,32 @@ var WithInputField = function WithInputField() {
248
248
  }, "Cancel")))));
249
249
  };
250
250
  exports.WithInputField = WithInputField;
251
+ var WithPopoverMenu = function WithPopoverMenu() {
252
+ var state = (0, _hooks.useModalState)();
253
+ return (0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Button, {
254
+ onPress: state.open,
255
+ "aria-label": "Open modal"
256
+ }, "Open Modal"), state.isOpen && (0, _react2.jsx)(_index.Modal, {
257
+ isOpen: state.isOpen,
258
+ onClose: state.close
259
+ }, (0, _react2.jsx)(_index.Box, {
260
+ gap: "lg"
261
+ }, (0, _react2.jsx)(_index.Text, null, "Lorem ipsum dolor sit amet consectetur"), (0, _react2.jsx)(_index.PopoverMenu, null, (0, _react2.jsx)(_index.Button, null, "Click me"), (0, _react2.jsx)(_index.Menu, {
262
+ onAction: function onAction() {
263
+ return console.log('on action');
264
+ }
265
+ }, (0, _react2.jsx)(_index.Item, {
266
+ key: "edit"
267
+ }, "Edit"), (0, _react2.jsx)(_index.Item, {
268
+ key: "duplicate"
269
+ }, "Duplicate"), (0, _react2.jsx)(_index.Item, {
270
+ key: "delete",
271
+ textValue: "delete"
272
+ }, (0, _react2.jsx)(_index.Text, {
273
+ color: "critical.bright"
274
+ }, "Delete")))))));
275
+ };
276
+ exports.WithPopoverMenu = WithPopoverMenu;
251
277
  WithInputField.parameters = {
252
278
  a11y: {
253
279
  config: {
@@ -1,13 +1,24 @@
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 _react = _interopRequireDefault(require("react"));
5
16
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
6
17
  var _index = require("../../../index");
7
18
  var _testWrapper = require("../../../utils/testUtils/testWrapper");
8
19
  var _universalComponentTest = require("../../../utils/testUtils/universalComponentTest");
9
20
  var _react2 = require("@emotion/react");
10
- // For testing the modal alone
21
+ 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; } // For testing the modal alone
11
22
  var getComponent = function getComponent() {
12
23
  var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
13
24
  return (0, _testWrapper.render)((0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Modal, props)));
@@ -28,6 +39,24 @@ var getModalWithRadioFieldGroup = function getModalWithRadioFieldGroup() {
28
39
  "data-testid": "option2"
29
40
  })))));
30
41
  };
42
+ var buttonText = 'Click me';
43
+ var onAction = jest.fn();
44
+ var option1 = 'option1';
45
+ var getModalWithPopoverMenu = function getModalWithPopoverMenu() {
46
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
47
+ return (0, _testWrapper.render)((0, _react2.jsx)(_index.OverlayProvider, null, (0, _react2.jsx)(_index.Modal, props, (0, _react2.jsx)(_index.PopoverMenu, null, (0, _react2.jsx)(_index.Button, null, buttonText), (0, _react2.jsx)(_index.Menu, {
48
+ onAction: onAction
49
+ }, (0, _react2.jsx)(_index.Item, {
50
+ key: "edit"
51
+ }, option1), (0, _react2.jsx)(_index.Item, {
52
+ key: "duplicate"
53
+ }, "Duplicate"), (0, _react2.jsx)(_index.Item, {
54
+ key: "delete",
55
+ textValue: "delete"
56
+ }, (0, _react2.jsx)(_index.Text, {
57
+ color: "critical.bright"
58
+ }, "Delete")))))));
59
+ };
31
60
 
32
61
  // **********
33
62
  // Unit tests
@@ -252,4 +281,24 @@ test('should not show focus ring (is-focused class) on radio buttons when clicke
252
281
  expect(radioB).toBeChecked();
253
282
  expect(labelA).not.toHaveClass('is-focused');
254
283
  expect(labelB).not.toHaveClass('is-focused');
255
- });
284
+ });
285
+ test('popover menu onAction is called when menu is inside modal', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
286
+ var button, option1Text;
287
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
288
+ while (1) switch (_context.prev = _context.next) {
289
+ case 0:
290
+ getModalWithPopoverMenu();
291
+ button = _testWrapper.screen.getByText(buttonText);
292
+ _userEvent["default"].click(button);
293
+ _context.next = 5;
294
+ return _testWrapper.screen.findByText(option1);
295
+ case 5:
296
+ option1Text = _context.sent;
297
+ _userEvent["default"].click(option1Text);
298
+ expect(onAction).toHaveBeenCalled();
299
+ case 8:
300
+ case "end":
301
+ return _context.stop();
302
+ }
303
+ }, _callee);
304
+ })));
@@ -414,7 +414,6 @@ var DefaultMultivaluesField = /*#__PURE__*/(0, _react.forwardRef)(function (prop
414
414
  }, (0, _react2.jsx)(_.Badge, (0, _extends2["default"])({
415
415
  key: item.key,
416
416
  role: "presentation",
417
- bg: "active",
418
417
  variant: "selectedItemBadge",
419
418
  label: item.name,
420
419
  slots: item.slots
@@ -30,10 +30,11 @@ var _fill = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stabl
30
30
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
31
31
  var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
32
32
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/asyncToGenerator"));
33
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
34
33
  var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
34
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
35
35
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
36
36
  var _react = _interopRequireWildcard(require("react"));
37
+ var _PlusCircleMultipleOutlineIcon = _interopRequireDefault(require("@pingux/mdi-react/PlusCircleMultipleOutlineIcon"));
37
38
  var _i18n = require("@react-aria/i18n");
38
39
  var _storybookDocsLayout = _interopRequireDefault(require("../../../.storybook/storybookDocsLayout"));
39
40
  var _users = require("../../api/users");
@@ -120,99 +121,6 @@ var _default = {
120
121
  }
121
122
  };
122
123
  exports["default"] = _default;
123
- var VariableIcon = function VariableIcon(props) {
124
- return (0, _react2.jsx)("svg", (0, _extends2["default"])({
125
- width: "16",
126
- height: "16",
127
- viewBox: "0 0 16 16",
128
- fill: "none",
129
- xmlns: "http://www.w3.org/2000/svg",
130
- "aria-labelledby": "variable-icon-title"
131
- }, props), (0, _react2.jsx)("title", {
132
- id: "variable-icon-title"
133
- }, "Variable Icon"), (0, _react2.jsx)("g", {
134
- clipPath: "url(#clip0_709_18965)"
135
- }, (0, _react2.jsx)("circle", {
136
- cx: "8",
137
- cy: "8",
138
- r: "7.5",
139
- fill: "white",
140
- stroke: "#7AC7F2"
141
- }), (0, _react2.jsx)("path", {
142
- d: "M11.5042 4.25C12.0833 5.37917 12.3125 6.68333 12.1667 8C12.0833 9.31667 11.625 10.6208 10.8458 11.75L10.2083 11.3333C10.8792 10.3208 11.2708 9.16667 11.3333 8C11.475 6.83333 11.2875 5.67917 10.7917 4.66667L11.5042 4.25ZM5.15416 4.25L5.79166 4.66667C5.12083 5.67917 4.72916 6.83333 4.66666 8C4.525 9.16667 4.71666 10.3208 5.20833 11.3333L4.50416 11.75C3.92083 10.6208 3.6875 9.32083 3.83333 8C3.91666 6.68333 4.375 5.37917 5.15416 4.25ZM8.03333 7.45L9 6.10417H10.0542L8.47916 8.1875L9.39583 10.2375H8.45416L7.87916 8.83333L6.86666 10.2208H5.81666L7.44166 8.0875L6.55416 6.10417H7.5L8.03333 7.45Z",
143
- fill: "#7AC7F2"
144
- })), (0, _react2.jsx)("defs", null, (0, _react2.jsx)("clipPath", {
145
- id: "clip0_709_18965"
146
- }, (0, _react2.jsx)("rect", {
147
- width: "16",
148
- height: "16",
149
- fill: "white"
150
- }))));
151
- };
152
- var HTMLIcon = function HTMLIcon(props) {
153
- return (0, _react2.jsx)("svg", (0, _extends2["default"])({
154
- width: "16",
155
- height: "16",
156
- viewBox: "0 0 16 16",
157
- fill: "none",
158
- xmlns: "http://www.w3.org/2000/svg",
159
- "aria-labelledby": "html-icon-title"
160
- }, props), (0, _react2.jsx)("title", {
161
- id: "html-icon-title"
162
- }, "HTML Icon"), (0, _react2.jsx)("g", {
163
- clipPath: "url(#clip0_709_18936)"
164
- }, (0, _react2.jsx)("circle", {
165
- cx: "8",
166
- cy: "8",
167
- r: "7.5",
168
- fill: "white",
169
- stroke: "#2E5EA6"
170
- }), (0, _react2.jsx)("g", {
171
- clipPath: "url(#clip1_709_18936)"
172
- }, (0, _react2.jsx)("path", {
173
- d: "M9.81667 8.83325C9.85 8.55825 9.875 8.28325 9.875 7.99992C9.875 7.71659 9.85 7.44159 9.81667 7.16659H11.225C11.2917 7.43325 11.3333 7.71242 11.3333 7.99992C11.3333 8.28742 11.2917 8.56659 11.225 8.83325H9.81667ZM9.07917 11.1499C9.32917 10.6874 9.52084 10.1874 9.65417 9.66659H10.8833C10.4833 10.3541 9.84584 10.8874 9.07917 11.1499ZM8.975 8.83325H7.025C6.98334 8.55825 6.95834 8.28325 6.95834 7.99992C6.95834 7.71659 6.98334 7.43742 7.025 7.16659H8.975C9.0125 7.43742 9.04167 7.71659 9.04167 7.99992C9.04167 8.28325 9.0125 8.55825 8.975 8.83325ZM8 11.3166C7.65417 10.8166 7.375 10.2624 7.20417 9.66659H8.79584C8.625 10.2624 8.34584 10.8166 8 11.3166ZM6.33334 6.33325H5.11667C5.5125 5.64159 6.15417 5.10825 6.91667 4.84992C6.66667 5.31242 6.47917 5.81242 6.33334 6.33325ZM5.11667 9.66659H6.33334C6.47917 10.1874 6.66667 10.6874 6.91667 11.1499C6.15417 10.8874 5.5125 10.3541 5.11667 9.66659ZM4.775 8.83325C4.70834 8.56659 4.66667 8.28742 4.66667 7.99992C4.66667 7.71242 4.70834 7.43325 4.775 7.16659H6.18334C6.15 7.44159 6.125 7.71659 6.125 7.99992C6.125 8.28325 6.15 8.55825 6.18334 8.83325H4.775ZM8 4.67909C8.34584 5.17909 8.625 5.73742 8.79584 6.33325H7.20417C7.375 5.73742 7.65417 5.17909 8 4.67909ZM10.8833 6.33325H9.65417C9.52084 5.81242 9.32917 5.31242 9.07917 4.84992C9.84584 5.11242 10.4833 5.64159 10.8833 6.33325ZM8 3.83325C5.69584 3.83325 3.83334 5.70825 3.83334 7.99992C3.83334 9.10499 4.27232 10.1648 5.05372 10.9462C5.44064 11.3331 5.89996 11.64 6.40549 11.8494C6.91101 12.0588 7.45283 12.1666 8 12.1666C9.10507 12.1666 10.1649 11.7276 10.9463 10.9462C11.7277 10.1648 12.1667 9.10499 12.1667 7.99992C12.1667 7.45274 12.0589 6.91093 11.8495 6.4054C11.6401 5.89988 11.3332 5.44055 10.9463 5.05364C10.5594 4.66673 10.1 4.35982 9.59452 4.15042C9.08899 3.94103 8.54718 3.83325 8 3.83325Z",
174
- fill: "#4660A2"
175
- }))), (0, _react2.jsx)("g", {
176
- clipPath: "url(#clip2_709_18936)"
177
- }, (0, _react2.jsx)("circle", {
178
- cx: "8",
179
- cy: "8",
180
- r: "7.5",
181
- fill: "white",
182
- stroke: "#2E5EA6"
183
- }), (0, _react2.jsx)("g", {
184
- clipPath: "url(#clip3_709_18936)"
185
- }, (0, _react2.jsx)("path", {
186
- d: "M9.81667 8.83325C9.85 8.55825 9.875 8.28325 9.875 7.99992C9.875 7.71659 9.85 7.44159 9.81667 7.16659H11.225C11.2917 7.43325 11.3333 7.71242 11.3333 7.99992C11.3333 8.28742 11.2917 8.56659 11.225 8.83325H9.81667ZM9.07917 11.1499C9.32917 10.6874 9.52084 10.1874 9.65417 9.66659H10.8833C10.4833 10.3541 9.84584 10.8874 9.07917 11.1499ZM8.975 8.83325H7.025C6.98334 8.55825 6.95834 8.28325 6.95834 7.99992C6.95834 7.71659 6.98334 7.43742 7.025 7.16659H8.975C9.0125 7.43742 9.04167 7.71659 9.04167 7.99992C9.04167 8.28325 9.0125 8.55825 8.975 8.83325ZM8 11.3166C7.65417 10.8166 7.375 10.2624 7.20417 9.66659H8.79584C8.625 10.2624 8.34584 10.8166 8 11.3166ZM6.33334 6.33325H5.11667C5.5125 5.64159 6.15417 5.10825 6.91667 4.84992C6.66667 5.31242 6.47917 5.81242 6.33334 6.33325ZM5.11667 9.66659H6.33334C6.47917 10.1874 6.66667 10.6874 6.91667 11.1499C6.15417 10.8874 5.5125 10.3541 5.11667 9.66659ZM4.775 8.83325C4.70834 8.56659 4.66667 8.28742 4.66667 7.99992C4.66667 7.71242 4.70834 7.43325 4.775 7.16659H6.18334C6.15 7.44159 6.125 7.71659 6.125 7.99992C6.125 8.28325 6.15 8.55825 6.18334 8.83325H4.775ZM8 4.67909C8.34584 5.17909 8.625 5.73742 8.79584 6.33325H7.20417C7.375 5.73742 7.65417 5.17909 8 4.67909ZM10.8833 6.33325H9.65417C9.52084 5.81242 9.32917 5.31242 9.07917 4.84992C9.84584 5.11242 10.4833 5.64159 10.8833 6.33325ZM8 3.83325C5.69584 3.83325 3.83334 5.70825 3.83334 7.99992C3.83334 9.10499 4.27232 10.1648 5.05372 10.9462C5.44064 11.3331 5.89996 11.64 6.40549 11.8494C6.91101 12.0588 7.45283 12.1666 8 12.1666C9.10507 12.1666 10.1649 11.7276 10.9463 10.9462C11.7277 10.1648 12.1667 9.10499 12.1667 7.99992C12.1667 7.45274 12.0589 6.91093 11.8495 6.4054C11.6401 5.89988 11.3332 5.44055 10.9463 5.05364C10.5594 4.66673 10.1 4.35982 9.59452 4.15042C9.08899 3.94103 8.54718 3.83325 8 3.83325Z",
187
- fill: "#4660A2"
188
- }))), (0, _react2.jsx)("defs", null, (0, _react2.jsx)("clipPath", {
189
- className: "clip0_709_18936"
190
- }, (0, _react2.jsx)("rect", {
191
- width: "16",
192
- height: "16",
193
- fill: "white"
194
- })), (0, _react2.jsx)("clipPath", {
195
- className: "clip1_709_18936"
196
- }, (0, _react2.jsx)("rect", {
197
- width: "10",
198
- height: "10",
199
- fill: "white",
200
- transform: "translate(3 3)"
201
- })), (0, _react2.jsx)("clipPath", {
202
- className: "clip2_709_18936"
203
- }, (0, _react2.jsx)("rect", {
204
- width: "16",
205
- height: "16",
206
- fill: "white"
207
- })), (0, _react2.jsx)("clipPath", {
208
- className: "clip3_709_18936"
209
- }, (0, _react2.jsx)("rect", {
210
- width: "10",
211
- height: "10",
212
- fill: "white",
213
- transform: "translate(3 3)"
214
- }))));
215
- };
216
124
  var items = [{
217
125
  id: 1,
218
126
  name: 'Aardvark',
@@ -309,15 +217,14 @@ var itemsWithSlots = [{
309
217
  name: 'Aardvark',
310
218
  key: 'Aardvark',
311
219
  badgeProps: {
312
- variant: 'itemBadgeWithSlot',
313
- bg: 'white'
220
+ variant: 'itemBadgeWithSlot'
314
221
  },
315
222
  buttonProps: {
316
223
  variant: 'badgeDeleteButton'
317
224
  },
318
225
  slots: {
319
226
  leftIcon: (0, _react2.jsx)(_index.Icon, {
320
- icon: VariableIcon,
227
+ icon: _PlusCircleMultipleOutlineIcon["default"],
321
228
  size: 16
322
229
  })
323
230
  }
@@ -326,15 +233,14 @@ var itemsWithSlots = [{
326
233
  name: 'Kangaroo',
327
234
  key: 'Kangaroo',
328
235
  badgeProps: {
329
- variant: 'itemBadgeWithSlot',
330
- bg: 'white'
236
+ variant: 'itemBadgeWithSlot'
331
237
  },
332
238
  buttonProps: {
333
239
  variant: 'badgeDeleteButton'
334
240
  },
335
241
  slots: {
336
242
  leftIcon: (0, _react2.jsx)(_index.Icon, {
337
- icon: HTMLIcon,
243
+ icon: _PlusCircleMultipleOutlineIcon["default"],
338
244
  size: 16
339
245
  })
340
246
  }
@@ -343,15 +249,14 @@ var itemsWithSlots = [{
343
249
  name: 'Snake',
344
250
  key: 'Snake',
345
251
  badgeProps: {
346
- variant: 'itemBadgeWithSlot',
347
- bg: 'white'
252
+ variant: 'itemBadgeWithSlot'
348
253
  },
349
254
  buttonProps: {
350
255
  variant: 'badgeDeleteButton'
351
256
  },
352
257
  slots: {
353
258
  leftIcon: (0, _react2.jsx)(_index.Icon, {
354
- icon: HTMLIcon,
259
+ icon: _PlusCircleMultipleOutlineIcon["default"],
355
260
  size: 16
356
261
  })
357
262
  }
@@ -1,14 +1,4 @@
1
1
  import * as React from 'react';
2
- import type { OverlayTriggerState } from 'react-stately';
3
- import type { AriaPopoverProps } from '@react-aria/overlays';
4
- export interface PopoverProps extends Omit<AriaPopoverProps, 'popoverRef'> {
5
- children?: React.ReactNode;
6
- state: OverlayTriggerState;
7
- className?: string;
8
- popoverRef?: React.RefObject<HTMLDivElement>;
9
- style?: React.CSSProperties;
10
- width?: string | number;
11
- 'data-testid'?: string;
12
- }
2
+ import { PopoverProps } from '../../types';
13
3
  declare const Popover: (props: PopoverProps) => React.JSX.Element | null;
14
4
  export default Popover;
@@ -22,23 +22,29 @@ var React = _interopRequireWildcard(require("react"));
22
22
  var _overlays = require("@react-aria/overlays");
23
23
  var _hooks = require("../../hooks");
24
24
  var _Box = _interopRequireDefault(require("../Box"));
25
+ var _PopoverContainer = require("../PopoverContainer");
25
26
  var _react2 = require("@emotion/react");
26
- var _excluded = ["popoverRef", "state", "children", "className", "isNonModal", "width"];
27
+ var _excluded = ["arrowProps", "arrowCrossOffset", "direction", "popoverRef", "state", "children", "className", "isNonModal", "hasNoArrow", "width"];
27
28
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
28
29
  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; }
29
30
  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; }
30
31
  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; }
31
32
  var Popover = function Popover(props) {
32
33
  var ref = React.useRef(null);
33
- var _props$popoverRef = props.popoverRef,
34
+ var arrowProps = props.arrowProps,
35
+ arrowCrossOffset = props.arrowCrossOffset,
36
+ direction = props.direction,
37
+ _props$popoverRef = props.popoverRef,
34
38
  popoverRef = _props$popoverRef === void 0 ? ref : _props$popoverRef,
35
39
  state = props.state,
36
40
  children = props.children,
37
41
  className = props.className,
38
42
  isNonModal = props.isNonModal,
43
+ hasNoArrow = props.hasNoArrow,
39
44
  width = props.width,
40
45
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
41
46
  var _usePopover = (0, _overlays.usePopover)(_objectSpread(_objectSpread({}, props), {}, {
47
+ offset: 5,
42
48
  popoverRef: popoverRef
43
49
  }), state),
44
50
  popoverProps = _usePopover.popoverProps,
@@ -57,9 +63,10 @@ var Popover = function Popover(props) {
57
63
  className: classNames,
58
64
  role: "presentation",
59
65
  width: width
60
- }, popoverProps, others), !isNonModal && (0, _react2.jsx)(_overlays.DismissButton, {
61
- onDismiss: state.close
62
- }), children, (0, _react2.jsx)(_overlays.DismissButton, {
66
+ }, popoverProps, others), children, hasNoArrow ? null : (0, _react2.jsx)(_PopoverContainer.PopoverArrow, (0, _extends2["default"])({}, arrowProps, {
67
+ arrowCrossOffset: arrowCrossOffset,
68
+ direction: direction
69
+ })), (0, _react2.jsx)(_overlays.DismissButton, {
63
70
  onDismiss: state.close
64
71
  })));
65
72
  };
@@ -24,8 +24,7 @@ var _reactAria = require("react-aria");
24
24
  var _reactStately = require("react-stately");
25
25
  var _interactions = require("@react-aria/interactions");
26
26
  var _MenuContext = require("../../context/MenuContext");
27
- var _hooks = require("../../hooks");
28
- var _PopoverContainer = _interopRequireDefault(require("../PopoverContainer"));
27
+ var _Popover = _interopRequireDefault(require("../Popover/Popover"));
29
28
  var _react2 = require("@emotion/react");
30
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); }
31
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; }
@@ -33,7 +32,6 @@ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (
33
32
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context2, _context3; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context2 = ownKeys(Object(source), !0)).call(_context2, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context3 = ownKeys(Object(source))).call(_context3, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
34
33
  var PopoverMenu = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
35
34
  var _context;
36
- var menuPopoverRef = (0, _hooks.useLocalOrForwardRef)(ref);
37
35
  var triggerRef = (0, _react.useRef)(null);
38
36
  var menuRef = (0, _react.useRef)(null);
39
37
  var children = props.children,
@@ -57,20 +55,6 @@ var PopoverMenu = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
57
55
  var _useMenuTrigger = (0, _reactAria.useMenuTrigger)({}, state, triggerRef),
58
56
  menuTriggerProps = _useMenuTrigger.menuTriggerProps,
59
57
  menuProps = _useMenuTrigger.menuProps;
60
- var _useOverlayPosition = (0, _reactAria.useOverlayPosition)({
61
- targetRef: triggerRef,
62
- overlayRef: menuPopoverRef,
63
- scrollRef: menuRef,
64
- offset: 5,
65
- placement: (0, _concat["default"])(_context = "".concat(direction, " ")).call(_context, align),
66
- // Our API preference is for default false so we invert this since it should be default true
67
- shouldFlip: !isNotFlippable,
68
- isOpen: state.isOpen,
69
- onClose: state.close,
70
- shouldUpdatePosition: true
71
- }),
72
- positionProps = _useOverlayPosition.overlayProps,
73
- placement = _useOverlayPosition.placement;
74
58
 
75
59
  /* eslint-disable react/jsx-no-constructed-context-values */
76
60
  var menuContext = _objectSpread(_objectSpread({}, menuProps), {}, {
@@ -88,22 +72,23 @@ var PopoverMenu = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
88
72
  }), menu, (0, _react2.jsx)(_reactAria.DismissButton, {
89
73
  onDismiss: state.close
90
74
  }));
75
+ var placement = (0, _concat["default"])(_context = "".concat(direction, " ")).call(_context, align);
91
76
  return (0, _react2.jsx)(_react["default"].Fragment, null, (0, _react2.jsx)(_interactions.PressResponder, (0, _extends2["default"])({}, menuTriggerProps, {
92
77
  ref: triggerRef,
93
78
  isPressed: state.isOpen
94
79
  }), menuTrigger), (0, _react2.jsx)(_MenuContext.MenuContext.Provider, {
95
80
  value: menuContext
96
- }, (0, _react2.jsx)(_PopoverContainer["default"], (0, _extends2["default"])({
97
- isOpen: state.isOpen,
98
- ref: menuPopoverRef,
81
+ }, (0, _react2.jsx)(_reactAria.OverlayContainer, null, (0, _react2.jsx)(_Popover["default"], (0, _extends2["default"])({
99
82
  placement: placement,
100
- onClose: state.close,
101
- hasNoArrow: hasNoArrow,
102
- isDismissable: true,
103
- isNonModal: true
104
- }, positionProps, menuProps, {
105
- role: "dialog"
106
- }), contents)));
83
+ hasNoArrow: hasNoArrow
84
+ }, menuProps, {
85
+ "data-popover-placement": direction,
86
+ "data-testid": "popover-container",
87
+ role: "presentation",
88
+ triggerRef: triggerRef,
89
+ state: state,
90
+ direction: direction
91
+ }), contents))));
107
92
  });
108
93
  PopoverMenu.defaultProps = {
109
94
  align: 'middle',
@@ -67,7 +67,9 @@ describe('useOverlappingMenuHoverState', function () {
67
67
  case 0:
68
68
  getComponent();
69
69
  _context.next = 3;
70
- return _userEvent["default"].hover(_react2.screen.getByRole('listitem'));
70
+ return _userEvent["default"].hover(_react2.screen.getByRole('listitem', {
71
+ hidden: true
72
+ }));
71
73
  case 3:
72
74
  _react2.screen.getByText(IS_HOVERED);
73
75
  case 4:
@@ -106,7 +108,9 @@ describe('useOverlappingMenuHoverState', function () {
106
108
  return _userEvent["default"].click(_react2.screen.getByRole('button'));
107
109
  case 3:
108
110
  _context3.next = 5;
109
- return _userEvent["default"].unhover(_react2.screen.getByRole('listitem'));
111
+ return _userEvent["default"].unhover(_react2.screen.getByRole('listitem', {
112
+ hidden: true
113
+ }));
110
114
  case 5:
111
115
  expect(_react2.screen.queryByText(IS_HOVERED)).not.toBeInTheDocument();
112
116
  case 6:
@@ -151,7 +155,9 @@ describe('useOverlappingMenuHoverState', function () {
151
155
  return _userEvent["default"].hover(_react2.screen.getByRole('menu'));
152
156
  case 5:
153
157
  _context5.next = 7;
154
- return _userEvent["default"].hover(_react2.screen.getByRole('listitem'));
158
+ return _userEvent["default"].hover(_react2.screen.getByRole('listitem', {
159
+ hidden: true
160
+ }));
155
161
  case 7:
156
162
  _react2.screen.getByText(IS_HOVERED);
157
163
  case 8:
@@ -197,10 +203,14 @@ describe('useOverlappingMenuHoverState', function () {
197
203
  return _userEvent["default"].hover(_react2.screen.getByRole('menu'));
198
204
  case 5:
199
205
  _context7.next = 7;
200
- return _userEvent["default"].hover(_react2.screen.getByRole('listitem'));
206
+ return _userEvent["default"].hover(_react2.screen.getByRole('listitem', {
207
+ hidden: true
208
+ }));
201
209
  case 7:
202
210
  _context7.next = 9;
203
- return _userEvent["default"].unhover(_react2.screen.getByRole('listitem'));
211
+ return _userEvent["default"].unhover(_react2.screen.getByRole('listitem', {
212
+ hidden: true
213
+ }));
204
214
  case 9:
205
215
  expect(_react2.screen.queryByText(IS_HOVERED)).not.toBeInTheDocument();
206
216
  case 10:
@@ -339,5 +339,14 @@ declare const buttons: {
339
339
  };
340
340
  };
341
341
  };
342
+ listBoxLink: {
343
+ color: string;
344
+ '&.is-pressed': {
345
+ color: string;
346
+ };
347
+ '&.is-focused': {
348
+ color: string;
349
+ };
350
+ };
342
351
  };
343
352
  export default buttons;