react-magma-dom 4.10.0-next.4 → 4.10.0-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -2485,6 +2485,20 @@ var _reactNodeToString = function reactNodeToString(node) {
2485
2485
  }
2486
2486
  return '';
2487
2487
  };
2488
+ function collectTextFromReactNode(node) {
2489
+ var result = [];
2490
+ React__default.Children.forEach(node, function (child) {
2491
+ if (child === null || typeof child === 'boolean') {
2492
+ return;
2493
+ }
2494
+ if (typeof child === 'string' || typeof child === 'number') {
2495
+ result.push(child);
2496
+ } else if (React__default.isValidElement(child)) {
2497
+ result.push(collectTextFromReactNode(child.props.children));
2498
+ }
2499
+ });
2500
+ return result.join(' ');
2501
+ }
2488
2502
 
2489
2503
  var _excluded = ["alignment", "children", "color", "isInverse", "orientation", "noSpace", "size", "testId", "textTransform", "variant"];
2490
2504
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
@@ -11572,11 +11586,59 @@ var DropdownMenuItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
11572
11586
  });
11573
11587
  DropdownMenuItem.displayName = 'DropdownMenuItem';
11574
11588
 
11589
+ var useDeviceDetect = function useDeviceDetect() {
11590
+ var userAgent = useMemo(function () {
11591
+ return navigator.userAgent.toLowerCase();
11592
+ }, []);
11593
+ var isSafari = useMemo(function () {
11594
+ return /^((?!chrome|android).)*safari/i.test(userAgent);
11595
+ }, [userAgent]);
11596
+ var isChrome = useMemo(function () {
11597
+ return /chrome|crios/i.test(userAgent) && !/edge|edg/i.test(userAgent);
11598
+ }, [userAgent]);
11599
+ var isFirefox = useMemo(function () {
11600
+ return /firefox|fxios/i.test(userAgent);
11601
+ }, [userAgent]);
11602
+ var isEdge = useMemo(function () {
11603
+ return /edge|edg/i.test(userAgent);
11604
+ }, [userAgent]);
11605
+ var isMobile = useMemo(function () {
11606
+ return /mobi|android|touch|mini/i.test(userAgent);
11607
+ }, [userAgent]);
11608
+ var isWindows = useMemo(function () {
11609
+ return /windows nt/.test(userAgent);
11610
+ }, [userAgent]);
11611
+ var isMacOS = useMemo(function () {
11612
+ return /macintosh/.test(userAgent);
11613
+ }, [userAgent]);
11614
+ var isAndroid = useMemo(function () {
11615
+ return /android/.test(userAgent);
11616
+ }, [userAgent]);
11617
+ var isIOS = useMemo(function () {
11618
+ return /iphone|ipad|ipod/.test(userAgent);
11619
+ }, [userAgent]);
11620
+ var isLinux = useMemo(function () {
11621
+ return /linux/.test(userAgent) && !isAndroid;
11622
+ }, [userAgent, isAndroid]);
11623
+ return {
11624
+ isSafari: isSafari,
11625
+ isChrome: isChrome,
11626
+ isFirefox: isFirefox,
11627
+ isEdge: isEdge,
11628
+ isMobile: isMobile,
11629
+ isWindows: isWindows,
11630
+ isMacOS: isMacOS,
11631
+ isLinux: isLinux,
11632
+ isAndroid: isAndroid,
11633
+ isIOS: isIOS
11634
+ };
11635
+ };
11636
+
11575
11637
  var _excluded$O = ["children", "icon", "to"];
11576
11638
  var StyledItem$3 = /*#__PURE__*/_styled("a", {
11577
11639
  target: "e1b21r9q0",
11578
11640
  label: "StyledItem"
11579
- })(MenuItemStyles, " text-decoration:none;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRyb3Bkb3duTWVudU5hdkl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU00QiIsImZpbGUiOiJEcm9wZG93bk1lbnVOYXZJdGVtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbnRleHQgfSBmcm9tICcuL0Ryb3Bkb3duJztcclxuaW1wb3J0IHsgTWVudUl0ZW1TdHlsZXMsIEljb25XcmFwcGVyIH0gZnJvbSAnLi9Ecm9wZG93bk1lbnVJdGVtJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgdXNlRm9ya2VkUmVmIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5jb25zdCBTdHlsZWRJdGVtID0gc3R5bGVkLmEgYFxuICAke01lbnVJdGVtU3R5bGVzfVxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5gO1xyXG5leHBvcnQgY29uc3QgRHJvcGRvd25NZW51TmF2SXRlbSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGljb24sIHRvLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBvd25SZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRHJvcGRvd25Db250ZXh0KTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIG93blJlZik7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnRleHQucmVnaXN0ZXJEcm9wZG93bk1lbnVJdGVtKGNvbnRleHQuaXRlbVJlZkFycmF5LCBvd25SZWYpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZEl0ZW0sIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IGhyZWY6IHRvLCBpc0ZpeGVkV2lkdGg6IGNvbnRleHQuaXNGaXhlZFdpZHRoLCBpc0ludmVyc2U6IGNvbnRleHQuaXNJbnZlcnNlLCByZWY6IHJlZiwgcm9sZTogXCJtZW51aXRlbVwiLCB0YWJJbmRleDogLTEsIHRoZW1lOiB0aGVtZSB9KSxcclxuICAgICAgICBpY29uICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgdGhlbWU6IHRoZW1lIH0sIGljb24pLFxyXG4gICAgICAgIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG5Ecm9wZG93bk1lbnVOYXZJdGVtLmRpc3BsYXlOYW1lID0gJ0Ryb3Bkb3duTWVudU5hdkl0ZW0nO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ecm9wZG93bk1lbnVOYXZJdGVtLmpzLm1hcCJdfQ== */"));
11641
+ })(MenuItemStyles, " text-decoration:none;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRyb3Bkb3duTWVudU5hdkl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU80QiIsImZpbGUiOiJEcm9wZG93bk1lbnVOYXZJdGVtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbnRleHQgfSBmcm9tICcuL0Ryb3Bkb3duJztcclxuaW1wb3J0IHsgTWVudUl0ZW1TdHlsZXMsIEljb25XcmFwcGVyIH0gZnJvbSAnLi9Ecm9wZG93bk1lbnVJdGVtJztcclxuaW1wb3J0IHVzZURldmljZURldGVjdCBmcm9tICcuLi8uLi9ob29rcy91c2VEZXZpY2VEZXRlY3QnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYsIGNvbGxlY3RUZXh0RnJvbVJlYWN0Tm9kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuY29uc3QgU3R5bGVkSXRlbSA9IHN0eWxlZC5hIGBcbiAgJHtNZW51SXRlbVN0eWxlc31cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuYDtcclxuZXhwb3J0IGNvbnN0IERyb3Bkb3duTWVudU5hdkl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBpY29uLCB0bywgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qgb3duUmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBSZWFjdC51c2VDb250ZXh0KERyb3Bkb3duQ29udGV4dCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBvd25SZWYpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb250ZXh0LnJlZ2lzdGVyRHJvcGRvd25NZW51SXRlbShjb250ZXh0Lml0ZW1SZWZBcnJheSwgb3duUmVmKTtcclxuICAgIH0sIFtdKTtcclxuICAgIGNvbnN0IHsgaXNGaXJlZm94LCBpc1dpbmRvd3MgfSA9IHVzZURldmljZURldGVjdCgpO1xyXG4gICAgY29uc3QgYXJpYUxhYmVsID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzV2luZG93cyAmJiBpc0ZpcmVmb3gpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGVkVGV4dCA9IGNvbGxlY3RUZXh0RnJvbVJlYWN0Tm9kZShjaGlsZHJlbik7XHJcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0ZWRUZXh0Lmxlbmd0aCA+IDAgPyBjb2xsZWN0ZWRUZXh0IDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSwgW10pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZEl0ZW0sIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IGhyZWY6IHRvLCBpc0ZpeGVkV2lkdGg6IGNvbnRleHQuaXNGaXhlZFdpZHRoLCBpc0ludmVyc2U6IGNvbnRleHQuaXNJbnZlcnNlLCByZWY6IHJlZiwgcm9sZTogXCJtZW51aXRlbVwiLCB0YWJJbmRleDogLTEsIHRoZW1lOiB0aGVtZSwgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCB9KSxcclxuICAgICAgICBpY29uICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgdGhlbWU6IHRoZW1lIH0sIGljb24pLFxyXG4gICAgICAgIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG5Ecm9wZG93bk1lbnVOYXZJdGVtLmRpc3BsYXlOYW1lID0gJ0Ryb3Bkb3duTWVudU5hdkl0ZW0nO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ecm9wZG93bk1lbnVOYXZJdGVtLmpzLm1hcCJdfQ== */"));
11580
11642
  var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
11581
11643
  var children = props.children,
11582
11644
  icon = props.icon,
@@ -11589,6 +11651,16 @@ var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef)
11589
11651
  useEffect(function () {
11590
11652
  context.registerDropdownMenuItem(context.itemRefArray, ownRef);
11591
11653
  }, []);
11654
+ var _useDeviceDetect = useDeviceDetect(),
11655
+ isFirefox = _useDeviceDetect.isFirefox,
11656
+ isWindows = _useDeviceDetect.isWindows;
11657
+ var ariaLabel = useMemo(function () {
11658
+ if (isWindows && isFirefox) {
11659
+ var collectedText = collectTextFromReactNode(children);
11660
+ return collectedText.length > 0 ? collectedText : undefined;
11661
+ }
11662
+ return undefined;
11663
+ }, []);
11592
11664
  return createElement(StyledItem$3, Object.assign({}, other, {
11593
11665
  href: to,
11594
11666
  isFixedWidth: context.isFixedWidth,
@@ -11596,7 +11668,8 @@ var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef)
11596
11668
  ref: ref,
11597
11669
  role: "menuitem",
11598
11670
  tabIndex: -1,
11599
- theme: theme
11671
+ theme: theme,
11672
+ "aria-label": ariaLabel
11600
11673
  }), icon && createElement(IconWrapper$7, {
11601
11674
  theme: theme
11602
11675
  }, icon), children);